鱼C论坛

 找回密码
 立即注册
查看: 2443|回复: 3

请高人指点

[复制链接]
发表于 2012-8-31 14:18:38 | 显示全部楼层 |阅读模式
5鱼币
第一   (错误)

mov bx, a0h

mov cl, ds:[si]
jcxz return
mov es:[bx], cl
mov al, 02
mov es:[bx+1], al
add bx, 2
inc si


第二   (正确)

mov bx, a0h
mov di, 0

mov cl, ds:[si]
jcxz return
mov es:[bx+di], cl
mov al, 02
mov es:[bx+di+1], al
add di, 2
inc si

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

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-6 11:05:59 | 显示全部楼层
这是内存寻址机制造成的,回头翻翻那些快要忘的基础知识。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-6 18:49:43 | 显示全部楼层
呵呵 ~   我知道是寻址方式变了, 但是我是问bx  最终的值   和  bx+di 最终的值是一样的,  也就是说他们是访问同一个内存, 但是不同的是只是寻址的方式不一样,所以我想问这又是为什么呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-6 19:16:01 | 显示全部楼层
有木有全一点的代码····呵呵··你这我目测都感觉挺对的啊·········
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 11:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表