2015-10-01から1ヶ月間の記事一覧

プログラミングの基礎:問題4.1

問題4.1解答 let baito_kyuyo y h = (y * 100 + 850) * h

読書メモ:マグネシウム文明論

タイトル:マグネシウム文明論 著者:矢部孝/山路達也 発売日2010年か。いまどうなってるんだろ?

読書メモ:理解する技術

タイトル:理解する技術 著者:藤沢晃治野菜を粉末状にして食べることなんかほとんどないやろ

読書メモ:わかったつもり 読解力がつかないほんとうの原因

タイトル:わかったつもり 読解力がつかないほんとうの原因 著者:西林克彦ネコかわいい

読書メモ:「知」の強化書

タイトル:「知」の強化書 著者名:本郷陽二この本で世界樹の迷宮に出てくるアリアドネの糸の元ネタがわかった。

4章入出力操作プログラム

@SCREEN D=A @R1 M=D @8192 D=A @R1 M=M+D (press) @KBD D=M @white D;JEQ @SCREEN D=A @R0 //カウンタ M=D (bloop) @R0 D=M @R1 D=D-M @press D;JGE //スクリーンに書き込み @R0 A=M M=-1 //加算処理 @R0 M=M+1 @bloop 0;JMP (white) //初期化 //@R0 //M=0 …

4章乗算プログラム

@R2 M=0 (LOOP) @R1 D=M @END D;JLE @R0 D=M @R2 M=D+M @R1 M=M-1 @LOOP 0;JMP (END)4章のプロジェクトで書いた乗算するプログラムです

数学読本を読んでます

去年の12月ぐらいから、松坂 和夫先生の数学読本を読んでます。 内容は高校+αの範囲を初歩から丁寧に解説されています。微積分をはやめにやりたかったので何章かとばしてますが、 今は、5巻目を読んでいるところです。この本、問題もついているのですが答…

4章機械語

4章のプロジェクトで、機械語のプログラム書いているときに気づいたのですが、 D=D+2のように直接2以上の数値は使えないんですね。2以上の数値で計算するには @2 D=D+Aのように@命令でAレジスタに指定した数値を格納してから、 Aレジスタを使って、2以上の…

2章ALU

HDLではif文が使えないので if nx then x = !x みたいなのはどうすればいいのか悩んだんですが、 単純にx = !xをあらかじめ計算しておいて、その後nxで 分岐させるというやり方で実装しました。 例えば上の例だと、 Not16(in=x,out=x2);//あらかじめ計算 Mux…

5章CPU

コンピュータシステムの理論と実装の5章のCPUの実装の部分で苦戦して、 完成するの1ヶ月ぐらいかかりました。 せっかくなんでコードを載せておこうと思います。 CHIP CPU { IN inM[16], // M value input (M = contents of RAM[A]) instruction[16], // In…

「コンピュータシステムの理論と実装」を読んでいます

最近、「コンピュータシステムの理論と実装」という本を読んでいます。 NAND回路からはじめて、CPUを作ってその後、アセンブラ、バーチャルマシン、 コンパイラ、OSを順に実装していくという内容の本です。今、6章まで読んでいて、アセンブラを作っていると…