华科 汇编语言程序设计课件第1章
合集下载
汇编语言程序设计教程版PPT课件
![汇编语言程序设计教程版PPT课件](https://img.taocdn.com/s3/m/f94d78a80508763230121265.png)
• 学好这门课程,可为学习相关的专业课打下基础, 它是《微机原理及接口技术》、《操作系统》、 《计算机组成原理》、《编译原理》和《单片机 原理及应用》等的前导课程。
2020/12/29
汇编语言程序设计教程
3
目录
第1章 汇编语言基础知识 第2章 微型计算机体系结构 第3章 微型计算机的指令系统 第4章 伪指令与汇编语言程序结构设计 第5章 汇编语言程序设计 第6章 子程序设计 第7章 输入/输出程序设计 第8章 高级汇编技术 第9章 DOS/BIOS功能调用 第10章 汇编语言上机环境及程序设计实例
汇编语言程序设计教程
17
计算机硬件组成
• 运算器是对信息或数据进行处理和运算的部件, 可以实现各种算术运算和逻辑运算。
• 控制器(Control Unit, CU)主要用来实现计算机 本身运行过程的自动化,即实现程序的自动执行, 是计算机的管理机构和指挥中心。
• 存储器是计算机的存储和记忆装置,用来存储程 序和数据,由存储单元组成。
冲数,以MHz(兆赫兹)为单位。 • 存储器容量的大小不仅影响着存储程序和数据的多少,而且也影响着
运行这些程序的速度。
• 存储器完成一次数据的读(取)或写(存)操作所需要的时间称为存 储器的存取(或访问)时间。存储器执行一次完整的读/写操作所需要 的时间称为存取周期。
• 系统的可靠性通常用平均无故障时间MTBF和平均故障修复时间 MTTR来表示。
• 高性能:尖端科技领域的信息处理,需要超大容量、高速度的 计算机系统。人们对于高性能计算机的追求是无止境的。
• 智能化:模拟人类大脑思维和交流方式,具有多种处理能力, 如智能机器人等。
• 系列化、标准化:便于各种计算机硬、软件兼容和升级。
2020/12/29
汇编语言程序设计教程
3
目录
第1章 汇编语言基础知识 第2章 微型计算机体系结构 第3章 微型计算机的指令系统 第4章 伪指令与汇编语言程序结构设计 第5章 汇编语言程序设计 第6章 子程序设计 第7章 输入/输出程序设计 第8章 高级汇编技术 第9章 DOS/BIOS功能调用 第10章 汇编语言上机环境及程序设计实例
汇编语言程序设计教程
17
计算机硬件组成
• 运算器是对信息或数据进行处理和运算的部件, 可以实现各种算术运算和逻辑运算。
• 控制器(Control Unit, CU)主要用来实现计算机 本身运行过程的自动化,即实现程序的自动执行, 是计算机的管理机构和指挥中心。
• 存储器是计算机的存储和记忆装置,用来存储程 序和数据,由存储单元组成。
冲数,以MHz(兆赫兹)为单位。 • 存储器容量的大小不仅影响着存储程序和数据的多少,而且也影响着
运行这些程序的速度。
• 存储器完成一次数据的读(取)或写(存)操作所需要的时间称为存 储器的存取(或访问)时间。存储器执行一次完整的读/写操作所需要 的时间称为存取周期。
• 系统的可靠性通常用平均无故障时间MTBF和平均故障修复时间 MTTR来表示。
• 高性能:尖端科技领域的信息处理,需要超大容量、高速度的 计算机系统。人们对于高性能计算机的追求是无止境的。
• 智能化:模拟人类大脑思维和交流方式,具有多种处理能力, 如智能机器人等。
• 系列化、标准化:便于各种计算机硬、软件兼容和升级。
汇编语言程序设计第一章优秀课件
![汇编语言程序设计第一章优秀课件](https://img.taocdn.com/s3/m/c5648ecc10a6f524cdbf8566.png)
南开大学 朱耀庭
2. 汇编语言
❖ 用汇编语言编写的程序称作汇编语言程序,或汇编语言源 程序,在本教材中也简称为源程序。汇编语言程序较之机 器指令程序容易理解和维护。 汇编语言源程序是一个文本文件,它必须经过翻译才能够 变成可执行的机器语言程序,这个翻译过程称作汇编。汇 编的核心过程是将汇编指令逐条翻译成机器指令,这正是 汇编语言中“汇编”一词的含义。
南开大学 朱耀庭
2. 汇编语言
❖ 因此,用助记符表示的机器指令称作汇编指令,用汇编指 令编写的程序称作汇编指令程序。但汇编指令最终必须翻 译成机器指令才能够在机器上执行。 汇编语言是汇编指令集、伪指令集及其使用规则的统称。 能够一对一地翻译成机器指令的这种用助记符表示的机器 指令称作汇编指令。伪指令则是出现在汇编语言程序中的 一些辅助性的说明,它不对应具体的机器指令,而是程序 设计者与汇编过程中的翻译程序(即汇编)、连接程序, 以及执行时如何装入的一种约定。有关内容详见5.1节。
❖ 用机器指令所写的程序称作机器指令程序,机器指令 程序也指用代码指令所写的程序。机器指令程序遵循 冯•诺依曼原理:用二进制表示数,程序与数据都存储 在同样的存储器,程序指令一般顺序存取顺序执行。
南开大学 朱耀庭
1. 机器语言
❖ 计算机出现初期只有一种机器语言,程序员只能用代 码指令编写程序,即机器语言程序。用机器语言编写 程序是相当艰苦的工作,必须由经过严格训练的专业 技术人员承担,这是早期计算机之所以不能够广泛应 用的最大障碍之一。
1.1.1 面向机器的语言
1
机器语言
2
汇编语言
3
机器语言与汇编语言
南开大学 朱耀庭
1. 机器语言
❖ 机器语言程序由机器指令构成,这些机器指令按照执 行顺序依次排列,运行时依次执行完成某个特定的计 算或任务。
汇编语言程序设计第1章
![汇编语言程序设计第1章](https://img.taocdn.com/s3/m/467967e65a8102d276a22ff1.png)
功能:从键盘接收字符并且放入到内存缓冲区。
要求执行前:(1)先定义一个输入缓冲区,缓冲区内第一个字 节定义为允许最多输入的字符个数,个数应包括回车符ODH在 内,不能为0值。第二个字节保留,在执行程序完毕后存入输入 的实际的字符个数。从第三个字节开始存入从键盘上接收的字 符的ASCII码。
(2)若实际输入的字符个数少于定义的最大的字符个数,则缓 冲区其他单元自动清0值。若实际输入的字符个数多于定义的字 符个数,其后输入的字符丢弃不用,且响铃示警,一直到键入 回车(CR)为止。
设置入 口参数
执行INT n指令,即 执行中断服务程序, 最后执行IRET
分析处理 出口参数
第 4 章 4.4DOS与BIOS的调用
DOS软中断
软中断 INT 20H INT 21H INT 22H INT 23H
功能 程序正常退出 系统功能调用 结束退出 Ctl+break中断退出
入口参数
AH=功能号
格式:MOV AH,01H INT 16H
第 4 章 4.4.3 ROMBIOS中断调用
1.键盘输入(类型码为16H的中断调用) (3)功能号02H调用 功能是检查键盘上各特殊功能键的状态。执行后,各种 特殊功能键的状态放入AL寄存器中。
………….
DATA ENDS
CODE SEGMENT
……….
MOV AX,DATA
MOV DS,AX …………. MOV DX,OFFSET BUF
执行程序,在屏幕上显示: “HOW DO YOU DO?” 字符串符号。
MOV AH,09H
INT 21H
…….
CODE ENDS
第 4 章 4.4DOS与BIOS的调用
MOV AH ,8 INT 21H
要求执行前:(1)先定义一个输入缓冲区,缓冲区内第一个字 节定义为允许最多输入的字符个数,个数应包括回车符ODH在 内,不能为0值。第二个字节保留,在执行程序完毕后存入输入 的实际的字符个数。从第三个字节开始存入从键盘上接收的字 符的ASCII码。
(2)若实际输入的字符个数少于定义的最大的字符个数,则缓 冲区其他单元自动清0值。若实际输入的字符个数多于定义的字 符个数,其后输入的字符丢弃不用,且响铃示警,一直到键入 回车(CR)为止。
设置入 口参数
执行INT n指令,即 执行中断服务程序, 最后执行IRET
分析处理 出口参数
第 4 章 4.4DOS与BIOS的调用
DOS软中断
软中断 INT 20H INT 21H INT 22H INT 23H
功能 程序正常退出 系统功能调用 结束退出 Ctl+break中断退出
入口参数
AH=功能号
格式:MOV AH,01H INT 16H
第 4 章 4.4.3 ROMBIOS中断调用
1.键盘输入(类型码为16H的中断调用) (3)功能号02H调用 功能是检查键盘上各特殊功能键的状态。执行后,各种 特殊功能键的状态放入AL寄存器中。
………….
DATA ENDS
CODE SEGMENT
……….
MOV AX,DATA
MOV DS,AX …………. MOV DX,OFFSET BUF
执行程序,在屏幕上显示: “HOW DO YOU DO?” 字符串符号。
MOV AH,09H
INT 21H
…….
CODE ENDS
第 4 章 4.4DOS与BIOS的调用
MOV AH ,8 INT 21H
汇编语言程序设计第1章汇编语言基础知识PPT课件
![汇编语言程序设计第1章汇编语言基础知识PPT课件](https://img.taocdn.com/s3/m/00ba5ece551810a6f52486dd.png)
2018/12/11
第1章
汇编语言基础知识
17
《汇编语言程序设计》
词汇表
23.数据段 数据段存放当前运行程序所用的数据,数据段的段地址存放在 DS中。 24.附加段 附加段是附加的数据段,也用于数据的保存,另外,串操作指令 将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。 25.堆栈段 堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆 栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆 栈中的数据。
2018/12/11
第1章
汇编语言基础知识
16
《汇编语言程序设计》
词汇表
21.物理地址 在1M字节的存储器里,每一个存储单元都有一个唯 一的20位地址,称为该存储单元的物理地址,把段地址左 移4位再加上偏移地址就形成物理地址。 22.代码段 程序员在编制程序时要把存储器划分成段,代码段用 来存放程序的指令序列,代码段的段地址存放在CS中,指 令指针寄存器IP指示代码段中指令的偏移地址,处理器利 用CS:IP取得下一条要执行的指令。
词汇表
2.汇编语言 汇编语言是一种符号语言,几乎和机 器语言一一对应,它采用便于记忆、并能 描述指令功能的符号来表示机器指令,比 机器语言容易理解和掌握。
2018/12/11
第1章
汇编语言基础知识
6
《汇编语言程序设计》
词汇表
3.汇编语言源程序 用汇编语言编写的程序称为汇编语言 源程序,简称源程序。
2018/12/11
第1章 汇编语言基础知识
19
《汇编语言程序设计》
词汇表
29.子程序 子程序又称为过程,它相当于高级语言中的过程和函数。在一个 程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结 构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段 写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程 序段也可编制成子程序的形式供用户使用。 30.中断 中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操 作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输 出请求,也可能是计算机的一些异常事故或其它内部原因。
汇编语言ppt第1章
![汇编语言ppt第1章](https://img.taocdn.com/s3/m/9fff0d58bfd5b9f3f90f76c66137ee06eef94e6f.png)
☆学习方法:
记忆 大量阅读编程实例 习题练习和上机练习
☆本课程的考核方法:
平时成绩占30分,期末卷面成绩占40分。 旷课在三次及三次以上记不合格。 理论课,上机课迟到四次及四次以上记不合格。 理论课,上机课无故提前下课以旷课记。 作业及实验报告两次及两次以上未交记不合格
☆时间安排: 1至13周(全为理论课,上
11101.1011001B 1100110B
3) 八进制:和十六进制一样用于解决二进制书写长且 不易阅读的问题。由0~7共8个数字组成,基数为8。
小数点左边从右至左各位的权依次是:
80,81,82,83,84…… 小数点右边从左至右各位的权依次是:
8-1,8-2,8-3,8-4…… 八进制数字的表示方法是在0~7组成的序列后跟一个 字母Q。 如:1477Q
整数部分
小数部分
十进制数字的表示方法是在0~9数字序列后跟一个字母 D或不跟任何字母。
如:128或128D
2) 二进制:由数字0和1组成,基数为2。 小数点左边从右至左各位的权依次是: 20,21,22,23,24…… 小数点右边从左至右各位的权依次是: 2-1,2-2,2-3,2-4……
二进制数字的表示方法是在0、1序列后跟一个字母B 如:
45/2--------1 22/2--------0 11/2--------1 5/2--------1 2/2--------0 1/2--------1
汇编语言源程序
存储器
XXXX.ASM
10110010 11001011 01111100
. .Biblioteka C 语言源程序 XXXX.C cout<<3+2;
机器语言程序
2. 汇编语言的意义
汇编程序设计第一章PPT课件
![汇编程序设计第一章PPT课件](https://img.taocdn.com/s3/m/df09d0879b89680203d825f5.png)
NT IOPL OF DF IF TF SF ZF AF PF CF 80286 VM RF NT IOPL OF DF IF TF SF ZF AF PF CF 386/486DX AC VM RF NT IOPL OF DF IF TF SF ZF AF PF CF 80486SX ID VIPVIFAC VM RF NT IOPL OF DF IF TF SF ZF AF PF CF 80586
Pentium Ⅱ
64
32
36
Pentium Ⅲ
64
32
36
Pentium Ⅳ
64
32
36
Itanium(安腾)
64
64
44
寻址空间(字 节) 1M 1M 16M 16M 4G 4G 64G 64G 64G 64G 16T
返回本章首页
第1章 基础知识
2.CPU的主要性能指标
⑴ 机器字长 ⑵ 速度 ⑶ 主频
图1.1微型计算机基本结构
第1章 基础知识
特别要提到的是微型计算机的总线结构,它是一个独 特的结构。有了总线结构以后,系统中各功能部件之间的 相互关系变为各个部件面向总线的单一关系。一个部件只 要符合总线标准,就可以连接到采用这种总线标准的系统 中,使系统功能得到扩展。
数据总线用来在CPU与内存或其他器件之间进行数据 传送用的。它是双向的,数据总线的宽度决定了CPU和外 界的数据传送速度, 8根数据总线一次可传送一个8位二进制 数据(即一个字节),16根数据总线一次可传送2个字节。在 微型机中,数据的含义是广义的,数据总线上传送的不一 定是真正的数据,而可能是指令代码、状态量或控制量。
第1章 基础知识
2.段寄存器
在IBM PC机中存储器采用分段管理的方法,因此一 个物理地址需要用段基地址和偏移量表示。一个程序可以 由多个段组成,但对于8086~80286,由于只有4个段寄存 器,所以在某一时刻正在运行的程序只可以访问4个当前 段,而对于80386及其以上的机器,由于有6个段寄存器, 则可以访问6个当前段。在实模式下段寄存器存放当前正 在运行程序的段基地址的高16位,在保护模式下存放当前 正在运行程序的段选择子,段选择子用以选择描述符表中 的一个描述符,描述符描述段的基地址、长度和访问权限 等,显然在保护模式下段寄存器仍然是选择一个内存段, 只是不像实模式那样直接存放段基址罢了。
Pentium Ⅱ
64
32
36
Pentium Ⅲ
64
32
36
Pentium Ⅳ
64
32
36
Itanium(安腾)
64
64
44
寻址空间(字 节) 1M 1M 16M 16M 4G 4G 64G 64G 64G 64G 16T
返回本章首页
第1章 基础知识
2.CPU的主要性能指标
⑴ 机器字长 ⑵ 速度 ⑶ 主频
图1.1微型计算机基本结构
第1章 基础知识
特别要提到的是微型计算机的总线结构,它是一个独 特的结构。有了总线结构以后,系统中各功能部件之间的 相互关系变为各个部件面向总线的单一关系。一个部件只 要符合总线标准,就可以连接到采用这种总线标准的系统 中,使系统功能得到扩展。
数据总线用来在CPU与内存或其他器件之间进行数据 传送用的。它是双向的,数据总线的宽度决定了CPU和外 界的数据传送速度, 8根数据总线一次可传送一个8位二进制 数据(即一个字节),16根数据总线一次可传送2个字节。在 微型机中,数据的含义是广义的,数据总线上传送的不一 定是真正的数据,而可能是指令代码、状态量或控制量。
第1章 基础知识
2.段寄存器
在IBM PC机中存储器采用分段管理的方法,因此一 个物理地址需要用段基地址和偏移量表示。一个程序可以 由多个段组成,但对于8086~80286,由于只有4个段寄存 器,所以在某一时刻正在运行的程序只可以访问4个当前 段,而对于80386及其以上的机器,由于有6个段寄存器, 则可以访问6个当前段。在实模式下段寄存器存放当前正 在运行程序的段基地址的高16位,在保护模式下存放当前 正在运行程序的段选择子,段选择子用以选择描述符表中 的一个描述符,描述符描述段的基地址、长度和访问权限 等,显然在保护模式下段寄存器仍然是选择一个内存段, 只是不像实模式那样直接存放段基址罢了。
汇编语言程序设计第1章
![汇编语言程序设计第1章](https://img.taocdn.com/s3/m/4272bfa071fe910ef12df838.png)
3) 视频图像输入 从摄像机、录像机和彩电中来的视频图像信息,通过视频 处理部件转换成二进制代码,以一定的图像文件格式存入计算 机的外部存储器中。以VGA全屏显示方式计算(分辨率为 640×480,共256种色彩)则显示一帧所需存放的信息为300 KB。 如果以50帧计算,则存放连续半小时的视像信息需要27 GB,对
它不是真正的16位芯片,它的内部总线是16位的,外部总线是8 位的,是一种准16位芯片。
80186与80188是另一种高集成度的16/8位微处理芯片。它将
8086/8088与其他常用的20多个器件集成在一块芯片上,同时增 加了I/O(输入/输出)指令,寻址空间仍为1 MB,可以使用数值协 处理器80187,但没有存储管理与保护部分。 1982年推出的80286是真正的16位、具有存储管理与保护机
64位、128位甚至更高。
(3) 采用了RISC技术。从CISC体系结构转变为RISC体系结 构后,在同样的工艺水平(即同样的主频、同样的工艺尺寸、同 样的芯片面积)下,使CPU的速度和性能有了很大的提高。
(4) 降低电路工作电压,不断缩小工艺尺寸。工作电压的降
低有利于工艺尺寸的缩小。 (5) 增加了芯片内并行工作的信息处理部件,如整数部件、 浮点加法器、浮点乘法器、图形部件等。芯片内具有两个以上 的并行指令流水线,每次并行地向各流水线分配多条指令以进 行并行处理,这是利用硬件资源的重复来换取芯片性能的提高。
1985年推出了高性能32位微处理器80386,它与8086、 80286相兼容,这标志着32位微处理时代的到来。继80386之后,
Intel公司于1989年又推出了80486微处理器;1993年又推出了更
高性能的微处理器——Pentium。目前,Pentium系列的微处理器
汇编语言程序设计第01章第05章PPT教学课件
![汇编语言程序设计第01章第05章PPT教学课件](https://img.taocdn.com/s3/m/56e0bd6ebb68a98271fefa84.png)
xxxx1000 xxxx1001 xxxx0000 xxxx0001B 又可以表示为:
x8 x9 x0 x1H
2020/12/12
10
5.2.1 十进制算术运算
1.BCD码
(2)压缩BCD码
压缩BCD码以4个二进制数码表示一个十进制数码。 一个十进制数可表示为一个顺序排列,8位二进制数 码为一组的二进制数字串。
2020/12/12
15
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算 (2)非压缩BCD码减法调整指令 格式:AAS 功能:(在AAS指令前,应该已经使用SUB、SBB或DEC指令, 且用AL存放二进制减法之差)AAS指令将AL中的差调整为非 压缩BCD码并送回AL,向高位的借位在AH和CF中。具体实现 方法是:若AL中低4位>9,则AL←(AL)-6,AH←(AH)-1, 且AL高4位清零,AF、CF置1;否则使AF、CF置0。
2020/12/12
12
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算
(1)非压缩BCD码加法调整指令
格式:AAA
功能:(在AAA指令前,应该已经使用ADD、ADC或INC指令, 且用AL存放二进制加法之和)AAA指令将AL中的和调整为非 压缩BCD码并送AX。
具体实现方法:若二进制相加后(AL)低4位>9或AF=1, 则AL←(AL)+6,AH←(AH)+1,且AL高4位清零,AF、 CF置1;否则使AF、CF置0。
2020/12/12
13
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算 (1)非压缩BCD码加法调整指令 【例5.1】
DATA DB 05H, 08H
x8 x9 x0 x1H
2020/12/12
10
5.2.1 十进制算术运算
1.BCD码
(2)压缩BCD码
压缩BCD码以4个二进制数码表示一个十进制数码。 一个十进制数可表示为一个顺序排列,8位二进制数 码为一组的二进制数字串。
2020/12/12
15
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算 (2)非压缩BCD码减法调整指令 格式:AAS 功能:(在AAS指令前,应该已经使用SUB、SBB或DEC指令, 且用AL存放二进制减法之差)AAS指令将AL中的差调整为非 压缩BCD码并送回AL,向高位的借位在AH和CF中。具体实现 方法是:若AL中低4位>9,则AL←(AL)-6,AH←(AH)-1, 且AL高4位清零,AF、CF置1;否则使AF、CF置0。
2020/12/12
12
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算
(1)非压缩BCD码加法调整指令
格式:AAA
功能:(在AAA指令前,应该已经使用ADD、ADC或INC指令, 且用AL存放二进制加法之和)AAA指令将AL中的和调整为非 压缩BCD码并送AX。
具体实现方法:若二进制相加后(AL)低4位>9或AF=1, 则AL←(AL)+6,AH←(AH)+1,且AL高4位清零,AF、 CF置1;否则使AF、CF置0。
2020/12/12
13
5.2.1 十进制算术运算
2.BCD码调整指令与十进制算术运算 (1)非压缩BCD码加法调整指令 【例5.1】
DATA DB 05H, 08H
汇编语言(1)—汇编语言程序设计基础知识PPT课件
![汇编语言(1)—汇编语言程序设计基础知识PPT课件](https://img.taocdn.com/s3/m/eb9e793a856a561253d36f88.png)
• ASSUME伪操作可用来明确段和段寄存器的关系
• 格式:
• ASSUME 〈段寄存器名〉:〈段名〉, 〈段寄存器名〉: 〈段名〉, …
• 其中段寄存器名必须是CS、DS、ES和SS中的一个,而 段名则必须是由SEGMENT定义的段中的段名。
• 指令
•
mov bl,xd
•
mov xe,bl
• 被汇编为
变量定义符
• 主要包括下列几种: • DB(Define Byte):定义字节,后面的每个操作数占1个
字节。 • DW(Define Word):定义字,后面的每个操作数占1个字。 • DD(Define DWord):定义双字,后面的每个操作数占2个
字。 • DQ(Define QWord):定义四字,后面的每个操作数占4个
• ③ 类型属性变量的类型属性定义该变量所保留的字节数。 • 例: A DB ‘ABCDEFG’
• 操作项可以是指令、伪操作或宏指令的助记符。
• 操作数项由一个或多个表达式组成,多个操作数项之 间一般用逗号分开。
• 注释项用来说明一段程序或一条或几条指令的功能, 它是可有可无的。
分段结构
• 汇编语言源程序的程序基本结构是段,一个汇编语言 源程序由若干个代码段、数据段、附加段和堆栈段组 成。段之间的顺序可以随意安排,通常数据段在前, 代码段在后。任何可执行汇编语言程序至少要有一个 代码段,通常还可能有数据段和堆栈段。每个段都有 段首指令和段结束指令,段的内容介于这两条指令之 间。
字。 • DT(Define Tbyte):定义十字节,后面的每个操作数占1
0个字节。
操作数
• 数值表达式;
• ASCⅡ码字符串;
• 地址表达式;
汇编第1章概述.ppt
![汇编第1章概述.ppt](https://img.taocdn.com/s3/m/20b16060312b3169a451a4a2.png)
8086/8088的机器指令:
指令系统:构成某种计算机全部指令 的集合。
1.1.2 汇编语言
汇编指令:机器指令的符号表示法。
例如:机器指令1000100111011000表示 把寄存器BX的内容送到AX中。汇编指令 则写成mov ax,bx.这样的写法与人类语 言接近,便于阅读和记忆。
汇编语言:汇编指令、伪指令、宏指令 及编程的语法规则。
1.3 微型计算机的工作过程
1.3.1 指令与程序的执行 1.3.2 程序执行过程举例
1.1 汇编语言简介
1.1.1 机器语言 机器语言:计算机的指令系统及编程的语
法规则。 指令:控制计算机完成某种操作的命令。
操作码:指示计算机完成某种操作。 操作数:给出参与操作的数据值,或
者指出操作对象在什么地方。 下面的二进制代码序列就是一条
第一章
1.1 汇编语言简介 1.2 计算机中的数和编码 1.3 微型计算机的工作过程 1.4 习题1
1.1 汇编语言简介
1.1.1 机器语言 1.1.2 汇编语言 1.1.3 汇编语言的组成和特征 1.1.4 编辑程序、汇编程序和连接程序
1.2 计算机中的数和编码
1.2.1 计算机中的数制 1.2.2 符号数的表示 1.2.3 二进制数的运算 1.2.4 二进制编码 1.2.5 8086/8088支持的数据类型及其内部表示
1.1.3 汇编语言的组成和特征
汇编语言发展至今,由以下3类指令组成。
(1)汇编指令:机器码的助记符,有对 应的机器码。
(2)伪指令:没有对应的机器码,由编 译器执行,计算机并不执行。
(3)其他符号:如:+、-、*、/等,由 编译器识别,没有对应的机器码。
指令系统:构成某种计算机全部指令 的集合。
1.1.2 汇编语言
汇编指令:机器指令的符号表示法。
例如:机器指令1000100111011000表示 把寄存器BX的内容送到AX中。汇编指令 则写成mov ax,bx.这样的写法与人类语 言接近,便于阅读和记忆。
汇编语言:汇编指令、伪指令、宏指令 及编程的语法规则。
1.3 微型计算机的工作过程
1.3.1 指令与程序的执行 1.3.2 程序执行过程举例
1.1 汇编语言简介
1.1.1 机器语言 机器语言:计算机的指令系统及编程的语
法规则。 指令:控制计算机完成某种操作的命令。
操作码:指示计算机完成某种操作。 操作数:给出参与操作的数据值,或
者指出操作对象在什么地方。 下面的二进制代码序列就是一条
第一章
1.1 汇编语言简介 1.2 计算机中的数和编码 1.3 微型计算机的工作过程 1.4 习题1
1.1 汇编语言简介
1.1.1 机器语言 1.1.2 汇编语言 1.1.3 汇编语言的组成和特征 1.1.4 编辑程序、汇编程序和连接程序
1.2 计算机中的数和编码
1.2.1 计算机中的数制 1.2.2 符号数的表示 1.2.3 二进制数的运算 1.2.4 二进制编码 1.2.5 8086/8088支持的数据类型及其内部表示
1.1.3 汇编语言的组成和特征
汇编语言发展至今,由以下3类指令组成。
(1)汇编指令:机器码的助记符,有对 应的机器码。
(2)伪指令:没有对应的机器码,由编 译器执行,计算机并不执行。
(3)其他符号:如:+、-、*、/等,由 编译器识别,没有对应的机器码。
【2019年整理】汇编语言程序设计课件1
![【2019年整理】汇编语言程序设计课件1](https://img.taocdn.com/s3/m/14789140f46527d3240ce0cf.png)
一、汇编语言
汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令
助记符(mnemonic)是便于人们记忆、并能描述指 令功能和指令操作数的符号
助记符一般就是表明指令功能的英语单词或其缩写
用助记符表示的指令就是汇编语言中的汇编格 式指令
汇编格式指令以及使用它们编写程序的规则就 形成汇编语言(Assembly Language)
MOV ADD INT MOV ADD INT RET ENDP ENDS END
DL, “= ” DL,30H 21H DL,C DL,30H 21H
START
;Return to DOS ;End of main part of program ;End assembly
§1.4 计算机中数和字符的表示
;定义数据段
;定义程序段 ;定义一远过程 ;为返回做准备
14
MOV AH,01H
;main part of program code goes here
15
INT 21H
16
AND AL,0FH
17
MOV A,AL
18
MOV AH,01H
19
INT 21H
20
AND AL,0FH
21
MOV B,AL
教材中介绍有集编辑、汇编、连接和调试为一 体的综合开发环境,即MASM的程序员工作平 台PWB。
§1.3 一个简单的汇编语言源 程序举例
分别用C语言和汇编语言编制一程序,实 现如下功能:
从键盘输入两个1位整数,将其进行加法运算 并在屏幕上显示加法运算等式(和《=9)。
1 DATA
2
A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 机器语言与汇编语言
机器指令(硬指令):指挥计算机完成某一基本操作的 机器指令(硬指令):指挥计算机完成某一基本操作的 ): 命令,是面向机器的。 命令,是面向机器的。
操作码 地址码
操作种类 操作数存放位置 例: —— 1011 1011 BB —— 0011 0100 34 0001 0010 12 操作: 操作:1234H → BX
80x86的三种工作方式 1.2. 实方式(实际地址) 操作相当于一个可进行32位快速运算的8086 32位快速运算的8086( 操作相当于一个可进行32位快速运算的8086(内 32位 外部总线16位数据、20位地址 16位数据 位地址) 部32位、外部总线16位数据、20位地址) 保护方式(虚地址) 2. 保护方式(虚地址) 80X86设计目标全部达到的工作方式 设计目标全部达到的工作方式, 是80X86设计目标全部达到的工作方式,通过对 程序使用的存储区采用分段、分页的存储管理机 程序使用的存储区采用分段、 达到分级使用互不干扰的保护目的。 制,达到分级使用互不干扰的保护目的。能为每 个任务提供一台虚拟处理器, 个任务提供一台虚拟处理器,使每个任务单独执 快速切换。 行,快速切换。 虚拟8086 8086方式 3. 虚拟8086方式 保护方式下所提供的同时模拟多个8086处理器。 8086处理器 保护方式下所提供的同时模拟多个8086处理器。
第一章 预备知识
第一章 预备知识
一、本章的学习内容: 本章的学习内容:
本章学习汇编语言的预备知识: 本章学习汇编语言的预备知识: 什么是汇编语言? 1.什么是汇编语言? 2.Intel 80X86微处理器中的寄存器组 80X86微处理器中的寄存器组 3.主存储器的编址方式及物理地址的形成方式 4. 数和符号在计算机中的表示方法 5. 标志寄存器 6.汇编源程序的基本结构
第一章 预备知识
二、本章的学习重点: 本章的学习重点:
汇编语言、 1.汇编语言、汇编程序的概念 80X86寄存器组 2.80X86寄存器组 堆栈的概念、进栈、 3. 堆栈的概念、进栈、出栈指令 实模式和保护模式下物理地址的形成 4.实模式和保护模式下物理地址的形成 5. 整数和字符串的表示方法 CF、OF、ZF、SF标志位 6. CF、OF、ZF、SF标志位 汇编源程序举例 7.汇编源程序举例
双字(32位 双字 位) 字(16位) 位 字节(8位 字节 位) 字节(8位 字节 位) 字节(8位 字节 位) 7 6 字(16位) 位 字节(8位 字节 位) 5 4 3 2 1 0
1.3.1 主存储器
问题: 一个字数据该怎样存入计算机主存呢? 问题: 一个字数据该怎样存入计算机主存呢? 双字 数据呢? 数据呢? 高 -高 低 -低 要占有连续的两个字节. 16位中 位中, 字:要占有连续的两个字节. 16位中,低8位存放在 低字节地址中, 位存放在相邻的高字节地址中。 低字节地址中,高8位存放在相邻的高字节地址中。 双字:32位中 位中, 16位存放在低字地址中 位存放在低字地址中, 16位 双字:32位中,低16位存放在低字地址中,高16位 存放在相邻的高字地址中。 存放在相邻的高字地址中。
1.3 主存储器和物理地址的形成
存储器:用来存放程序和数据的装置, 存储器:用来存放程序和数据的装置, 包括主存和外存。 包括主存和外存。 主存储器:主机内部的半导体存储器, 主存储器:主机内部的半导体存储器, 相对外存,容量小,速度快,成本高。 相对外存,容量小,速度快,成本高。
1.3.1 主存储器
主存储器编址方式 主存储器的基本记忆单元是位 它能记忆/ 主存储器的基本记忆单元是位,它能记忆/容纳一 个二进制数0 个二进制数0或1。 字节, 8位组成一个字节,当前微机一个存储单元存放一 组成一个字节 个字节。 个字节。 为了区别不同的存储单元, 为了区别不同的存储单元,每一存储单元都被指 定一个编号,编号作为存储单元的物理地址 作为存储单元的物理地址。 定一个编号,编号作为存储单元的物理地址。
2. 汇编语言(改进的方案) 汇编语言(改进的方案)
操作码 地址码
助记符
变量或标号
汇编语言:一种用符号书写的、 汇编语言:一种用符号书写的、其操作与机器指令 一一对应的,并遵循一定语法规则的计算机语言。 一一对应的,并遵循一定语法规则的计算机语言。
1.1 机器语言与汇编语言
刚才的例子若用汇编语言来书写: 例2:刚才的例子若用汇编语言来书写: 操作码 BB MOV 地址码 34 12 BX, 1234H BX,
1.1 机器语言与汇编语言
机器语言、 机器语言、汇编语言和高级语言的比较
机器语言 计算机能否 直接识别 易用性 占据空间 执行速度 用途 能 差 小 快 特殊 加密/ 加密/解密 汇编语言 不能 中 小 快 高级语言 不能 好 大 慢
系统核心 一般性软件 要求速度快 开发 ,代码短的 程序 直接操纵I/O 直接操纵I/O 信息安全
80x86微处理器结构 1.2.2 80x86微处理器结构
3. 指令预取部件和指令译码部件 指令预取部件:通过总线接口部件, 指令预取部件:通过总线接口部件,把将要执行的 指令从主存中取出,送入指令排队机构中排队。 指令从主存中取出,送入指令排队机构中排队。 指令译码部件:从指令预取部件中读出指令并译码, 指令译码部件:从指令预取部件中读出指令并译码, 再送入译码指令队列排队供执行部件使用。 再送入译码指令队列排队供执行部件使用。 指令(地址)指示器: 指令(地址)指示器:它总是保存着下一条将要被 CPU执行的指令的偏移地址 简称EA) 执行的指令的偏移地址( EA), CPU执行的指令的偏移地址(简称EA),其值为该指 令到所在段首址的字节距离。 令到所在段首址的字节距离。
CPU按序从预取指令队列中取出指令 (4) CPU按序从预取指令队列中取出指令 指令译 码部件。 码部件。 执行部件执行指令; (5) 指令译码部件译码 执行部件执行指令; (6) 执行过程中若需要取主存操作数 操作数偏 移地址 (7) 分段部件和分页部件 偏移地址 , 段寄存器 操作数的物理地址 (8) 总线接口部件 从主存中取数据 执行部件
1.3.1 主存储器
80X86系统中主存是按字节编址的,即字节作最小访问单位。 80X86系统中主存是按字节编址的,即字节作最小访问单位。 系统中主存是按字节编址的
1.3.1 主存储器
字:由2个字节组成,字地址由两字节地址较小的一 个字节组成, 即低字节)的地址表示。存放的方式是低8 个(即低字节)的地址表示。存放的方式是低8位 存放低字节, 位存放高字节。 存放低字节,高8位存放高字节。 双字: 双字:双字的地址也由四个字节中的最低地址表示
机器语言(指令) 1. 机器语言(指令) 机器语言的特点: 机器语言的特点: (1)由 组成的二进制码。 (1)由0和1组成的二进制码。 能为计算机识别并执行。 (2) 能为计算机识别并执行。 不同类型的机器,不同类型的CPU CPU都有自己特 (3) 不同类型的机器,不同类型的CPU都有自己特 有的、一定数量的基本指令。 有的、一定数量的基本指令。
指令执行过程: 指令执行过程: (1) 指令预取部件和指令译码部件 EIP 指令的偏移地址 EIP增量 增量, EIP增量,形成下一条指令的地址 (2) 分段部件和分页部件 CS : EIP 指令的物理地址 (3) 总线接口部件 从主存中取指令 预取指令队列
80x86微处理器结构 1.2.2 80x86微处理器结构
Intel系列机简介 1.2 Intel系列机简介
微型计算机的构成
80x86微处理器结构 1.2.2 80x86微处理器结构
80x86微处理器结构 80x86微处理器结构
80x86微处理器结构 1.2.2 80x86微处理器结构
总线接口部件: CPU与计算机系统中其它功能 1.总线接口部件: 是CPU与计算机系统中其它功能 部件之间的高速接口 功能:接受所有的总线操作请求,并按优先权进 功能:接受所有的总线操作请求, 行选择, 行选择,最大限度地利用本身的资源为这 些请求服务。 些请求服务。 执行部件:寄存器组、标志寄存器、算逻部件、 2.执行部件:寄存器组、标志寄存器、算逻部件、 控制部件等组成 功能: 功能:从译码指令队列中取出指令并且执行
80x86微处理器结构 1.2.2 80x86微处理器结构
数据寄存器组(EAX EBX,ECX, (EAX, (1) 数据寄存器组(EAX,EBX,ECX,EDX) (累加器 累加器)Accumulator EAX (累加器)Accumulator (基址寄存器 基址寄存器)Base EBX (基址寄存器)Base (计数寄存器 计数寄存器)Count ECX (计数寄存器)Count (数据寄存器 数据寄存器)Data EDX (数据寄存器)Data 用来保存操作数、 作用 :用来保存操作数、运算结果或作指示 变址寄存器, 器、变址寄存器,减少存取操作数所需 要的访问总线和主存储器的时间, 要的访问总线和主存储器的时间,加快 运行速度。 运行速度。
80x86微处理器结构 1.2.2 80x86微处理器结构
4.分段部件和分页部件 使用分段部件和分页部件实现虚拟存储空间映射 到物理存储空间 段地址: 程序员使用二维地址 段地址:段内偏移地址 分段部件 段地址: 段地址:段内偏移地址 一维的线性的地址 分页部件 虚拟的线性的地址 主存储器的物理地址
第一章 预备知识
三、本章学习的难点: 本章学习的难点:
1.寄存器组各个寄存器的名称和用途 PUSH/POP指令 指令、 2.PUSH/POP指令、堆栈指示器的变化 保护模式下物理地址的形成 3.保护模式下物理地址的形成 有符号数、 4. 有符号数、无符号数及其运算对于标志寄存器 的影响
1.1 机器语言与汇编语言
80x86微处理器结构 1.2.2 80x86微处理器结构
段寄存器:低档处理器保存段首地址, 段寄存器:低档处理器保存段首地址,高档处理器保存选择 字 代码段寄存器 CS 堆栈段寄存器 SS 数据段寄存器 DS 附加段寄存器 ES 附加段寄存器 FS 附加段寄存器 GS