汇编语言中,CBW指令有何功能

时间:2024-10-12 07:58:08

CBW 字节转换为字依宏氽墓指令
执行的操作:AL的内容扩展到AH,形成AX中的字。

AL符号扩展为AX。在8086中CBW指令将AL的最高有效位D7扩展至AH,即:如果AL的最高有效位是0,则AH= 00,AL的最高有效位为1,则AH= FFH。AL不变。(即将AL的符号位移至AH)

CBW属符号扩展指令,它可以把8位扩展到16位,扩展前后两数的真值不变,主要用于数据类型不同时用符号扩展指令可以使得数据类型相同。

汇编语言中,CBW指令有何功能

扩展资料

汇编语言中其他有关算法指令:

1.PUSHA,PUSHAD,POPA,POPAD

作用:将所有16/32位通用寄存器进栈/出栈。

如:PUSHA ;将AX,CX,DX,BX,原SP,BP,SI,DI依次进栈。POPA出栈顺序正好相反。

2.LAHF\SAHF(标志寄存器传送指令)

写法:lahf

作用:AH=FLAGS的低8位

写法:sahf

作用:FLAGS的低8位=AH。

3.符号扩展和零扩展指令。

CWD,AX符号扩展为32位数DX:AX

CWDE,AX符号扩展为EAX

CDQ:EAX符号扩展为64位数EDX:EAX。

MOVSX(符号扩展指令的一般形式)

写法:MOVSX reg16\32,reg8\reg16\mem8\mem16。

作用:用来将8位符号扩展到16位,或者16位符号扩展到32位

4.MOVZX(零扩展指令)

写法:MOVZX reg16\32,reg8\reg16\mem8\mem16。

零扩展,就是高位补0进行扩展。通常用在将数据复制到一个不同的寄存器中,如AL零扩展为EBX。相同寄存器的零扩展,可以使用MOV 高位, 0来实现。

参考资料:百度百科——CBW

© 手抄报圈