汇编语言教学大纲

2019-08-30 11:33

一、基础知识

1、机器语言、汇编语言(低级语言)、高级语言的区别

※ 机器语言:以二进制0、1的形式直接书写,计算机可以直接识别和执行,无需编译、连接。 ※ 低级语言:占内存少、运行快(执行效率高)、移植性差、编程复杂 ※ 高级语言:占内存多、运行慢(执行效率低)、移植性好、编程容易 2、二、八、十、十六进制之间的转换 ※ 10进制→2进制:

整数部分除2取余,小数部分乘2取整; 结果的摆放顺序 ←?→ ※ 10进制→16进制:

整数部分除16取余,小数部分乘16取整; 结果的摆放顺序 ←?→ 3、符号数与补码

计算机中的符号数主要使用补码表示,最高位为符号位,0:表示正,1:表示负 求补码的公式为:X补=2+X 其中N为字长(即该补码的二进制位数)

N=8 真值 -1 -2 +1 +2 补码(2进制) 补码(16进制) 1111 1111 1111 1110 0000 0001 0000 0010 FF FE 01 02 真值 -1 -2 +1 +2 N=16 补码(2进制) 1111 1111 1111 1111 1111 1111 1111 1110 0000 0000 0000 0001 0000 0000 0000 0010 补码(16进制) FFFF FFFE 0001 0002 N

4、计算机基本结构

※ CPU:计算机的核心部件,主要完成各种算术和逻辑运算,由运算器和控制器组成。 ※ 存储器:即内存、主存,用于存储各种运算数据和指令。 ※ 寄存器:设在CPU内,使用触发器设计而成,用来存放临时数据;

※ CPU的字长:8、16、32、64位;字长取决于CPU内的寄存器位数及内部总线位数;

※ 8086CPU内部结构:

执行单元(EU)AHBHCHDHSPBPSIDI暂存器ALU标志寄存器ALBLCLDLAXBXCXDX总线接口部件(BIU)总线接口单元(BIU)20位地址总线地址加法器段寄存器CSDSSSESIP16位数据线总线总线控制控制逻辑通用寄存器组20位地址总线16位数据总线控制总线控制总线外部总线控制信号控制信号…EU控制器控制器123456指令队列指令队列 二、CPU主要寄存器及存储器的分段管理

※ 编写汇编程序要大量使用CPU内部的寄存器,因此极有必要掌握计算机CPU内的各种寄存器名称及用法。 1、CPU内主要有14个寄存器

※ 通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI

其中:AX、BX、CX、DX又可分为两个8位寄存器使用【AH、AL】 【BH、BL】 【CH、CL】 【DH、DL】 ※ 段寄存器:CS、DS、ES、SS ※ 指令指针寄存器:IP ※ 标志寄存器:FLAGS 15 14 13 12 11 OF 10 DF 9 IF 8 TF 7 SF 6 ZF 5 4 AF 3 2 PF 1 0 CF CF:借进位标志,当运算时最高位有借位或进位是自动为1,否则为0 PF:当运算结果中有偶数个1时,PF=1,否则PF=0 ZF:当运算结果为0时,ZF=1,否则ZF=0 SF:当运算结果为负,SF=1,否则SF=0 OF:当运算结果溢出时OF=1,否则,OF=0 2、存储器的概念

※ 存储器是按照一个字节作为一个存储单元进行地址分配的。即一个存储单元对应一个地址。 ※ 存储单元内可存放一个字节的数据。

逻辑地址

物理地址

单元内容

0000:0000 0000:0001 0000:0002 0000:0003

? F000:FFFD F000:FFFE F000:FFFF

00000 00001 00002 00003 ? FFFFD FFFFE FFFFF

08 7F 10 BC ? 9D 4C 2B 地址为00002单元的字节数据为10; 地址为FFFFF单元的字节数据为2B; 地址为00002单元的字数据为BC10; 地址为FFFFD单元的字数据为4C9D; 地址为00000单元的双字数据为BC107F08; 3、逻辑地址与物理地址

※ 逻辑地址:汇编源程序使用逻辑地址编程

※ 物理地址:计算机运行时按照物理地址对内存进行读写 举例如下:

逻辑地址 物理地址

1234H :5678H ----------179B8H

(16bit) (16bit) (20bit)

段地址:偏移地址

※ 逻辑地址与物理地址的映射关系如下: 段地址×16 + 偏移地址 =物理地址

※ 使用逻辑地址目的:可使程序灵活装入内存中任意未被占用的位置

三、寻址方式

指令的一般格式: 操作码 目的操作数 ,源操作数 1、立即寻址

MOV AL , 60H 将立即数60H送给AL

MOV BX , 1FBCH 将立即数1FBCH送给BX寄存器

ADD AX , 1200H AX中的值与立即数1200H相加以后送给AX寄存器 2、寄存器寻址 MOV AX ,BX 3、直接寻址

MOV AX ,【1600H】

MOV【1600H】 ,AX ADD【1600H】 ,AX 4、寄存器间接寻址 MOV AX ,【BX】 5、寄存器相对寻址

MOV AX ,30H【BX】 ; MOV AX ,【BX+30H】 6、基址变址寻址

MOV AX ,【BX】【SI】 MOV AX ,【BX+SI】 7、相对基址变址寻址

MOV AX ,30H【BX】【SI】 MOV AX ,【30H+BX+SI】 总结:

1、数的存放:

(1)立即数:第1种;特征:一个常量数字 (2)数在寄存器中:第2种;特征:寄存器名

(3)数在内存中:第3、4、5、6、7种;特征:有【】出现,除MOV AX ,X 这种形式外{X为变量名} 2、若数在内存中时,除了像 MOV AX ,DS:【1600H】这样,直接在指令中“:”前显式给出段地址寄存器外,都属于段寄存器隐含形式。

3、【】中只能有BX、BP、SI、DI四个寄存器出现,其它寄存器出现,均为错误指令; 4、【】中有两个寄存器同时出现时,BX、BP不同时出现,SI、DI不同时出现; 5、当段寄存器隐含时,若【】中有BP出现,则默认段寄存器为SS,否则都为DS; 6、内存寻址中,无论那种寻址,“:”右边全部相加作为偏移地址,“:”左边作为段地址; 练习:

已知寄存器DS=2000H,ES=2010H,SS=2100H,BX=0100H,SI=0002H,BP=0200H 且已知内存单元内容如下:

物理地址 20100H 20101H 20102H 20103H ? 21200H 21201H 数据 12H 34H 56H 78H ? 2AH 4CH

21202H 21203H B7H 65H 则以下指令执行后AX寄存器的值为多少?

(1)MOV AX,BX AX=______________; (2)MOV AX,[1200H] AX=______________; (3)MOV AX,[BX] AX=______________; (4)MOV AX,[BP][SI] AX=______________; (5)MOV AX,[BX][SI] AX=______________(6)MOV AX,ES:1001H[BX] AX=______________(7)MOV AX,1100H[BX+SI] AX=______________四、常用指令

1、数据传送指令 MOV AX,BX; MOV BL,CL; MOV BH,80H 2、加法指令 ADD CX,1; ADD AX,BX

INC CX; CX←CX+1 3、带进位加法指令 ADC CX,1; ADC AX,BX

和ADD指令相比多加一个CF借进位4、减法指令 SUB AX,BX; SUB DX,5; DEC CX; CX←CX-1 5、带进位减法指令 SBB AX,BX; SBB DX,5

和SUB指令相比多减一个CF借进位6、乘法指令

; ; ;


汇编语言教学大纲.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018届高三考前语文冲刺训练卷一含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: