实验七,自己写了,在网吧没法debug和生成exe。求测试
assume cs:codesgdata segment
db "1975","1976","1977","1978","1979","1980","1981","1982","1983"
db "1984","1985","1986","1987","1988","1989","1990","1991","1992"
db "1993","1994","1995"
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1943000,2759000,3753000,4649000,5937000
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
data ends
table segment
db 21 dup ("year summ ne ?? ")
table ends
codesg segment
start:
mov ax,data
mov ds,ax
mov ax,table
mov ds,ax
mov bx,0
mov si,0
s: mov cx,21
mov ax,
mov es:,ax
mov ax,
mov es:,ax
mov ax,
mov es:,ax
add si,2
mov ax,
mov es:,ax
mov ax,
mov es:,ax
mov ax,es:
mov dx,es:
div word ptr es:
mov es:,ax
add bx,16
add si,2
loop s
mov ax,4c00h
int 21h
codesg ends
end
本帖最后由 hkcx3000 于 2012-2-23 22:23 编辑
除法溢出了 hkcx3000 发表于 2012-2-23 22:22 static/image/common/back.gif
除法溢出了
这个没学到呢,怎么解决 本帖最后由 莫名其妙 于 2012-2-24 16:16 编辑
人数是DW数据 一次跳4个字节你mov ax, 一次循环跳16个字节 定义个DI mov ax, 每次循环add,di,2
add si,2
mov ax,
mov es:,ax mov es:,ax
mov ax,
mov es:,ax 这里你每循环一次 存入的位置都要在向后移动 一次 题目要求的是固定的位置 上面一句还是正确的下面就不能这样写了应该是mov es:,ax
.......还有这里
mov ax,table
mov ds,ax 是es.....
还有你前面加了start :后面也要
codesg ends
endstart
改完了!~
debug 过了!~
莫名其妙 发表于 2012-2-24 15:50 static/image/common/back.gif
人数是DW数据 一次跳4个字节你mov ax, 一次循环跳16个字节 定义个DI mov ax, 每次循 ...
嗯,谢谢了哈,现在看JMP,跳得头晕。又得搞几天了 s: mov cx,21 错误
页:
[1]