1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | assume ss:stack, ds:data, cs:code ;堆栈段 stack segment db 20 dup(1);初始化20个字节空间 stack ends ;数据段 data segment db 20 dup(2);初始化20个字节空间 data ends ;代码段 code segment start: ;初始化堆栈寄存器 mov ax, stack mov ss, ax mov sp, 20;复位栈顶 ;初始化数据寄存器 mov ax, data mov ds, ax mov ax, 1122h mov bx, 3344h ;将ax、bx分别进栈 push ax push bx ;根据栈后进先出的原则,可交换ax与bx的值 pop ax;将栈顶数据赋值给ax,当前栈顶为bx的值 pop bx;bx已出栈,当前栈顶为ax的值 ;退出程序 mov ah, 4ch int 21h code ends end start |
汇编简单实现两个数值的交换
Leave a reply