原口/春プロ/第11回
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[原口/春プロ]]
*第11回 CPUの設計(2)Verilog HDLによる記述 [#h6751341]
**命令セット [#uadd98e8]
||ニーモニック|16進数表示|||||||
|1|HALT|0000|10|ADD|F000|10|EQ|F00A|
|2|PUSH I|1000+I||SUB|F001||NE|F00B|
|3|PUSH A|2000+A||MUL|F002||GE|F00C|
|4|POP A|3000+A||SHL|F003||LE|F00D|
|5|JMP A|4000+A||SHR|F004||GT|F00E|
|6|JZ A|5000+A||BAND|F005||LT|F00F|
|7|JNZ A|6000+A||BOR|F006||NEG|F010|
|8|IN|D000||BXOR|F007||BNOT|F011|
|9|OUT|E000||AND|F008||NOT|F012|
|10|OP f|F000+f||OR|F009||||
**AND,OR,NOTについて [#jcff5bf4]
16ビットの内1つでも1があれば1として扱う
-AND
--b&&a(論理積)
-OR
--b||a(論理和)
-NOT
--!a(論理否定)
**カウントダウンを行う機械語プログラム、アセンブリ言語プログラム [#i79ae195]
1 000:D000 IN
2 001:300C L1:POP n
3 002:200C PUSH n
4 003:E000 OUT
5 004:200C PUSH n
6 005:500B JZ L2
7 006:200C PUSH n
8 007:1001 PUSHI 1
9 008:F001 SUB
10 009:300C POP n
11 00A:4002 JMP L1
12 00B:0000 L2:HALT
13 00C:0000 n:0
**P123リスト4のram.vを使うにあたって [#i7bd0e8e]
-alu.vの`defineはコメントアウトしておく
終了行:
[[原口/春プロ]]
*第11回 CPUの設計(2)Verilog HDLによる記述 [#h6751341]
**命令セット [#uadd98e8]
||ニーモニック|16進数表示|||||||
|1|HALT|0000|10|ADD|F000|10|EQ|F00A|
|2|PUSH I|1000+I||SUB|F001||NE|F00B|
|3|PUSH A|2000+A||MUL|F002||GE|F00C|
|4|POP A|3000+A||SHL|F003||LE|F00D|
|5|JMP A|4000+A||SHR|F004||GT|F00E|
|6|JZ A|5000+A||BAND|F005||LT|F00F|
|7|JNZ A|6000+A||BOR|F006||NEG|F010|
|8|IN|D000||BXOR|F007||BNOT|F011|
|9|OUT|E000||AND|F008||NOT|F012|
|10|OP f|F000+f||OR|F009||||
**AND,OR,NOTについて [#jcff5bf4]
16ビットの内1つでも1があれば1として扱う
-AND
--b&&a(論理積)
-OR
--b||a(論理和)
-NOT
--!a(論理否定)
**カウントダウンを行う機械語プログラム、アセンブリ言語プログラム [#i79ae195]
1 000:D000 IN
2 001:300C L1:POP n
3 002:200C PUSH n
4 003:E000 OUT
5 004:200C PUSH n
6 005:500B JZ L2
7 006:200C PUSH n
8 007:1001 PUSHI 1
9 008:F001 SUB
10 009:300C POP n
11 00A:4002 JMP L1
12 00B:0000 L2:HALT
13 00C:0000 n:0
**P123リスト4のram.vを使うにあたって [#i7bd0e8e]
-alu.vの`defineはコメントアウトしておく
ページ名: