←前ページへ :  INDEX :  次ページへ→


2-3.即値の転送

  即値の転送とは定数をレジスタもしくはメモリーに転送することを言う。別に、「即値の転送」なんて名前はどうでも良いんですが・・・。ちなみに、イミディエイトモードという場合もあるらしいです。名前なんてどうでも良いんですが

  基本的なことは前のページまでで解説しました。しかし数字はその時々によって、 10進数、16進数、8進数、2進数、文字コード、メモリーの番地などを代入したい場合があります。C言語と同様、アセンブラでもこれらを表現することができます。

mov ah,10
AHレジスタに、10進数で10を代入します
C言語表記 : ah=10;

mov ah,10h
AHレジスタに、16進数で10(10進数で16)を代入します
C言語表記 : ah=0x10;

mov ah,10o
AHレジスタに、8進数で10(10進数で8)を代入します

mov ah,10b
AHレジスタに、2進数で10(10進数で2)を代入します

mov ah,'A'
AHレジスタに、'A'の文字コード(10進数で65、16進数で41h)を代入します
C言語表記 : ah='A';

mov ax,offset DATA
AXレジスタに、DATAという変数のアドレスを代入します
C言語表記 : ax=&DATA

「mov ax,'A'」 というふうに書くとどうなるでしょうか?
「mov ax,41h」と同じことなので、AH=00、AL=41hが入ります。

←前ページへ :  INDEX :  次ページへ→