鱼C论坛

 找回密码
 立即注册
查看: 5010|回复: 7

蛋疼的问题,多谢回答.将 al寄存器中的数据送入到10000H内存单元中

[复制链接]
发表于 2012-9-27 19:10:06 | 显示全部楼层 |阅读模式
1鱼币
书上内容:
mov bx, 1000H
mov ds,  bx
mov [0], al
书上是先通过bx寄存器中转,然后把段地址1000H送入到ds段寄存器中 最后将al寄存器中的数据传送到段地址为1000H 偏移地址为0的内存单元里

如果直接传送
mov [10000],al

这样可以不可以?



还有一点就是汇编指令中所有的数字 是不是都是默认为16进制数?为什么书上老是在后面加个H?就我知道 debug里加H会报错 汇编编译器还没接触过 不知道用不用加H指明是16进制?

最佳答案

查看完整内容

mov [10000],al ============= 这样是不行滴!上面格式应隐含了一个段地址:实际 段地址:[偏移地址]..偏移地址最大为0FFFFH...{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-27 19:10:07 | 显示全部楼层
mov [10000],al
=============
这样是不行滴!上面格式应隐含了一个段地址:实际 段地址:[偏移地址]..偏移地址最大为0FFFFH...{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-27 19:11:55 | 显示全部楼层
第一次来到小乌龟的论坛上提问 各位大虾多多关照

顺带给我的汇编启蒙老师问个好{:7_149:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-27 20:06:50 | 显示全部楼层
不行。。。中括号里面只能带便偏移地址。
加h说明是16进制的表示方法,debug里面默认是10进制的表示方法。
先说一下。。。书上的这个例子也只能在debug上行得通,一般是不能在【】加立即数的。。。看到后面就知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-28 21:29:48 | 显示全部楼层
首地址已经默认在ds中了,【10000】就是1000:10000,debug一下就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-29 02:03:39 | 显示全部楼层
我明白了 中括号里面表示的只能是一个偏移地址,而段地址已经默认在ds里面了...

所以我那么表示是不对的~而且偏移地址 只能是16位的 我那个却成了20位~

不知道选谁的答案好 可不可以每个人都给分:lol?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-29 12:19:53 | 显示全部楼层
不可以的,因为[...]是表示偏移地址,并不是段地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-7 12:34:46 | 显示全部楼层
上面那位朋友,debug中默认的是十六进制不是十进制,编译器默认的才是十进制,因为debug中已经默认为十六进制了才不需要再加H的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 14:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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