寻址方式
已知数据段定义如下
DA_BYTE DB ?
V1 DB 22H
V2 DB 33H
MS DB 'ABCDEFG'
(1)将数据指令组合成完整程序,运行前写出下列语句中源操作数和目录操作数的寻址方式,以及目的操作数的值。然后运行程序,记录目的操作数的值,验证分析结果。
MOV CL,50H ;寄存器,立即
MOV SS,AX ;寄存器,寄存器
MOV CX,50H ;寄存器,立即
MOV DA_BYTE,2AH ;直接,立即
MOV DS,AX ;寄存器,寄存器
MOV SI,OFFSET V1 ;寄存器,立即
MOV [SI],AX ;寄存器间接,寄存器
MOV DX,CS ;寄存器,寄存器
MOV DI,2 ;寄存器,立即
MOV AL,MS[DI] ;寄存器,相对
MOV BX,1 ;寄存器,立即
MOV AL,MS[BX][DI] ;寄存器,相对基址变址
(2)指出下列指令中的错误,并说明原因。修改指令,并执行指令观察结果。
MOV AH,BX ;数据类型不匹配
MOV V1,V2 ;不能两个内存数
MOV ES,2000H ;段寄存器不能直接传送立即数
MOV BX,OFFSET V2 ;正确
MOV DA_BYTE,[BX] ;不能两个内存数
MOV CS,AX ;CS不能是目的操作数
MOV DI,OFFSET V1 ;正确
MOV [DI],50H ;两个操作数的数据类型不明确
MOV DS,ES ;不能两个都是段寄存器