福野泰介の一日一創 - create every day

より速く! jig.jp 第15回定時株主総会のお土産と会長就任のお知らせ

2018/06/27
#jig #profile #asm 

株式会社jig.jp、15回目の株主総会と取締役会。 今までの2人代表制を1トップ化し、事業展開の高速化を図り、 私は新たに設けた会長職に就任、次の15年を見据えた広域な価値創造にコミットする新体制がスタートです。

福野泰介 新肩書
株式会社 jig.jp 取締役会長(株式会社 A Inc. 取締役 / 株式会社 B Inc. 代表取締役社長)
英語表記:jig.jp co., ltd. chair Taisuke Fukuno
※オープンデータや、IchigoJamなど、事業構築中のグループ会社 B Inc. は社長継続


社内全メンバーと株主の方へ、IchigoJam 15th anniversary edition をプレゼント。
BASICのスピードが気になるならば、Armマシン語を使ってフルパワーを出し切りましょう。

Armマシン語でハローワールド
HELPコマンドでメモリマップを確認

HELP MEM MAP #000 CHAR #700 PCG #800 VAR #900 VRAM #C00 LIST

まずは画面の左上(VRAM:#900)に一文字表示させるマシン語

R3=#9 R3=R3<<8 [R3+R1]=R0 RET

からハンドアセンブルするか、asm15でアセンブルして、メモリに書き込み実行!

POKE#700,9,35,27,2,88,84,112,71 U=USR(#700,ASC("A"))

プログラミングの楽しさが伝わりづらい「ハローワールド」を、ちょっとひねって、大文字を小文字に変換するプログラムにしてみます。

R3=#9 R3=R3<<8 @LOOP R2=[R0+R1] R2-34 IF 0 GOTO @END R2+=#20 [R3+R1]=R2 R3+=1 R0+=1 GOTO @LOOP @END RET

終了記号がダブルクォート(アスキーコード34)なのがポイントです。
どんなモダンな言語でプログラミングしようとも、マシン語レベルではGOTO分岐とGOTOループが基本なのだと気がつけます。

POKE#700,9,35,27,2,66,92,34,42,4,208,32,50,90,84,1,51,1,48,247,231,112,71 U=USR(#700,"HELLO WORLD")

スペースがアットマークに変わってしまう問題に気が付きました?どう直すといいでしょう?
ヒント:Cortex-M0 Armマシン語表 (asm15表記、抜粋)と試行錯誤!
参考:はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

1段ギアが上がった、スピードのjig、ツールのjig。
ミッションは不変の「利用者に最も近いソフトウェアを提供し、より豊かな社会を実現する」
これからもよろしくおねがいいたします!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image