在学习汇编的时候,总是看到会涉及到关于机器码的问题.
比如:二进制码0000 0100B可以表示为04H.04H所对应的指令的意义是累加器A的内容加1.
那么这个04H怎么就对应的是累加器的内容加一了?直接写成INC A不是一个意思嘛!
我想请问这个机器码是用什么规则制定出来的?
机器码有什么用处?
是不是应该有个机器码查询表?
我初学不久,有很多问题不明白,希望各位高人指教~~谢谢!
关于汇编中的机器码的问题,请高人指点!
全部回复(5)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
所有的计算机本身运行是都是执行的机器码,就是你说的那外0101的那个东东.
最早的计算机编程时就要输入一条条的机器码,但机器码很难记,不直观.所以出现了汇编语言.这汇编语言好记些,但计算机不认识,需要编译成机器码才能给计算机执行.最早是人工编译,先写好汇编,然后查表把与汇编语言每句改写成相应的机器码,再把机器码一个字节一个字节输入到计算机中.俺就用过最早的Z80单板机(不是单片机),用数字键盘一条条输入.
后来才出现用程序编译,但汇编与人所习惯的语言还有较大差距,每一条汇编指令只相对一条机器指令.为解决这个问题才出现与人所习惯的语言更相近的高级语言,每一句相当于好多条机器指令甚至整大段程序.高级语言就没法人工编译了,至少是非常非常困难,所以高级语言一开始就是用程序编译或解释的.
简单地说,机器码就是计算机认识的指令或叫语言,汇编语言或高级语言是人认识的语言,汇编语言或高级语言CPU不认识,需要编译或解释成机器码计算机才能认识.
最早的计算机编程时就要输入一条条的机器码,但机器码很难记,不直观.所以出现了汇编语言.这汇编语言好记些,但计算机不认识,需要编译成机器码才能给计算机执行.最早是人工编译,先写好汇编,然后查表把与汇编语言每句改写成相应的机器码,再把机器码一个字节一个字节输入到计算机中.俺就用过最早的Z80单板机(不是单片机),用数字键盘一条条输入.
后来才出现用程序编译,但汇编与人所习惯的语言还有较大差距,每一条汇编指令只相对一条机器指令.为解决这个问题才出现与人所习惯的语言更相近的高级语言,每一句相当于好多条机器指令甚至整大段程序.高级语言就没法人工编译了,至少是非常非常困难,所以高级语言一开始就是用程序编译或解释的.
简单地说,机器码就是计算机认识的指令或叫语言,汇编语言或高级语言是人认识的语言,汇编语言或高级语言CPU不认识,需要编译或解释成机器码计算机才能认识.
0
回复
提示