汇编语言为什么不能通用 5

 我来答
zhxiufan
推荐于2016-04-03 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
汇编语言的最大一个特点也是其缺点就是“移植性差”。汇编语言是专门针对某一特定的CPU及其系列而设计的编程语言,比如51系列单片机汇编语言,8086系列CPU的汇编语言等等,不能通用大概有以下因素:
1、各类CPU的IO口不同,而汇编语言编程直接针对的就是IO口。
2、各类CPU存储结构不同,而汇编语言的存取方式直接对应相应的CPU存储器。
3、各类CPU的资源模块不一样,比如定时器,串口,中断等等。
4、各类CPU的位数不一样,有8、16、32、64位机等等。
5、各类CPU的总线结构不一样,比如51是8为数据、地址总线,AVR没有数据、地址总线
danpianjj
2012-02-15 · TA获得超过160个赞
知道答主
回答量:33
采纳率:0%
帮助的人:34.6万
展开全部
什么的汇编语言不能通用?问题问的比较笼统。但是我这样给你解释一下吧,这个需要你去看一下计算机组成原理了。
AMD和intel的CPU本身内部指令就是有区别的。举个例:你想访问加法器,intel的加法器控制寄存器叫AL,而AMD的叫AD,你想向里面写入数字10。
就形成了两个不同的汇编语言:
intel的,mov AL,10
AMD的,mov AD,10
现在明白不能通用的原因了吧。这是最简单的解释。你还是看看书吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友25510dd
2012-02-16 · TA获得超过217个赞
知道小有建树答主
回答量:131
采纳率:100%
帮助的人:130万
展开全部
一句话给你说明白
汇编语言可移植差的原因是汇编是面向机器的语言,而各个寄存器的地址不同,你针对某个器件写的东西复制到另一个工程上,因为特定的寄存器地址不同了,所以不能操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼缸扁粉菜
2012-02-17 · TA获得超过741个赞
知道小有建树答主
回答量:595
采纳率:0%
帮助的人:390万
展开全部
其实,你更应该问机器指令为什么不能通用。。因为当初设计的时候就不一样。。呵呵,太简单的问题了。。就好比你制作了一架飞机,跟其他的飞机用的东西是不可能完全一样的。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
justwithyoumj
2012-02-15
知道答主
回答量:11
采纳率:0%
帮助的人:4.3万
展开全部
计算机语言大致可分为:面向机器;面向过程;面向对象
汇编语言是面向机器的计算机语言,
既然是面向机器,就是要跟cpu打交道了,cpu种类太多了,但是每个厂家自己生产的不同种类的cpu的属性基本相同,也就是因厂商而议了;要学习汇编语言,首先要确定准备哪个厂商的cpu,就这样了……,要想深入学习,搞本那个厂商的cpu的开发手册,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式