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位,扩展前后两数的真值不变,主要用于数据类型不同时用符号扩展指令可以使得数据类型相同。
扩展资料:
汇编语言中其他有关算法指令:
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