关于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中。是什么意思。
MOV AX,【0】 读取的是字的数据指令意思表示将DS:0的数据送入AL中,但是接收的AX,所以要把【1】给AH
反正有点绕,可能我也不是很清楚的原因把。
等待高手。
CPU就是笨,他必须一步一步执行,不能和我们一样想的很远。纠结。
学到后面你就清楚了:D
是分解来说了,mov ax,取一个字放入ax,相当于mov al, mov ah,这两条指令,鱼哥要表达的是这个意思 赞同LS的观点 楼上正解~~~~~ 3楼说的对! {:7_155:}ddddd
页:
[1]