8086汇编语言——交换寄存器中的内容

2020-10-10 15:13:08 浏览数 (1)

代码语言:javascript复制
;交换ax和bx中的值
assume cs:code      ;假设cs的值是code
code segment        ;定义一个段的开始
    mov ax,2000h
    mov ss,ax
    mov sp,0        
    add sp,10       ;在Debug中跟踪执行,可以看到mov ss,ax和mov sp,0是必须一起执行的,不能打断。   
    mov ax,1        ;初始化ax和bx
    mov bx,2
    push ax         ;将ax,bx压栈
    push bx
    pop ax          ;从栈中弹出内容给ax和bx。
    pop bx

    mov ax,4c00h    ;程序返回
    int 21h
code ends           ;段结束
end                 ;告诉汇编器汇编结束。

在Dosbox中debug该代码。

可以看到,成功交换了寄存器AX和BX的值。

0 人点赞