64というマシン語が使える。World!」と表示させるマシン語のプログラムは、このようなアセンブリ言語を使って作る。syscallアセンブリ言語をアセンブラというソフトを使ってマシン語を生成することをアセンブルと呼ぶ。./helloアセンブラは、NASMというオープンソースなソフトを使う。nasm画面の表示は、raxなどレジスタに画面表示用のコマンド番号や、データのメモリの位置、文字数をセットしてシステムコール(syscall)というOS側に処理を依頼することで実現。プログラムの終了もシステムコールを使ってOSに伝える。(64bitモードのときは0x2000000を加えるみたい)CPUは高速に2進数のbitをあれこれいじる機械。いじり方によって足し算になったり掛け算になったり、比較したり、次に実行するプログラムを変えたりする。4004(開発は、日本人、嶋正利さん!)から全く変わっていない。R8からR15の8レジスタが追加されている。SIMD命令などで命令数は数百(〜千オーバーかも?)と膨大だが、レジスタでいじってメモリなどに書くという基本は変わらない。IchigoJamで使っているCortex-M0は、55命令、レジスタは32bit、R0-R15という4004に似たシンプルな設計。最新の64bit版Arm、Arm64もその延長線上にある。エスケープシーケンスとシステムコールを使うとコンソールの画面で8色の色が使える。座標をエスケープシーケンスで渡すためにはレジスタを10進数に変換する必要があるので、一度マシン語でつくってみると楽しい。楽しみを奪うといけないので、ソースは公開はまた後日。PCをベースに、64bitをフルに使う特殊OSを作ってみるのもありかもしれない。4.0」の下に提供されています。