梦幻羽羽 发表于 2012-8-31 14:18:38

请高人指点

第一   (错误)

mov bx, a0h

mov cl, ds:
jcxz return
mov es:, cl
mov al, 02
mov es:, al
add bx, 2
inc si


第二   (正确)

mov bx, a0h
mov di, 0

mov cl, ds:
jcxz return
mov es:, cl
mov al, 02
mov es:, al
add di, 2
inc si

为什么他们会不一样呢明明他们的寻址的最终结果都一样, 就是【】里的值 是一样的    但是 结果却完全不同。请高人指点,详解谢谢~

星空123 发表于 2012-9-6 11:05:59

这是内存寻址机制造成的,回头翻翻那些快要忘的基础知识。

梦幻羽羽 发表于 2012-9-6 18:49:43

呵呵 ~   我知道是寻址方式变了, 但是我是问bx最终的值   和bx+di 最终的值是一样的,也就是说他们是访问同一个内存, 但是不同的是只是寻址的方式不一样,所以我想问这又是为什么呢?

静雨纷纷 发表于 2012-9-6 19:16:01

有木有全一点的代码····呵呵··你这我目测都感觉挺对的啊·········
页: [1]
查看完整版本: 请高人指点