この記事ではアセンブラ言語で、単純なループと、デクリメントを通してカウントダウンの処理が学べます。
ジョークを用いていますので、楽しく笑いを取り入れて、アセンブラの基礎を脳内に定着されます。
■ 関連記事 ■
基本情報技術者試験トップへ
アセンブラ自作サンプルへ
アセンブラ過去問プログラムへ
令和2年度(令和3年1月)合格報告
2020年からの基本情報技術者試験は、言語とアルゴリズムの配点が高くなりました。
なので、プログラミング未経験の事務員の私は、非常に焦っていましたが、無事合格できました。
学習中のアウトプットを少し編集してお届けしております。
またまた、変なCASL2の命令を思いついてしまいました。
こんなことやっていて、良いのかな?
こんなことして、遊んでいないで、マジメに勉強しないとね。
で、イヤなやつの名前を書いて、
寿命を5days、4days、3days、2daysまでカウントダウンして、
その後1-DAY!!、ど~~~~~ん!って出力する命令を作りました。
実行すると、まず、
デスノートって表示されます。
その後、ヤツの名は?と、表示されます。
懲らしめてやりたい奴の名前を書きます。
「GOKIBURI」と書きました。
ほんと、アイツら、ひとんちの敷地内に入りやがって、
土地はお金なんだよ!!
殺虫剤も金かかってんだよ、金返せ、このやろう!!!!
って、CASL2のプログラムの話に戻ります(;^_^A
で、「の余命は」と表示されます。
ここから5,4,3,2,とカウントされます。
2日までは、day”s”ですよね、複数形で。
で、ここから
プログラムの抜粋をしますが、
LOOP LD GR2,=’0′
ADDA GR2,GR1
ST GR2,DAYS
OUT DAYS,LEN4
SUBA GR1,=1
CPA GR1,=1 ←ココ!
JPL LOOP ←ココも!
の、ココ!って書いてあるところ、ハイ注目(=^・^=)
余命5、4、3、2までは、余命(GR1)>1ですよね。
そこで、余命>1、つまり余命2日までだったら、
ループで繰り返すという命令にしました。
JPLで、1と比べてPLUSだったらLOOPへジャンプしています。
カウントダウンして、余命が1日になったらループを抜けます。
で、最後、笑ぅせぇるすまんの喪黒福造風に、
「ど~~~~~ん」と表示されます。
では、プログラムです。
TEST START
RPUSH
OUT NOTE,LEN
OUT MOJI1,LEN1
IN NAME,LEN2
OUT NAME,LEN2
LAD GR1,5
OUT JYUMYO,LEN3
LOOP LD GR2,=’0′
ADDA GR2,GR1
ST GR2,DAYS
OUT DAYS,LEN4
SUBA GR1,=1
CPA GR1,=1
JPL LOOP
OUT DAY1,LEN5
OUT DAY0,LEN6
RPOP
RET
NOTE DC ‘DEATH NOTE’
LEN DC 10
MOJI1 DC ‘YATSUNO NA HA?’
LEN1 DC 14
NAME DS 20
LEN2 DS 1
JYUMYO DC ‘NO YOMEI HA’
LEN3 DC 11
DAYS DC ‘ ‘
DAY2 DC ‘days’
LEN4 DC 5
DAY1 DC ‘1-DAY!!’
LEN5 DC 7
DAY0 DC ‘DooooooooN!!!’
LEN6 DC 13
END
お疲れ様でした。
関連記事:アロマでゴキブリを追い出せ!!
CASL2のおススメ本です。