汇编语言的语法由谁来定? 这些指令映射(如:mul 对应哪个机器码)由硬件厂商写入硬件还是由汇编器决定?
汇编语言的语法由谁来定? 这些指令映射(如:mul 对应哪个机器码)由硬件厂商写入硬件还是由汇编器决定?如果是CPU厂商写好的,那么存在哪里?还是由CPU厂商制定标准,再交给系统软件商?如果是由像MASM这样的汇编器决定,那么在操作系统出现之前,如何载入并使用汇编器? 问题点数:20、回复次数:16Top
1 楼W32API()回复于 2003-12-04 09:55:03 得分 0
CPU 内部的指令译码器,内部逻辑的微指令是不会透露的,而且往往很长。128bits 都很正常Top
2 楼wfy(错过的程式)回复于 2003-12-04 09:56:46 得分 0
如你所说,这牵涉到IC设计一块了,软件能不能达到某个功能关键看硬件支不支持,换句话说就是软体的每一条指令都是靠一个电路来实现的,当设计师把电路和指令设计好了以后,就会写一个编译的软体,这个软体是来把指令翻译机器码的,如:8086,C51,KILL51,EMC78447B,6502,8031等,它们的编译程序都是不一样的Top
3 楼dislimit(风飘雪影)回复于 2003-12-04 12:47:35 得分 0
我是电信专业的,所以这一块还比较熟.
我知道CPU是如何实现指令执行的.
但我想知道那个编译软件由谁写,存在哪里?
裸机能执行汇编指令吗?
像mov add mul这样的指令,是否一定要像MASM之类汇编器将其转化为可执行文件才能运行?
还是有更底层的方法?(主要想知道底层软硬件的接口)Top
4 楼dislimit(风飘雪影)回复于 2003-12-04 12:53:05 得分 0
比如我写了一串汇编指令,在没有汇编器的条件下能执行吗?
就是说,硬件上是否已经自带了解释字符指令的软件?Top
5 楼W32API()回复于 2003-12-04 13:06:19 得分 0
没有。。。CPU 只认 二进制指令Top
6 楼aabiao()回复于 2003-12-04 18:34:23 得分 0
指令代码当然是CPU厂家定的了,公开指令代码表即可
到INTEL网站刻下载说明
Top
7 楼dislimit(风飘雪影)回复于 2003-12-05 14:31:38 得分 0
那么是不是CPU厂商把指令代码表交给软件商,再由他们根据这个标准制作汇编器?
PS:
汇编语言的变量在被定义为(?)时,会被自动赋0,赋随机值,还是无法使用?Top
8 楼dislimit(风飘雪影)回复于 2003-12-05 16:36:16 得分 0
???????????????Top
9 楼aabiao()回复于 2003-12-05 17:21:00 得分 0
1.可以这么说吧
2.?是随机的吧
Top
10 楼W32API()回复于 2003-12-05 21:10:10 得分 0
不能说是随机的,是操作系统把未使用的空间分配给你,并且不帮你初始化。有可能是其它程序用过留下的垃圾,也有可能是你自己留下的垃圾Top
11 楼fancy0001(范喜)回复于 2003-12-05 23:36:42 得分 0
用common做段链接得时候你就知道了,?代表得是不改变其原值!!
汇编的指令所代表得机器码是由cpu厂商来决定得Top
12 楼bode(博得爵士)回复于 2003-12-06 10:14:04 得分 0
获益非浅呀!1Top
13 楼dislimit(风飘雪影)回复于 2003-12-06 11:17:36 得分 0
汇编的指令所代表得机器码是由cpu厂商来决定的.
那么其解释程序(或汇编器)呢?
cpu厂商是否写了自己的指令解释程序?并写入硬件?
还是列一个字符指令对照表,再由软件商制作汇编器?
(何必这么麻烦,自己写不是更好,让MS少赚点钱)Top
14 楼David829(David张)回复于 2003-12-06 11:29:17 得分 0
我觉得应该是CPU厂商自己写指令解释程序Top
15 楼aabiao()回复于 2003-12-06 12:30:10 得分 10
汇编器不难的,很容易写的。CPU厂商一般也自己写的。但解释器不可能写到CPU里面去
你用汇编语言,交给MS多少钱了?Top
16 楼W32API()回复于 2003-12-06 14:05:06 得分 10
CPU 内部有解释器。不过提供的是 我们所看到的 机器码 TO 内部微操作码 的转换Top




