アセンブラ、配列でSTAYHOME!

この記事ではアセンブラ言語で、配列と添字について学べます。
文字列を1文字置きに出力して、「STAYHOME」を取り出します。

■ 関連記事 ■

基本情報技術者試験トップへ
アセンブラ自作サンプルへ
アセンブラ過去問プログラムへ
令和2年度(令和3年1月)合格報告

2020年からの基本情報技術者試験は、言語とアルゴリズムの配点が高くなりました。
なので、プログラミング未経験の事務員の私は、非常に焦っていましたが、無事合格できました。
学習中のアウトプットを少し編集してお届けしております。

今、(2020年令和2年5月8日現在)ここ東京では、
コロナの緊急事態宣言延長が出ています。

ひとりひとりが不要不急の外出をお控えして頂けるよう、
私に出来ることは何かあるのか、考えた所、
数日前にYouTubeで動画を作ったり、
今日、アセンブラ(CASL2)を使って、呼びかけの機械語命令を
作ったりしていました。

まずは、こちらの動画をご覧下さい。

あとは、今日作ったアセンブラのプログラムです。
配列を使って、「STAY HOME」と表示します。
下の配列MOJIから1文字置きに抽出するよう、
アドレスを指し示すのに使ったGR1は2つずつ加算、
表示用文字列DASUの格納用アドレスに使うGR2は
インクリメントしています。

最後までトレースすると、こうなります。

機械語命令は、こうなりました。

結果はこのようになります。

TEST START
RPUSH


LD GR1,=0 ;STAYHOMEのアドレス
LD GR2,=0 ;出力用アドレス

LOOP
LD GR3,MOJI,GR1 ;STAYHOMEの読み込み
ST GR3,DASU,GR2 ;出力用に格納
LAD GR2,1,GR2
CPA GR2,=9
JZE FIN

LAD GR1,2,GR1
JUMP LOOP

FIN
OUT DASU,LEN

RPOP
RET

MOJI DC ‘SITEANYI 3HIORMUE’
DASU DS 9
LEN DC 9

END

今日も、ありがとうございました。
あなたがこの記事をご覧の時には、コロナ終息していて欲しいです。

基本情報技術者試験トップへ
アセンブラ自作サンプルへ
アセンブラ過去問プログラムへ
これからプログラミングを始める方へ