「PA.MAN」に関して

 付録#2の「アセンブラ・ユーザーズマニュアル」(キットに付属の「PA.MAN」の一部)に
含まれる「拡張インストラクションセット」に関して、初心者には分かりにくいかもしれない部
分があるので説明します。
 まず、fr、lite、addr9、・・・ ですが、これらはそれぞれファイルレジスタ、数値、ラベル、
・・・を表していますが、プログラムの中では自由に名前(fr、addr9)や数値(lite)を入れら
れます。また、bit は ra.1 、fr.7 のように書かれます。
 次に、表記法についてです。例えば、

add    fr,#lite        fr += lite

の Description(説明)  fr += lite  のところですが、これは「C言語」の表記法になって
います。分かりやすく書き換えると   

fr ← fr + lite  

 つまり、ファイルレジスタ fr に、もともの fr の値と 数値 lite を加えた結果を代入すると
いう意味です。
 以下、主なものについて紹介します。

fr += (bit == 1)?1 ・・・ bit = 1 なら fr ← fr + 1
if(fr1 == fr2) ・・・ もしも fr1 = fr2 ならば
if(fr1 != fr2) ・・・ もしも fr1 ≠ fr2 ならば
fr& = lite ・・・ fr ← fr & lite (fr ∧ lite の結果を fr に代入する、∧はandの意味)
fr -- ・・・ fr ← fr−1
if(-- fr == 0) ・・・ if(fr−1= 0)

movsz    w,++ fr       if(fr +1 == 0)skip
 ・・・ fr + 1 の値が0ならskip、このとき fr の値は変わらず、wに fr + 1 の値が入ります。

neg     fr           fr = - fr     2の補数をとる
 ・・・ 2の補数というのは、2進法においてマイナスの数を表すのに用いられますが、求め
    方は全ビット反転して1足します。例えば、01001001 の2の補数は10110110
    に1 を足して、10110111です。                               

           
                                   

inserted by FC2 system