诗意人生 发表于 2011-10-4 13:05:20

关于mov ax,[0] 的疑惑

本帖最后由 诗意人生 于 2011-10-9 11:14 编辑

在026第五章 和loop指令04第0:2:24 的时候写到 mov ax,读取的是((ds)*16+0)的数据,也就是读取的是一字节的数据,但是ax貌似是以字为单位的,不是ah、al的字节单位。
在之前的课程中也由提到过,mov ax,读取的是字型数据,而非字节数据。可是在26、25章,小甲鱼哥哥说这是错的。。我有点矛盾诶。而且根据debug的实验,mov ax,读取的是字型数据
有关截图看下面。。。

起初以为是masm的伪指令缘故,就像mov ax,ffffH它不认识一定要个0一样。
后来,实验发现小甲鱼哥哥说的不是伪指令的缘故。


在debug中的实验也是如此。

真的想不明白小甲鱼哥哥讲的 mov ax, 表示将ds:0中的数据送入到al中。是什么意思。

关键是感觉 发表于 2011-10-4 19:53:06

MOV AX,【0】 读取的是字的数据指令意思表示将DS:0的数据送入AL中,但是接收的AX,所以要把【1】给AH
反正有点绕,可能我也不是很清楚的原因把。
等待高手。
CPU就是笨,他必须一步一步执行,不能和我们一样想的很远。纠结。
学到后面你就清楚了:D

topcookie 发表于 2011-10-4 20:04:41

是分解来说了,mov ax,取一个字放入ax,相当于mov al,    mov ah,这两条指令,鱼哥要表达的是这个意思

苍白の月 发表于 2011-10-6 10:37:16

赞同LS的观点

longyanjy 发表于 2011-10-9 00:53:00

楼上正解~~~~~

seuer126 发表于 2011-10-9 11:11:34

3楼说的对!

一脸阳光 发表于 2011-10-10 18:10:25

{:7_155:}ddddd
页: [1]
查看完整版本: 关于mov ax,[0] 的疑惑