&size(20){''超初心者のためのPropellerアセンブリ言語入門''}; &size(15){''原題:Assembly Language Primer for the Absolute Beginner''}; 状態:''この文書は現在翻訳中です'' 原文: 翻訳者:@kama_AGE 対象読者:アセンブラ超初心者 #contents *はじめに [#p5af2b45] ''2進数の世界へヨウコソ!'' コンピュータは複雑に見えるにもかかわらず、実際には2つのことしかしません: -数を足すか、それらに対して論理演算を行う -コピーする さらに、0と1の2種類の数しか理解しません。これらは「ON」「OFF」、「SET」「RESET」、「HIGH」「LOW」などとして、知られています。 どちらか片方が起こっている間は、もう一方は起こりません。 *中心となる概念 [#q0356904] (@kama_AGE 翻訳中) どのようなアセンブリ言語でも、プログラミングを始める前に、ある程度のバックグラウンドとなる知識をカバーしておかなければなりません。 計算機数学の大部分は、普通の数学に似ています。 ほとんどのトラブルは、いくつかの用語に加えて、異なる「数の表現」を学んでおかなければならないことに起因します。 さらに、私たちは、基礎的な数学コンピューターが行うカバーに必要とします。 より高いレベルことをするためにより大きな構造を組織するためにLEGO玩具がどのようにしてともに結合するかとは異ならない方法の中で、私たちが使用するのは、この基礎的な数学です。 さあ飛び込んでいきましょう! **数の表現 [#t36d6761] **コンピュータの数のサイズ [#efab27b5] **計算機の概念 [#fc8b0552] *計算機数学 [#d4f3e157] **足し算(ADD) [#y3de15b4] **キャリーあり足し算 [#g528e60f] **区切り [#zac3d9ed] **余りの数 [#j0f35401] **引き算 [#c9266b79] **掛け算と割り算 [#ob3aea1c] **10進数から2進数への変換 [#j27f3154] **負の数・符号つき数値 [#j76d11fd] **数の操作の例 [#b4abfc52] *プロペラCPU特有の概念 [#t11cc93f] **命令 [#b7361a49] **リトルエンディアン [#h4726ce3] *ソフトウェアの用意 [#pa48b0a3] **GEAR(Propeller デバッガ/エミュレータ) [#h8321778] **Setupを構築 [#g18081ea] **Setupを検証 [#c5acbebc] *アセンブリ言語コードの解剖 [#x10a73f4] **And now, the code: (finally!) ※ごめん訳が分からん@kama_AGE [#o30fab58] **Propeller Toolからコードを取ってくる [#kfbebe7d] **GEARでシミュレーション [#v1908895] **プログラムセクション [#xe4305e5] **アセンブリプログラム詳細 [#vc1f1c39] **命令0:mov [#s6e0cb80] **命令1:mov [#i58e9463] **命令2:add [#yaffa79c] **命令3:waitcnt [#ya2da029] **命令4:xor [#tcc4c255] **命令5:jmp [#ea628178] *プログラムに関しての議論 [#cfb90033] *ビット論理と操作演算子 ※Manipulation operators は操作演算子でいいのかな@kama_AGE [#j927e338] **真理値表 [#a916f234] **OR(ビットOR) [#o272e1b3] ***キャリーはどう?(パリティ) [#w6423c64] ***ビットマスク [#i6bf644f] **他の論理演算の真理値表 [#tfcca434] ***XOR [#g7917711] ***AND [#t3859ce3] ***ANDN [#vf90bf50] ***NOT [#q9880cf1] *補遺A [#v00788e8] **アセンブリ言語プログラムのパージング [#t67b6c9c] *補遺B [#w6166bbc] **Propellerメモリアドレッシング [#r0b84cb1] *暗黙アドレッシングの特殊な場合について [#m8960170]