関連サイト
本書の関連ページが用意されています。
※受注生産にて紙版も販売しています。
内容紹介
「5・7・5・7・7 」三十一(みそひと)バイトの機械語コードでなにができるか? "遊び"と"ルール"の下で行うプログラミング「アセンブラ短歌」を完全解説。
機械語コードはアーキテクチャによってさまざまですが、可変長の命令を持つものならば命令の並びに5・7・5・7・7 各バイトに区切りを持たせることが可能です。あえてそのような制約のもとでプログラムを書いてみようというのが「アセンブラ短歌」です。どのような動作のプログラムになるのかもあわせて紹介していきます。
自然言語における「短歌」も制約を持たせた「言葉遊び」として生まれました。こうして書かれた文章には「味わい」や「感動」があります。それが長い年月をかけて発展し、格調高い文化として成熟してきたわけです。「遊びとルール」の下で行うアセンブラプログラミングを「近未来の文化的趣味」として楽しむため本書は執筆されました。
5・7・5・7・7 合計31バイトという制約を守るにはコツや試行錯誤が必要です。望みどおりの出力結果を得るために必要となる短歌詠みの基礎から技巧まで、本書にはプロ歌人の知恵が詰まっています。技術的な内容も多少なりともありますが、それよりも「味わい」のあるプログラムを多く扱うように心がけました。Chapter.5ではさまざまな歌人による、浪漫主義(明星派)、写実主義(アララギ派)、新現実主義(新思潮派)、理想主義(白樺派)のアセンブラ短歌も紹介していきます。
アセンブラという実用言語が文化の域に到達していく過程の時代の証人に、あなたもなってはみませんか?
書誌情報
- 著者: 坂井弘亮, 愛甲健二, 松田和樹, 坂井丈泰, 竹迫良範
- 発行日: 2014-01-07 (紙書籍版発行日: 2014-01-07)
- 最終更新日: 2014-01-07
- バージョン: 1.0.0
- ページ数: 274ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
坂井弘亮
アセンブラ短歌創始者.ネタで考案したものが本にまでなってしまってびっくり.
ふだんは組込み向けプロセッサを扱うことが多くx86はあまりよく知らなかったが,これを機会にcdqなんていうマニアックな命令まで知ってしまった.会心の出来だったのはアセンブラ短歌でのQuine.好きな命令はxchg(短歌で使えそうだから).アセンブラネタで他にも何かできないか,日々模索中.
愛甲健二
アセンブラ短歌,歌人のひとり.
Assembler Tanka on Javascript(http://07c00.com/asmtanka_on_js/)の開発者.
ふだんはセキュリティ技術の研究,製品開発をしており,x86だけが得意で他のプロセッサについてはあまり詳しくない.アセンブラ短歌は見てるだけでも楽しいが,本当に楽しいのは作っているときだと思う.興味を持った読者にはぜひアセンブラ短歌の作成に挑戦してほしい.
松田和樹
存在自体がイロモノ担当.某所でアセンブラ短歌のLTを聞いて大爆笑したことを切っ掛けとして,今回の企画に参加.普段はx86やARMに触れていますが,ここ数年前からレトロ機に興味を持つと同時に8bitCPUに関心を持つ.うっかりAtari 2600のクローン機を入手したことが切っ掛けとして「やはり実機だろ?」と言わんばかりにオークションサイトなどでレトロ機を買い漁るようになり,今は廃人一歩手前の状態.レトロゲーム機のメガデモ開発を目論んでいるらしい.
坂井丈泰
コンピュータとは子供の頃にPC-8001に触れて以来の付き合い.その昔はアセンブラでアセンブラを書いたり,自作ROMライタでワンチップマイコンを動かしたりしたけれど,今は昔.
専門は電子航法で,ふだんはGPSまわりのプログラムをCで書いていることが多い.
竹迫良範
メモ帳でアセンブラ短歌を書く会.はじめて触ったコンピュータはFM TOWNSの32bit世代.最近は学研の4bitマイコンで遊ぶ.趣味はCPUの命令セットマニュアルを眺めること.
印字可能文字で機械語プログラミングしたり,文字と機械語の意味を重ねることが好き.
目次
はじめに
Chapter.1 アセンブラ短歌入門
- 1.1 アセンブラ短歌を見てみる
- 1.2 アセンブラ短歌を作る
- 1.3 長い文字列を出力してみる
- 1.4 さらに長い文字列に挑戦する
Chapter.2 さまざまなアセンブラ短歌
- 2.1 電卓
- 2.2 フィボナッチ数列
- 2.3 ウィンドウを開く
- 2.4 コマンド実行
Chapter.3 味わい深くする
- 3.1 韻を踏む
- 3.2 アセンブラ川柳
- 3.3 アセンブラかるた
- 3.4 Quine(クワイン)
Chapter.4 さまざまな環境でのアセンブラ短歌
- 4.1 アーキテクチャの違い
- 4.2 M32C
- 4.3 MN10300
- 4.4 RL78
- 4.5 RX
- 4.6 68HC11
- 4.7 Linux/x86でのアセンブラ短歌
- 4.8 FreeBSD/i386でのアセンブラ短歌
- 4.9 作りやすさを比較する
Chapter.5 さまざまな歌人によるアセンブラ短歌
- 5.1 詠み人愛甲健二: HariboteOS/x86でのアセンブラ短歌
- 5.2 詠み人愛甲健二: OSX/x86-64でのアセンブラ短歌
- 5.3 詠み人愛甲健二: スマートフォンで気軽にアセンブラ短歌
- 5.4 詠み人松田和樹: MOS 6502(Commodore 64)におけるアセンブラ短歌
- 5.5 詠み人坂井丈泰: CP/Mでのアセンブラ短歌
- 5.6 詠み人竹迫良範: Windows/x86でのアセンブラ短歌(32bit)
- 5.7 詠み人竹迫良範: MS-DOS/x86でのアセンブラ短歌(16bit)