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
  • 相关阅读:
    基本类型与引用类型
    局部变量与实例变量
    语句块
    i++与++i
    JAVA基本概念
    网线8根线的排列方式
    Docker容器常用命令
    内存cache使用的场景
    Python爬虫:Xpath语法笔记
    python实现简单的聊天
  • 原文地址:https://www.cnblogs.com/luocodes/p/11939780.html
Copyright © 2011-2022 走看看