汇编程序17:实验5(6)逆序赋值段数据

 1 assume cs:code
 2 
 3 a segment
 4     dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
 5 a ends
 6 
 7 b segment
 8     dw 0,0,0,0,0,0,0,0
 9 b ends
10 
11 code segment
12     start:
13           mov ax,0020h //13~15行代码在已知安全空间开辟一个大小为20字节的栈,用于后面逆序储存
14           mov ss,ax
15           mov sp,0020h
16           mov ax,a
17           mov ds,ax //定义第一个段
18           mov ax,b
19           mov es,ax //定义第二个段
20           mov bx,0 //20,26行代码代表偏移地址
21           mov cx,8 //21,27行代码用寄存器cx来存放loop次数
22         s:
23           push ds:[bx] //从第一个段入栈
24           add bx,2
25           loop s
26           mov bx,0
27           mov cx,8
28        s0:
29           pop es:[bx] //从第二个段出栈
30           add bx,2
31           loop s0
32     mov ax,4c00h
33     int 21h
34 code ends
35 
36 end start

 

posted on 2018-01-27 20:17  叶倾仙  阅读(193)  评论(0编辑  收藏  举报

导航