1.机器语言和汇编语言

Posted xiaofei12

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.机器语言和汇编语言相关的知识,希望对你有一定的参考价值。

机器语言是机器指令的集合,机器指令是一列二级制数字,计算机又将转变一列高低电压,这样计算机的电子器件就受到驱动,进行运算了,每一个CPU都有自己的机器指令集,也就是规则,也叫做机器语言,早期的程序员编写代码,都是打洞呢,程序员将用0、1数字编成的程序代码打在纸带或者卡片上,1打孔,0就是不打孔。这样很显然不容易记忆,所以就开发了汇编语言,机器指令1000100111011000 表示把寄存器BX的内容送到AX,但是 汇编则写成,mov ax,bx。这样的写法与自然语言就很接近了,不是么,所以说,程序员真?聪明呢

但,机器指令怎么翻译成汇编指令呢,这就需要我们的编译器了,

 

在计算机中有专门连接cpu和其他芯片的导线,称为总线,根据传送信息的不同,总线从逻辑上分为:地址总线,控制线和数据总线

地址总线:CPU是通过地址总线来指定存储单元的。(寻址)

数据总线:CPU与内存或其他器件的数据传送通过数据总线。(传数)

控制总线:CPU对外部器件的控制是通过控制总线来进行的。(控力)

假如10条地址总线,意味着它能寻址1024个,因为210是1024,一条总线只要两种状态,高电压和低电压

 不同CPU,寄存器的个数不一样,结构不一样,8086CPU有14个寄存器,分别为:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.

8086CPU的所以寄存器都是16位的,可以存放2个字节,(A~D)X 四个寄存器存一般数据,被称为通用寄存器;

而这四个寄存器又可分别 分为2个8位寄存器来用

  • AX分为AH和AL
  • BX分为BH和BL
  • CX分为CH和CL
  • DX分为DH和DL

一句话,AX的寄存器的低8位(0~7)叫AL寄存器,高8位(8~15)叫AH寄存器。AH和AL可独立使用

终于开始语法了

mov ax,18   将18送入到寄存器AX里       AX=18(C语言)

add ax ,18   将寄存器AX的数值加上18      AX+=18(C语言)

mov ax, bx      将寄存器BX的数字送入到AX里      AX=BX

add ax,bx    将寄存器BX的数值加上AX放到AX里   AX+=BX

我们知道8086CPU是16位机 而16位机代表什么呢 :

  • 运算器一次最大处理16位的数据
  • 寄存器的最大宽度位16位
  • 寄存器和运算器之间的通路为16位

 

以上是关于1.机器语言和汇编语言的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言 第一章基础知识

汇编第一章总结

编程语言的介绍

编程语言发展史

汇编语言实验1 查看CPU和内存,用机器指令和汇编指令编程

编程语言介绍