19页中间有这样两段话:
在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的,例如:
①mov ax,bx
②mov bx,cx
③mov ax,18H
④mov al,18H
⑤add ax,bx
⑥add ax,20000
等都是正确的指令,而
⑦mov ax,bl (在8位寄存器和16位寄存器之间传送数据)
⑧mov bh,ax (在16位寄存器和8位寄存器之间传送数据)
⑨mov al,20000 (8位寄存器最大可存放值为255的数据)
⑩add al,100H (将一个高于8位的数据加到一个8位寄存器中)
等都是错误的指令,错误的原因都是指令的两个操作对象的位数不一致.
先看上面一段里3和4,将3和4"合并"一下就可以写成mov ax,al(因为al和ax都为18H),这样是正确的?
再看下面一段里7说mov ax,bl是错误的???mov ax,al是正确的,mov ax,bl却是错误的?如果说位置一致性,上面那个也是错误的,第4句是不是错误的呢? |