计算机是有许多逻辑门电路和一些电子元件组成的,不同硬件组成的计算机有不同的指令集,这一指令集可以用 20
计算机是有许多逻辑门电路和一些电子元件组成的,不同硬件组成的计算机有不同的指令集,这一指令集可以用助记符表示的,也就是汇编语言,早期汇编语言可以有专业人士人工翻译成机器语...
计算机是有许多逻辑门电路和一些电子元件组成的,不同硬件组成的计算机有不同的指令集,这一指令集可以用助记符表示的,也就是汇编语言,早期汇编语言可以有专业人士人工翻译成机器语言的,然后把这些机器语言输到计算机的,最后计算机执行输出结果,后来计算机可以自动翻译这些助记符也就是汇编语言,我想知道计算机是怎么自动翻译的,这个过程是怎么回事的,(我知道有编译器的)?哪位大侠们能给小弟一些指点的啊。有哪本书可以给小弟推荐看的
比如,下面这些数字就是存放在内存中的8086指令
B8 3F 00 01 C3 01 C1
他们的意思是
将立即数003FH传送到寄存器AX;
将寄存器BX的内容和寄存器AX的内容相加,结果在BX中;
将寄存器CX的内容和寄存器AX的内容相加,结果在CX中。
这三个的汇编语言是
mov ax,3FH
add bx,ax
add cx,ax
那么把这三条汇编语言输到计算机里面,计算机怎么把这三条汇编语言变成机器指令的?谢谢! 展开
比如,下面这些数字就是存放在内存中的8086指令
B8 3F 00 01 C3 01 C1
他们的意思是
将立即数003FH传送到寄存器AX;
将寄存器BX的内容和寄存器AX的内容相加,结果在BX中;
将寄存器CX的内容和寄存器AX的内容相加,结果在CX中。
这三个的汇编语言是
mov ax,3FH
add bx,ax
add cx,ax
那么把这三条汇编语言输到计算机里面,计算机怎么把这三条汇编语言变成机器指令的?谢谢! 展开
2013-08-23
展开全部
理解有问题啊。
“比如,下面这些数字就是存放在内存中的8086指令B8 3F 00 01 C3 01 C1”,其中“B8 3F 00 01 C3 01 C1”就已经是机器语言了,之所以用十六进制而不是二进制,只是一个表达方便的问题,在存储器中,肯定是二进制的。
当你用高级语言写好程序后,然后用编译器(编译原理比较高深,主要就是一个源代码识别和源代码-高级语言与低级代码之间的转换,最终的低级代码就是机器语言,究竟一条二进制机器码代表什么由硬件设计决定。基本可以说写一个XX编译器,就算诞生了XX语言)与链接器翻译成可执行文件(所谓文件,就是有一定的格式,因此它并非所有的内容都是二进制指令了。不过,这个自有操作系统能够识别出哪些是指令)。运行可执行文件的时候,操作系统根据自己的机制,加载数据到内存。其中的指令,当被送入指令寄存器的时候,由硬件分解(翻译)指令,生成执行这个指令所应该有的所有电信号(这是硬件设计决定的,建议去了解一下时序电路)。当然,操作系统的所有动作,归根结底还是硬件实现的,这个你得了解计算机的硬件与软件究竟是如何结合的。
建议你看看《计算机原理》、《计算机接口技术》(或者51单片机原理)、《数字电路》(了解一下时序电路,这是计算机硬件实现的关键)、《脉冲电路》(仅仅了解一下触发器、门电路即可,有助于对打破砂锅问到底者的满足)、《操作系统原理》(关键点是了解软硬在那一刹那是如何结合的。这里很有哲学之美。),要深刻理解软硬的结合,还建议你了解PE结构、学习反汇编、手工汇编,《深入理解计算机系统》这书不错。
“比如,下面这些数字就是存放在内存中的8086指令B8 3F 00 01 C3 01 C1”,其中“B8 3F 00 01 C3 01 C1”就已经是机器语言了,之所以用十六进制而不是二进制,只是一个表达方便的问题,在存储器中,肯定是二进制的。
当你用高级语言写好程序后,然后用编译器(编译原理比较高深,主要就是一个源代码识别和源代码-高级语言与低级代码之间的转换,最终的低级代码就是机器语言,究竟一条二进制机器码代表什么由硬件设计决定。基本可以说写一个XX编译器,就算诞生了XX语言)与链接器翻译成可执行文件(所谓文件,就是有一定的格式,因此它并非所有的内容都是二进制指令了。不过,这个自有操作系统能够识别出哪些是指令)。运行可执行文件的时候,操作系统根据自己的机制,加载数据到内存。其中的指令,当被送入指令寄存器的时候,由硬件分解(翻译)指令,生成执行这个指令所应该有的所有电信号(这是硬件设计决定的,建议去了解一下时序电路)。当然,操作系统的所有动作,归根结底还是硬件实现的,这个你得了解计算机的硬件与软件究竟是如何结合的。
建议你看看《计算机原理》、《计算机接口技术》(或者51单片机原理)、《数字电路》(了解一下时序电路,这是计算机硬件实现的关键)、《脉冲电路》(仅仅了解一下触发器、门电路即可,有助于对打破砂锅问到底者的满足)、《操作系统原理》(关键点是了解软硬在那一刹那是如何结合的。这里很有哲学之美。),要深刻理解软硬的结合,还建议你了解PE结构、学习反汇编、手工汇编,《深入理解计算机系统》这书不错。
展开全部
简单讲就是将规定的助记符转化为机器指令码,如:LDA 10,翻译为:A9 10,A9机器码就是“取数”指令,10是立即数,这些都是CPU规定的。一般在《电脑基础》等基础类书中机器指令相关章节有说明。
更多追问追答
追问
就是这个过程怎么实现的?
追答
用比较啊,当你输入了三个字符,它就与已有指令对应
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
仅仅是编译,输入编译器就行了。如果要进入电脑的系统,则编译器不同,那就是修改系统,也就是自杀性行为,除非你是顶级程序员。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询