ドラタンキ @aohan_doratanki
普段はゲームプログラマとしてゲーム作ったり投げたりしている人間です。
自分がエンジニアなのでエンジニアっぽいゲーム作ってます。
飲み会の時にみなでワイワイ遊んでもらえればと~
2020年春にだすボドゲはエンジニア以外でもプレイできるように作る予定
- ASSEMBLY FIGHT開発ログ2【ニーモニックカード】
- 2019/12/24 7:50
今回はゲームでプレイするニーモニックカードについて紹介します。
ニーモニックとはCPUに当たる命令の種類を表す番号(オペコード)に、人間がわかりやすいようにつけられた英数字の短い符号のことを指します。
このような機械語と1対1の関係であるプログラム言語のことをアセンブラ言語と呼びます。
なので、アセンブラ言語は使用するCPUによって違います。
今回はモバイル開発などで親しみを持たれているARMというアセンブラ言語の一種を採用しています。
*ただしARMにはどのバージョンにも除算が入っているわけではないので、除算が対応されているCortex-M3以降を用いています
*ARMはARM社の登録商標です
ニーモニックカードについて
プレイヤーは7枚のニーモニックカードに書かれた命令(ニーモニック)を組み合わせて与えられたプログラムを完成させます。
1枚のニーモニックカードには表に1命令、裏に1命令と計2命令記載されています。
仕様できる命令は1枚につき、表か裏のいずれかの命令となります。
ニーモニックカードの命令について
R1,R2,R3は数字を格納できる汎用レジスタです
1
表 ADD R3,R3,R1 (R3=R3+R1)
裏 SUB R3,R3,R1 (R3=R3-R1)
2
表 ADD R3,R3,R2 (R3=R3+R2)
裏 SUB R3,R3,R2 (R3=R3-R2)
3
表 ADD R3,R3,R1 (R3=R3+R1)
裏 SUB R3,R3,R1 (R3=R3-R1)
4
表 ADD R3,R3,R2 (R3=R3+R2)
裏 SUB R3,R3,R2 (R3=R3-R2)
5
表 MOV R1,#1 (R1=1)
裏 MOV R1,#3 (R1=3)
6
表 MOV R2,#2 (R2=2)
裏 MOV R2,#4 (R2=4)
7
表 MUL R3,R3,R1 (R3=R3*R1)
裏 SDIV R3,R3,R2 (R3=R3/R2)
ではまた次回