汇编语言入门学习笔记1

原文地址:


汇编言学习笔记
初步认识汇编

1.基本认识

什么是汇编语言?

汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。学习汇编语言很多时候不是为了用汇编语言去编程,而是让我们去理解机器思维,只有理解了机器的思维和运作方式,才能更好的去使用计算机。学习之前,首先要对硬件系统结构有一定的了解,汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。

机器语言是机器指令的集合。

机器指令展开来讲就是一台机器可以正确执行的命令。

指令:01010000等价于(PUSH AX)  :但显然后者更容易被我们接受。

汇编语言的主体是汇编指令。

汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。

汇编指令是机器指令的助记符。

汇编产生的原因:

机器指令: 1000100111011000
操作:寄存器 BX的内容送到AX中
汇编指令:MOV AX,BX
这样的写法与人类语言接近,便于阅读和记忆

寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
AX是其中一个寄存器的代号,
BX是另一个寄存器的代号

2.汇编语言的组成

汇编语言由以下3类组成:

1、汇编指令(机器码的助记符)
2、伪指令   (由编译器执行)
3、其它符号(由编译器识别)

汇编语言的核心是汇编指令,它决定了汇编语言的特性。 

指令与数据:

在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。

二进制信息:
   1000100111011000  
        ─> 89D8H (数据)
1000100111011000  
        ─> MOV AX,BX (程序)

总线:

地址总线: 一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽度为N。
这样的CPU最多可以寻找2的N次方个内存单元。
数据总线:CPU与内 存或其它器件之间的数据传送是通过数据总线来进行的。
数据总线的宽度决定了CPU和外界的数据传送速度。

控制总线: CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。
有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。
 所以,控制总线的宽度决定了CPU对外部器件的控制能力。

寄存器:
8086CPU有14个寄存器 它们的名称为:
   AX、BX、CX、DX、SI、DI、SP、BP、
   IP、CS、SS、DS、ES、PSW。
8086CPU所有的寄存器都是16位的,可以存放两个字节。
AX、BX、CX、DX 通常用来存放一般性数据被称为通用寄存器。
8086上一代CPU中的寄存器都是8位的;
为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。
AX可以分为AH和AL;
BX可以分为BH和BL;
CX可以分为CH和CL;
DX可以分为DH和DL。
AH和AL寄存器是可以独立使用的8位寄存器。

字在存储器中的存储:
一个字可以存在一个16位寄存器中,这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。

汇编指令不区分大小写!!

8086CPU如何用内部16位的数据转换成20位的地址呢?
地址加法器合成物理地址的方法:物理地址=段地址×16+偏移地址。

小结:

(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。
(7)1B =  8b1KB = 1024B 
           1MB = 1024KB1GB = 1024MB
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
(9)地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其它器件进行数据传送时的一次数据传送量;
控制总线宽度决定了CPU对系统中其它器件的控制能力。

猜你喜欢

转载自blog.csdn.net/weixin_37657720/article/details/79328535