cbw是什么 匯編語言,CBW到底怎么執(zhí)行將字節(jié)轉(zhuǎn)換為字指令還是不太理解?
匯編語言,CBW到底怎么執(zhí)行將字節(jié)轉(zhuǎn)換為字指令還是不太理解?CBW:將字節(jié)轉(zhuǎn)換為字的操作,即將一個字節(jié)(8位)的數(shù)量轉(zhuǎn)換為兩個字節(jié)(16位)的數(shù)量。此指令僅適用于Al寄存器。Al(8位)的內(nèi)容符號擴展
匯編語言,CBW到底怎么執(zhí)行將字節(jié)轉(zhuǎn)換為字指令還是不太理解?
CBW:將字節(jié)轉(zhuǎn)換為字的操作,即將一個字節(jié)(8位)的數(shù)量轉(zhuǎn)換為兩個字節(jié)(16位)的數(shù)量。此指令僅適用于Al寄存器。Al(8位)的內(nèi)容符號擴展為ah以形成ax(16位)中的字。如果(AL)的最高有效位為0,則(ah)=0。如果(AL)的最高有效位為1,則(ah)=0ffh。這里Al的內(nèi)容符號表示Al是有符號數(shù),其最高位是符號位。例如:Al=0Fh(最高階為0),ah=00h,ax=000fh;Al=8fh(最高階為1),ah=FFH,ax=ff8fh。
匯編語言中,CBW指令有何功能?
CBW指令將字節(jié)轉(zhuǎn)換為字。有符號數(shù)求和時,如果是正數(shù),則在正數(shù)前面填充8個零。如果是負數(shù),則在其前面填寫8個1,擴展到16位。
匯編的CBW指令究竟怎樣用?
CBW是符號擴展指令。它可以將8位擴展到16位,擴展前后兩個數(shù)字的真值保持不變。它主要用于數(shù)據(jù)類型不同的情況。符號擴展指令可以使數(shù)據(jù)類型相同。當符號位位于補碼的最高位時,CBW只能擴展al中的數(shù)字。al是一個8位寄存器,當然它的最高位是D7。當AX=0c9h=00000000011001b時,由于Al的最高有效位D7是1,CBW的執(zhí)行是將D7位擴展到上8位,Al的上8位是ah,所以ah=11111111b,所以AX等于ffc9h。