リトルエンディアンを体感する

ふと算用数字を見ていて、アラビア語のようなRTL表記を行う言語では普通に数字がリトルエンディアンに見えるんだろうなと思い、じゃあアラビア語話者はハンドアセンブルをどうやるんだろうと思って Google検索を「8086 assembly」を「lr=lang_ar」つきで探し歩いてみた。

http://www.vbzoom.com/vz/show.php?UserID=1&MainID=21&SubjectID=5292

「Arabic Assembly」というドキュメントがある。ダウンロードしたところ、「Asm for Arab」というファイル名の ZIP アーカイブで、例によって自己責任で展開してみると同名の PDF ファイルが含まれていた。

読んでみる。言葉が分からないものの、内容としては、どうやら「マシン語とは」から始まり、最後に debug コマンドで簡単なプログラムを走らせてみるような解説書だということは察しがつく。

アラビア語での数字表示は、並びは下の位→上の位だが、正負の記号はLTRと同様に数字の先頭に書く (例: 123-)。だから、DEADBEAFh という 16 進表記は「h」という接頭辞がついているように見えるのだろう。その観点で言うと、「0xDEADBEAF」のような表記は非合理的だ。「x0」という冗長な接尾辞がついていることになるわけで。

ハンドアセンブルの現場を見つけることはできなかったけど、新たな発見があったのでまあよしとしよう。