光纤熔接 ERP

弱电论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 532|回复: 0
打印 上一主题 下一主题

[转贴] ROM中的指令通过二进制数字形式表示是什么样的?

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-13 14:58:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为代理商
最佳答案:所有这些汇编语言指令必须以二进制数字的形式表示。为了简单起见,我们假定每条汇编语言指令具有一个唯一的编号,如下所示:
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个字节。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|广告咨询|VIP注册|关于我们|联系我们|积分规则|手机版|Archiver|弱电之家论坛 ( 京ICP备11008917号-3 )

GMT+8, 2024-9-22 21:23 , Processed in 0.114413 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表