資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。

数値は10進数、16進数、2進数で書くことができる。

10進数 そのまま書けばよい。 1、10、128・・・
16進数 頭に「0x」を付ける  0x1F、0xAC、0xF5・・・
2進数 お尻に「B」を付ける  101101B、0001B、101010B・・・

数値を使う時、何進数で書くかは好きにしてよい。CPU的にはどれも同じこと。人間にとってわかりやすければよい

  • 今回はアドレスを指定するのに使うなぁ・・・
    • よし!今回は16進数を使おう! → MOV AL,[0x3F]
  • 今回は足し算だなぁ・・・
    • よし!俺が暗算できるように、10進数を使おう! → ADD AL,135
  • 今回はビット操作だなぁ・・・
    • よし!3番目のビットだけ1にしたいので2進数を使おう → MOV AL,00000100B

ちょっと特殊な方法として、文字コードで値を書くこともできる。

以下は両方とも同じこと。

普通の場合 文字コードで指定する場合
ALレジスタに、「A」の文字コードを入れたいなぁ ALレジスタに、「A」の文字コードを入れたいなぁ
 
文字コード表で調べてみよう。ええと・・・  
 
わかった!「A」は、0x41だ! 
 
MOV AL,0x41 MOV AL,'A'
  • 基本的に文字コードを直に使う場合、表記できる文字は全て使うことができる
  • たとえば、以下のように指定できる。
    MOV AL,'A'
    
    MOV AL,'c'
    
    MOV AL,'%'
    
    MOV AL,'['
    
    等等・・・・・・・
  • が、ひとつだけ例外がある。
  • 「 ’ 」という文字。これだけは直接打ち込めない。(NASKがエラーor異常終了する)
  • これは書いてみれば解る。あきらかにおかしい書き方になるから。
       MOV AL,'''       ← どう見たっておかしい
  • この「 ’ 」だけは、以下のように書かなければいけない。
    MOV AL,0x27          ←「 ' 」の文字コードは0x27なので・・・

REWEITING:id...Smym2PUhw67gWtCYhbRXNssE28FeMXmbmVLYCBfSbatwx5Fp4j2sMdWYgH7XKLhd

  • 追記! 文字列の最初と最後に「“」を使っている場合は下記の記述
    MOV AL,"""     //  アセンブル時にエラーになる
    
    正しい記述...
    
    MOV AL,0x22     //0x22は「“」のコード

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 4434, today: 1, yesterday: 0
Last-modified: 2012-10-22 (Mon) 21:57:54 (GMT) (2891d) by youmeG(youmeG)