cbw指令的功能是 匯編的CBW指令究竟怎樣用?
匯編的CBW指令究竟怎樣用?CBW是一種符號擴(kuò)展指令。它可以將8位擴(kuò)展到16位,擴(kuò)展前后兩個(gè)數(shù)字的真值保持不變。它主要用于數(shù)據(jù)類型不同的情況。符號擴(kuò)展指令可以使數(shù)據(jù)類型相同。當(dāng)符號位位于補(bǔ)碼的最高位時(shí)
匯編的CBW指令究竟怎樣用?
CBW是一種符號擴(kuò)展指令。它可以將8位擴(kuò)展到16位,擴(kuò)展前后兩個(gè)數(shù)字的真值保持不變。它主要用于數(shù)據(jù)類型不同的情況。符號擴(kuò)展指令可以使數(shù)據(jù)類型相同。當(dāng)符號位位于補(bǔ)碼的最高位時(shí),CBW只能擴(kuò)展al中的數(shù)字。al是一個(gè)8位寄存器,當(dāng)然它的最高位是D7。當(dāng)AX=0c9h=000000001101B時(shí),因?yàn)锳l的最高有效位D7是1,所以CBW的執(zhí)行是將D7位擴(kuò)展到上8位,Al的上8位是ah,所以ah=11111111b,所以AX等于ffc9h。
匯編語言中,CBW指令有何功能?
CBW指令將字節(jié)轉(zhuǎn)換成字。有符號數(shù)求和時(shí),如果是正數(shù),則在正數(shù)前面填充8個(gè)零。如果是負(fù)數(shù),則在其前面填寫8個(gè)1,擴(kuò)展到16位。
匯編語言,CBW到底怎么執(zhí)行將字節(jié)轉(zhuǎn)換為字指令還是不太理解?
CBW:將字節(jié)轉(zhuǎn)換為字的操作,即將一個(gè)字節(jié)(8位)的數(shù)量轉(zhuǎn)換為兩個(gè)字節(jié)(16位)的數(shù)量。此指令僅適用于Al寄存器。Al(8位)的內(nèi)容符號擴(kuò)展為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。