关于汇编语言移植性的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:23:12
我今天看了一本硬件的书,里面说汇编语言也有机器限制的,也就是说一台机器上的汇编程序到另一台机器上就不能运行了。可咱们学习的ASM汇编是可以移植到别的电脑上运行的啊,请问这是两种汇编吗?
谢谢。

兄弟,你理解错了,首先你要明白,汇编语言是一种针对具体机器的低级语言,这里说的不同机器一般来讲是指CPU指令系统不相兼容的两种机器,比如常用的8086与51,DSP,ARM,等等,他们的指令系统都不是通用的。自然移植到别的机器上不行,
举个例子来说吧,假如51,的P0端口可以用来点亮一盏灯,但是对8086或者其他单片机就不一定了,有可能是P1或者其他口了
你所写的汇编语言是针对8086CPU的,每台机子上的8086核心都是一样的,所以都能够运行,要是你拿到51等其他片子就肯定不行了
还要说的是,8086的CPU是8位的,然而真实的PC机是32位或64位的,所以你都要用编译软件来编译运行,并且计算机内有虚拟的8086内核,所以你才能运行
不行你将写好的程序,在dos下直接debug,
是肯定会出错的

说了这么多不知道你明白了没有??

呵呵, 这里说的两台机器是指CPU指令系统不相兼容的两种机器,比如c51单片机和80X86系列PC机,它们的汇编程序是不能相通的。
咱们学习的ASM汇编可以移植到别的电脑上运行,是因为我们用的这些PC机都是兼容80X86指令系统的,所以可以正常运行。

什么移不移植的,所有的CPU的汇编语言都是相通的,改改不就行了,哪个CPU没有MOV指令!?哪个CPU没有AND指令!?
说汇编语言可移植性差的全是懒猪!!!

(弱弱的补充一下:汇编语言的......确实......但是绝对没有把它拿出来当成缺点说的必要)

不是2种的汇编,其实的是一种的,只不过是为了方便和实现一些的功能做了一些指令的扩展,但是只是的在那一种的系列之中的不识别。需要的用这里的指令去编程序实现而已

有的人回答的不昨的啊,请正确理解汇编可移植性的意义

是一种
只要指令集一样就能移植