cbw是什么 汇编语言,CBW到底怎么执行将字节转换为字指令还是不太理解?
浏览量:2500
时间:2021-03-12 16:20:43
作者:admin
汇编语言,CBW到底怎么执行将字节转换为字指令还是不太理解?
CBW:将字节转换为字的操作,即将一个字节(8位)的数量转换为两个字节(16位)的数量。此指令仅适用于Al寄存器。Al(8位)的内容符号扩展为ah以形成ax(16位)中的字。如果(AL)的最高有效位为0,则(ah)=0。如果(AL)的最高有效位为1,则(ah)=0ffh。这里Al的内容符号表示Al是有符号数,其最高位是符号位。例如:Al=0Fh(最高阶为0),ah=00h,ax=000fh;Al=8fh(最高阶为1),ah=FFH,ax=ff8fh。
汇编语言中,CBW指令有何功能?
CBW指令将字节转换为字。有符号数求和时,如果是正数,则在正数前面填充8个零。如果是负数,则在其前面填写8个1,扩展到16位。
汇编的CBW指令究竟怎样用?
CBW是符号扩展指令。它可以将8位扩展到16位,扩展前后两个数字的真值保持不变。它主要用于数据类型不同的情况。符号扩展指令可以使数据类型相同。当符号位位于补码的最高位时,CBW只能扩展al中的数字。al是一个8位寄存器,当然它的最高位是D7。当AX=0c9h=00000000011001b时,由于Al的最高有效位D7是1,CBW的执行是将D7位扩展到上8位,Al的上8位是ah,所以ah=11111111b,所以AX等于ffc9h。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。