zoukankan      html  css  js  c++  java
  • 二重循环

    汇编实现二重循环有3种方法:

    1.使用寄存器存储CX

    ;将data段中的每个单词改为大写字母
    assume cs:code,ds:data
    data segment
        db 'ibm             ';可看作4行1列的二维数组
        db 'dec             '
        db 'dos             '
        db 'vax             '
    data ends
    code segment
    start:
        mov ax,data
        mov ds,ax
        mov cx,4
        mov bx,0
        s:
            mov dx,cx ;用寄存器存储cx
            mov si,0
           mov cx,3
        s1:
            mov al,[bx+si]
            and al,11011111b
            mov [bx+si],al
            inc si
            loop s1
        add bx,16
        mov cx,dx ;恢复外循环的cx
        loop s
        mov ax,4c00h
        int 21h
    
    code ends
    end start

    2.使用内存单元存储CX

    ;将data段中的每个单词改为大写字母
    assume cs:code,ds:data
    data segment
        db 'ibm             ';可看作4行1列的二维数组
        db 'dec             '
        db 'dos             '
        db 'vax             '
        dw 0
    data ends
    code segment
    start:
        mov ax,data
        mov ds,ax
        mov cx,4
        mov bx,0
        s:
            mov ds:[40h],cx
            mov si,0
           mov cx,3
        s1:
            mov al,[bx+si]
            and al,11011111b
            mov [bx+si],al
            inc si
            loop s1
        add bx,16
        mov cx,ds:[40h]
        loop s
        mov ax,4c00h
        int 21h
    
    code ends
    end start

    3.使用栈段存储CX

    ;将data段中的每个单词改为大写字母
    assume cs:code,ds:data
    data segment
        db 'ibm             ';可看作4行1列的二维数组
        db 'dec             '
        db 'dos             '
        db 'vax             '
    data ends
    
    stack segment
        dw 0,0,0,0,0,0,0,0
    stack ends
    code segment
    start:
        mov ax,data
        mov ds,ax
        mov cx,4
        mov bx,0
        s:
            push cx
            mov si,0
           mov cx,3
        s1:
            mov al,[bx+si]
            and al,11011111b
            mov [bx+si],al
            inc si
            loop s1
        add bx,16
        pop cx
        loop s
        mov ax,4c00h
        int 21h
    
    code ends
    end start
  • 相关阅读:
    Installing Python Modules
    《利用Python 进行数据分析》
    使用Python进行描述性统计
    各种数字证书区别
    数字证书及CA的扫盲介绍
    expect学习笔记及实例详解
    使用openssl命令制作ecc证书
    那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
    Openssl与私有CA搭建
    Openssl编程--源码分析
  • 原文地址:https://www.cnblogs.com/luocodes/p/11939780.html
Copyright © 2011-2022 走看看