结构化写入小练习

王爽书172页实验七的题

assume cs:code,ds:data,es:table,ss:stack
data segment
db ’1975′,’1976′,’1977′,’1978′,’1979′,’1980′,’1981′,’1982′,’1983′,’1984′,’1985′,’1986′,’1987′,’1988′,’1989′,’1990′,’1991′,’1992′,’1993′,’1994′,’1995′
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226,11542,14430,15257,17800
data ends
table segment
db 21 dup (‘year summ ne ?? ‘)
table ends
code segment
stack segment
dw    256 dup (?)
stack ends
start:
mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov ax,stack
mov ss,ax
mov bx,0
mov si,0
mov cx,21

s1:    mov al,[bx]
mov es:[si],al
mov al,[bx+1]
mov es:[si+1],al
mov al,[bx+2]
mov es:[si+2],al
mov al,[bx+3]
mov es:[si+3],al
add bx,4
add si,10h
loop s1

mov bx,0
mov si,0
mov cx,21

s2:    mov ax,84[bx]
mov es:5[si],ax
mov ax,84[bx+2]
mov es:7[si],ax
add bx,4
add si,10h
loop s2

mov bx,0
mov si,0
mov cx,21

s5:    mov ax,168[bx]
mov es:0ah[si],ax
add si,10h
add bx,2
loop s5

mov bx,0
mov si,0
mov cx,21

s6:    mov ax,es:5[si]
mov dx,es:7[si]
div word ptr es:0Ah[si]
mov es:0dh[si],ax
add si,10h
loop s6

mov ax,4c00h
int 21h
code ends
end start

调试运行后,查看下内存:

ok,写入正确。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>