汇编语言基础

预备知识

冯·诺依曼计算机

冯·诺依曼原理:计算机的基本工作原理是存储程序和程序控制。”

冯·诺依曼计算机计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成。运算器和控制器合称中央处理器(CPU)。各部分之间由系统总线相连。

冯·诺依曼计算机的基本特点:

1)采用存储程序方式,即程序和数据放在同一个存储器中,程序指令和数据都用二进制表示,两者都可以送到CPU执行和运算。

2)存储器是按地址访问的,每个存储器单元的位数是固定的。存储单元采用线性编制方式,按顺序取出指令。

3)指令由操作码和地址码构成。根据指令含义发出控制信号控制计算机的操作。

4)机器以运算器为中心,输入/输出设备都要经过CPU和存储器间进行数据传送。

CPU

机器字长是指该计算机能进行多少位二进制数的并行运算,实际上是指该计算机中的运算器有多少位,通常算机的数据总线寄存器的位数机器字长一致。

运算器是对信息或数据进行处理和运算的部件,可以实现各种算术运算和逻辑运算。

控制器主要用来实现计算机本身运行过程的自动化,即实现程序的自动执行,是计算机的管理机构和指挥中心。

寄存器中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据等。

每一个CPU芯片都有许多管脚,这些管脚和总线相连。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:

地址总线的宽度决定了CPU的寻址能力;

数据总线的宽度决定了CPU与其它器件进行数据传送时的一次数据传送量;

控制总线宽度决定了CPU对系统中其它器件的控制能力。

存储器

CPU 是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU 工作,就必须向它提供指令和数据。指令和数据在存储器中存放,也就是平时所说的内存。

在一台PC机中内存的作用仅次于CPU。离开了内存,性能再好的CPU也无法工作。

磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU 使用

若将一个字存入存储器,需要遵循“小端方式”的规则,即:

1)一个字占据两个相邻的存储单元。0x1234如何存

2)低位字节存入低位地址,高位字节存入高位地址。

3)字的地址由其低地址来表示

举例说明:

(00002H)= 12H ,或 [ 00002H ]= 12H
(00003H)= 34H ,或 [ 00003H ]= 34H
(00002H)= 3412H
(00002H)= 78563412H

汇编语言(Assembly Language,第二代程序设计语言)

定义:汇编语言是汇编指令的集合,汇编指令是机器指令的符号化(用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址),还包括伪指令和宏指令。

机器语言(Machine Language,第一代程序设计语言)机器语言是由二进制0、1代码构成指令,不同的CPU 具有不同的指令系统机器语言程序难写、难读、难修改、难维护,编程效率极低。

几点说明:

(1)汇编语言指令是机器指令的一种符号表示,所以,汇编语言亦称为符号语言。

(2)汇编语言是面向机器的,与机器指令存在着直接的对应关系,不同类型的CPU有不同的机器指令系统,也就有不同的汇编语言

(3)汇编语言处于整个计算机语言层次结构的底层,故被视为一种低级语言

(4)汇编语言同样存在着难学难用、容易出错、维护困难等缺点。

汇编语言基本概念与术语

汇编语言涉及的基本概念有:

  1. 数的表示
  2. 寄存器
  3. 存储单元
  4. 指令格式
  5. 语法规则

➢ 寻址方式;指令系统; 程序组织

要想学习掌握汇编语言程序设计,就要先学习、掌握这些基础知识。

几个术语

汇编:把汇编语言翻译成机器语言的过程。

汇编程序:用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序

反汇编:把机器语言(目标代码)转为汇编语言的过程。

数与编码

主要内容:各种进位计数制及其转换,二进制编码及运算。在计算机中,数通常用二进制数、八进制数、十六进制和十进制来表示。汇编语言程序经常用到的是十六进制和二进制数。

(1)二进制算术运算(加、减、乘、除)

2)二进制的逻辑运算(逻辑与、或、异或、非)

3)十六进制运算:在汇编语言中,只要求掌握十六进制的加、减、乘运算。

(4)ASCII码(American Standard Code for Information Interchange)计算机中,将数字、字母和标点符号以及控制信息等进行统一编码,最常用的就是美国信息交换标准码ASCII码。

寄存器

8086/8088CPU的寄存器组

8086/8088CPU的寄存器共有14个,都是16位的寄存器,根据用途分为数据寄存器(AX、BX、CX、DX)、段寄存器(CS、DS、ES、SS)、地址寄存器(SI、DI、BP、SP)和控制寄存器(IP、FR)4种类型。

图1 寄存器

1. 数据寄存器

数据寄存器包括AX、BX、CX、DX四个通用寄存器,用于存放计算过程中所用的操作数、结果等信息,即是存放数据的寄存器。

➢ AX:通用寄存器,主要作为累加器用,是算术运算的主要寄存器

➢ BX:通用寄存器,还用作基址寄存器

➢ CX:通用寄存器,还用作计算器

➢ DX:通用寄存器,还在做双精度数运算时用来与AX一起存放一个32位双字操作数,DX存放高字(高16位),AX存放低字(低16位)。

8086上一代CPU中的寄存器都是8位的;为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。分别为AH、AL、BH、BL、CH、CL、DH、DL,H表示高字节寄存器(高8位),L表示低字节寄存器(低8位)。见图1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有大病么你说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值