四方上下 发表于 2019-1-20 22:45:20

求助!mov [0],ax这局

这句    mov ,ax    的意思是把ax的值赋给
可是偏移地址啊…偏移地址2c34是什么意思…

四方上下 发表于 2019-1-20 22:52:44

{:5_111:}

jackz007 发表于 2019-1-20 23:54:13

本帖最后由 jackz007 于 2019-1-21 00:13 编辑

       IBM PC 8086 CPU 采用的是 20 位地址总线,内存寻址范围为 00000H - FFFFFH,极限容量是 1 MB。但是,由于数据总线是16位的,我们无法用一个 16 位的值直接表达20位的内存地址,于是,就采用了16位的段加16位偏移的方式进行表达。这样,总共 1 MB 的内存范围可以被划分为 16 个容量为 64 KB 彼此独立的内存段。

       从你的代码可以看出,数据段 DS=1000H,偏移是 0,对应的内存绝对地址应该是 10000H,用 “段:偏移” 的形式表示为 1000 : 0

       ax = 2c34h ,指令

       mov , ax

       的意思是把 ax 寄存器的值 2c34h (2个字节) 保存到内存地址 1000 : 0 开始的 2 个字节单元中。

行客 发表于 2019-1-26 08:43:37

mov ax,11316
这里的11316是10进制,转换为16进制是2C34

四方上下 发表于 2019-2-1 19:58:05

jackz007 发表于 2019-1-20 23:54
IBM PC 8086 CPU 采用的是 20 位地址总线,内存寻址范围为 00000H - FFFFFH,极限容量是 1 MB。但是 ...

谢谢!

四方上下 发表于 2019-2-1 19:58:40

行客 发表于 2019-1-26 08:43
mov ax,11316
这里的11316是10进制,转换为16进制是2C34

谢谢!
页: [1]
查看完整版本: 求助!mov [0],ax这局