1

クラスで、16ビットレジスタを8ビットレジスタに移動するのは有効な命令ではないことを学びました。たとえば、このコマンドは無効です。

mov al,bx

しかし、このような指示はありますか?

mov bx,al

または、2つのレジスタのサイズを等しくする必要がありますか?以下のように:

mov al,bl        
mov bx,ax
4

1 に答える 1

6

コマンドを書くことはできますか:mov bx、al

いいえ、でもできます

movsx bx,al  ; sign-extend al into bx
             ; the upper half of bx will be filled with the most significant
             ; bit of al. For example 0x40 becomes 0x0040, while 0xC0
             ; becomes 0xFFC0. 

また

movzx bx,al  ; zero-extend al into bx
             ; the upper half of bx will be filled with zeroes 


同様に、16ビットの汎用レジスタから32ビットの汎用レジスタまで。

于 2013-03-27T12:40:44.623 に答える