使用数据段,栈段,代码段 实现置换功能
0123 0456 0789 0abc 0def 0fed 0cba 0987
0987 0cba 0fed 0def 0abc 0789 0456 0123
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 34 35 36 37 38 39 40 41 |
assume cs:code, ds:data, ss:stack data segment ;数据段 dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment ;栈段 dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 stack ends code segment ;代码段 start: mov ax,stack ;设置栈段 mov ss,ax mov sp,20h mov ax,data ;设置数据段 mov ds,ax mov bx,0 mov cx,8 s: push [bx] ;压栈 add bx,2 loop s mov bx,0 mov cx,8 s0: pop [bx] ;出栈 add bx,2 loop s0 mov ax,4c00h int 21 code ends end start |
转载请注明:exchen's blog » 16位汇编 数据段 栈段 代码段