wish 发表于 2011-10-21 02:35:51

问一个关于段偏移地址的问题

本帖最后由 wish 于 2011-10-21 02:40 编辑

1.
   mov ax,ffffh
   mov ds,ax
   mov bx,6
2.
   mov ax,2000h
   mov ds,ax
   mov bx,1000h


以上BX寄存器同为存放偏移地址,1中的用mov bx,6直接赋值,2中用mov bx,1000h赋值,为什么1中的6后面没用16进制代表的H?而2中却有?一时想不明白,忘懂得朋友指点一下

刚刚自己思考了一下,好像10进制和16进制从1到9都是同样的数 是不是这个原因?

后知淡然 发表于 2011-10-21 08:47:52

刚刚自己思考了一下,好像10进制和16进制从1到9都是同样的数 是不是这个原因

是的。1-9都是一样的。建议都用一种表示方式,比较直观!

754774889 发表于 2011-10-21 09:02:37

个人理解也是这样的

topcookie 发表于 2011-10-21 09:19:26

一个是6一个是1000H=8D,怎么会一样呢

掌心的呵护 发表于 2011-10-21 19:17:22

尽管没有写h,它表示的也是十六进制

z33457236 发表于 2011-10-21 19:19:33

个人理解都是十六进制的:P

cyht33 发表于 2011-10-22 13:55:38

在编译器中加了H表示16进制数据,不加H默认为10进制数据,10进制数据在debug执行的时候会自动转换成16进制数据,你可以把mov bx,6中的6改成10-16之间的数,在debug中运行一下看看,然后再后面加上H再用debug运行一下,你就明白了
页: [1]
查看完整版本: 问一个关于段偏移地址的问题