代码语言: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的值。