举例(续): MOV BX,CS;⑤段寄存器一〉通用寄存器 ■ MOVDS,AX;⑤通用寄存器一>段寄存器 ■ MOVWORD PTR[EAX],DS;⑥段寄存器-> 内存操作数 MOVES, WORD PTR DS:[0080H;⑥内存操作 数一>段寄存器
举例(续): ◼ MOV BX, CS; ⑤ 段寄存器 -> 通用寄存器 ◼ MOVDS, AX; ⑤ 通用寄存器 -> 段寄存器 ◼ MOVWORD PTR [EAX], DS ; ⑥ 段寄存器 -> 内存操作数 ◼ MOVFS, WORD PTR DS:[0080H]; ⑥ 内存操作 数-> 段寄存器
MOV指令限制 ■不能直接在两个内存操作数之间传送 ■立即数不能直接送段寄存器 立即数不能作为目标操作数 两个段寄存器之间不能直接传送 ■CS段寄存器不能作为目标操作数
MOV指令限制 ◼ 不能直接在两个内存操作数之间传送 ◼ 立即数不能直接送段寄存器 ◼ 立即数不能作为目标操作数 ◼ 两个段寄存器之间不能直接传送 ◼ CS段寄存器不能作为目标操作数
■2. MOVZX指令 ■格式: MOVZX DST,SRC 功能:将SRC传送给DST 高位不足的部分用0填充 SRC不能是立即数
◼ 2.MOVZX指令 ◼ 格式:MOVZX DST,SRC ◼ 功能:将SRC传送给DST 高位不足的部分用0填充 SRC不能是立即数
DST是16位操作数时,SRC必须是8位操作数 SRC作为DST的低8位,DST的高8位设为0。 ■DST是32位操作数时,SRC可以是8位或16位操 作数。 SRC作为DST的低8位或低16位,DST的高24位或 高16位为0
◼ DST是16位操作数时,SRC必须是8位操作数。 SRC作为DST的低8位,DST的高8位设为0。 ◼ DST是32位操作数时,SRC可以是8位或16位操 作数。 SRC作为DST的低8位或低16位,DST的高24位或 高16位为0
■3. MOVSX指令 ■格式: MOVSX DST,SRC 功能:将SRC传送给DST,高位不足的部分 用SRC的符号位(最高位)填充 SRC不能是立即数
◼ 3.MOVSX指令 ◼ 格式:MOVSX DST,SRC ◼ 功能:将SRC传送给DST,高位不足的部分 用SRC的符号位(最高位)填充。 SRC不能是立即数