assume cs:codesg,ds:data
data segment
db 'welcome to masm!'
data ends ;
codesg segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov cx,16
mov si,0
s: mov al,[bx]
mov ah,2h ;绿色
mov es:720h[si],ax
add si,2
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end start
问题:
本程序运行完以后会显示绿色,可是
mov es:720h[si],ax ;这步执行完后,我查看es:0720,为什么查看到的不是ax的值呢?
- [ce54605802] 第一题,注意寄存器的冲突问题 09/15 23:13
- [younggay] 回答正确。 08/18 09:07
- [游客] 那现在这个地方显示的数据是什么数据呢? 07/01 19:55
- [mess] 第一题没问题,只要保证从数据段第1和2个字节是0就可以了。 其他的也没问题,博主继续加油啊~_ 07/01 10:31
- [mess] 答案没问题、 07/01 10:28
- [crazyman] mov es:720h[si],ax ;这步执行完后,我查看es:0720,为什么查看到的不是ax的 07/01 09:26
- [jmuguy] 谢谢你的指导。。。 06/29 13:18
- [younggay] 改过来了,可是结果为什么还是无法显示收入、雇员数。。 ============ 收入和雇员数是不 06/29 13:14
- [jmuguy] 改过来了,可是结果为什么还是无法显示收入、雇员数。。 06/29 12:55
- [游客] 博主的雇员数有问题,再调试调试吧 06/29 10:29
[ crazyman 发表于 2009-07-01 09:26 ]
mov es:720h[si],ax ;这步执行完后,我查看es:0720,为什么查看到的不是ax的值呢?
------------
真理你将ax放入到了显存,而此时你在debug下进行跟踪查看,debug的信息也写入了显存,如果debug的信息和ax写入的显存位置冲突了,那么你ax放入显存的值就会接下来的debug数据给覆盖掉的。
[ 游客 发表于 2009-07-01 19:55 ]
那现在这个地方显示的数据是什么数据呢?