弱电论坛
标题:
ROM中的指令通过二进制数字形式表示是什么样的?
[打印本页]
作者:
家电维修
时间:
2012-5-13 14:58
标题:
ROM中的指令通过二进制数字形式表示是什么样的?
最佳答案:所有这些汇编语言指令必须以二进制数字的形式表示。为了简单起见,我们假定每条汇编语言指令具有一个唯一的编号,如下所示:
LOADA-1
LOADB-2
CONB-3
SAVEB-4
SAVEC mem-5
ADD -6
SUB -7
MUL -8
DIV -9
COM -10
JUMP addr -11
JEQ addr -12
JNEQ addr -13
JG addr -14
JGE addr -15
JL addr -16
JLE addr -17
STOP -18 这些数字称作opcode(优化代码)。在ROM中,我们的小程序看起来如下所示:
// 假定a位于地址128处
// 假定F位于地址129处
地址 opcode/值
0 3 // CONB 1
1 1
2 4 // SAVEB 128
3 128
4 3 // CONB 1
5 1
6 4 // SAVEB 129
7 129
8 1 // LOADA 128
9 128
10 3 // CONB 5
11 5
12 10 // COM
13 14 // JG 17
14 31
15 1 // LOADA 129
16 129
17 2 // LOADB 128
18 128
19 8 // MUL
20 5 // SAVEC 129
21 129
22 1 // LOADA 128
23 128
24 3 // CONB 1
25 1
26 6 // ADD
27 5 // SAVEC 128
28 128
29 11 // JUMP 4
30 8
31 18 // STOP
您可以看到,七行C代码变成了18行汇编语言,并且变成了ROM中的32个字节。
欢迎光临 弱电论坛 (http://bbs.rdzjw.com/)
Powered by Discuz! X3.2