检验作业!实验7 P172 帮我看看对吗?
assume cs:codedata 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' ;定义21个字符串,每个字符串占用4字0-53h
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;定义21个DWword双字数据 54-A7H
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800 ;定义21个word字型数据 A8-D1
data ends
table segment
db 21 dup ('year summ ne ?? ') ;定义21个 16字节数据 21组
table ends
code segment
start:mov ax,data
mov ds,ax
mov ax,table
mov es,ax
sub di,di
sub si,si
sub bx,bx
sub bp,bp
mov cx,21
s:
mov ax,ds:
mov es:,ax
mov ax,ds:
mov es:.2,ax
mov ax,ds:.168
mov es:.10,ax
mov ax,ds:
mov es:,ax
mov dx,ds:56h
mov es:7,dx
div word ptr es:.10
mov es:13,ax
add bx,16
add si,4
add di,4
add bp,2
loop s
mov ax,4c00h
int 21h
code ends
end start
以上应该是正确代码!
mov ax,ds:.168我把BP改成DI 为什么不行?
mov es:.10,ax
我知道错误,但是为什么不对呢?
上面程序把以下两条去掉
add bp,2
sub bp,bp
!
第二个 mob es:.10,ax 这里面的数字10代表什么?? 本帖最后由 关键是感觉 于 2011-9-28 17:59 编辑
没人啊!{:5_100:}
seuer126 发表于 2011-9-28 17:07 static/image/common/back.gif
第二个 mob es:.10,ax 这里面的数字10代表什么??
mov ax,ds:.168
mov es:.10,ax
10代表tabie段每行的A,也可以0A
关键是感觉 发表于 2011-9-28 17:59 static/image/common/back.gif
每行是16个,这个跟内存里分配的是一样的,这样看的更清晰
seuer126 发表于 2011-9-28 18:01 static/image/common/back.gif
每行是16个,这个跟内存里分配的是一样的,这样看的更清晰
帮我分析下
你先自己仔细思考,这个题目对我们初学者的确有点难。 我明天给你参考答案。 seuer126 发表于 2011-9-28 18:07 static/image/common/back.gif
你先自己仔细思考,这个题目对我们初学者的确有点难。 我明天给你参考答案。
一定哦!
{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:} {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:} {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:} {:5_92:} {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:} {:5_92:} {:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}{:5_92:}
你把BP换成DI的话就和下面的DI冲突了,程序里如果不是对栈操作的话最好不要用BP,这个习惯不好,特别是在32位汇编中BP是要用来在程序的参数传递中取参数和局部变量的 topcookie 发表于 2011-9-28 18:14 static/image/common/back.gif
你把BP换成DI的话就和下面的DI冲突了,程序里如果不是对栈操作的话最好不要用BP,这个习惯不好,特别是在32 ...
我把BP换成DI 没改变DI的值啊。
DI.
DI.
都是常数改变,DI还是=0
虽然后面锁定数据错误,但是我觉得程序应该正常的!
页:
[1]