IBM-PC汇编语言(②80x86计算机组织)-精品文档64页

合集下载

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计

《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计

《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
1、子程序的概念和特点
子程序:把在程序中多次出现,具有独立功能 的程序段写成程序模块,该模块可被多次调用, 称之为子程序。
特点:①可重复使用(调用) ②具有通用性(可通过入口参数实现) ③可浮动性(存放位置灵活) ④可递归性和可重入性
第6章
第六章 子程序设计
一、子程序的定义 二、子程序的结构形式
三、子程序的设计和调用 四、子程序的参数传递方法 五、子程序的嵌套和递归调用 六、子程序的设计举例 七、多模块程序设计 八、汇编语言和高级语言的混合编程
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
一、子程序的定义
1、子程序的概念和特点 2、子程序的定义 3、子程序的调用和返回
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
2、子程序的定义
子程序的定义是由过程定义伪指令PROC和ENDP 来完成的。其格式如下:
过程名 PROC [NEAR/FAR]

过程名 ENDP
其中PROC表示过程定义开始,ENDP表示过程定 义结束。过程名是过程入口地址的符号表示。
一般过程名同标号一样,具有三种属性,即段 属性、偏移地址属性以及类型属性。
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
3、子程序的调用和返回
❖ 调用
①段内直接调用
格式:CALL 子程序名
功能:将子程序返回地址(断点)入栈
SP←SP-2
(SP)←IP,
并转到子程序入口地址去执行子程序。
❖ 返回指令

汇编语言设计 教案 第二章 IBM PC计算机组织

汇编语言设计 教案 第二章  IBM PC计算机组织

第二章80x86 计算机组织2.1 80x86 微处理器晶体管数 主频 数据总线 数据总线宽度 外部数据总线宽度 地址总线宽度 主存储器 外部存储器 高速缓冲存储器(cache ) 1.8086/8088 8086:1978年推出;内外数据总线16位;地址总线20位;寻址范围1MB ;主频5MHz. 8088:1979年推出;外部数据总线8位;其余基本同8086,被称为准16位CPU 。

2.8028616 1982年推出;内外数据总线16位;地址总线24位;寻址范围16MB ;主频5MHz~20MHz 。

80286支持两种工作方式:实模式和保护模式。

实模式:相当于一个快速8086。

保护模式:提供虚拟存储管理和多任务的硬件控制。

物理寻址范围16MB ,虚拟存储器寻址范围可达1GB 。

指令系统除包含8086/80186指令外,新增15条保护方式指令3.80386(32位CPU )1985年推出;内外部数据总线32位;地址总线32位,物理寻址范4GB,虚拟存储器寻址范围可达64TB 。

主频为16/25/33MHz 。

386除支持286的两种工作方式外,新增虚拟8086模式。

虚拟8086模式的特点:1)既具有保护功能,又能执行实模式下的8086代码,且可以实现多任务。

(可同时运行多个DOS 程序)2) 可以在虚拟8086模式和保护模式下快速、反复转换。

指令系统除兼容原16位CPU 指令外,全面升级为32位指令,并新增多条指令。

4.80486 (32位CPU )1989年推出;特点:①将高速缓存、协处理器与CPU 集成在一个芯片上;②部分采用了RISC 技术;③采用了指令流水线技术;④大幅度提高了CPU 的主频,可达100MHz 。

5.Pentium/MMX Pentium(32位或准64位CPU)Pentium:1993年推出;内部数据总线32位,外部数据总线64位;主频60MHz~200MHz ;采用超标量技术。

汇编语言第2章80x86计算机组织

汇编语言第2章80x86计算机组织

控制标志位
• 控制标志位 :DF 方向标志,用于串处理指令处理
▪ DF位为1时,每次操作后使变址寄存器SI和 DI减量,使串处理从高地址向低地址方向处 理:
▪ 当DF位为0时,则使SI和DI增量,使串处理 从低地址向高地址方向处理:
系统标志位
• IF:中断标志。 当IF=1时,允许中断; IF=0时关闭中断
数据的宽度 • 地址总线宽度:用以确定可访问的存储器的最
大范围
地址总线宽度
• 10位:210=1024单元,1K • 20位:220=1024* 210单元=1024K,1M • 24位:224=16*1M,16M • 30位:230=1024M,1G • 32位:232=4G,即4GB
二、一些名词术语(2)
• TF:陷井标志(跟踪标志)。用于单步方式操作 • IOPL:I/O特权级。控制对I/O地址空间访问
段寄存器
• 8086/8088、80286:四个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES
• 80386及后继机型:六个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES、 FS、GS---都是16位
• ZF:零标志。运算结果为0,置1;否则置0。 • CF:进位标志。记录从最高有效位产生的进位值。
最高有效位有进位时置1,否则置0。 • AF:辅助进位标志。记录运算时第3位产生的进位
值。如第3位有进位时置1,否则置0。 • PF:奇偶标志。当结果操作数中1的个数为偶数时置
1,否则置0。
标志符号 举例
段中的某一存储单元的地址 4. SI、DI一般与DS联用:
在串处理指令中,SI和DS联用,DI和ES联用
8086系统的堆栈
• 是存储器中的特殊区域 – 在堆栈段内,“FILO” – SP始终指向栈顶,总是字操作,指示栈顶的 偏移地址; – BP可作为堆栈区中的一个基地址以便访问 堆栈中的其他信息

IBM-PC汇编语言程序设计第2章 80X86计算机组织

IBM-PC汇编语言程序设计第2章 80X86计算机组织

80X86 X86计算机组织 第2章 80X86计算机组织
2.3 8086CPU和寄存器组 和寄存器组
2.3.1 2.3.2 2.3.3 Intel 8086CPU内部结构 内部结构
Байду номын сангаас
8086寄存器组 寄存器组 标志寄存器
返回本章首页
80X86 X86计算机组织 第2章 80X86计算机组织
2.3.1
返回本节
80X86 X86计算机组织 第2章 80X86计算机组织
2.4.2
存储器单元的地址和内容
系统中, 存储单元地址 :8086系统中,为了标识和存取每一个存储 系统中 单元,给每个存储单元规定一个编号, 单元,给每个存储单元规定一个编号,这就是存储单元地 地址从0开始编号 顺序地每次加1,用二进制表示, 开始编号, 址,地址从 开始编号,顺序地每次加 ,用二进制表示, 书写格式为16进制 进制。 书写格式为 进制。 16位二进制数可以表示多少个字节单元的地址呢? 位二进制数可以表示多少个字节单元的地址呢? 位二进制数可以表示多少个字节单元的地址呢 存储单元的内容 :一个存储单元中存放的信息称为该存 储单元的内容,以字节为单位存储信息。 储单元的内容,以字节为单位存储信息。 字节和字: 字节和字:
80X86 X86计算机组织 第2章 80X86计算机组织
2.4.3
物理地址的形成
8086CPU的地址线是 位的,这样最大可寻址空 的地址线是20位的 的地址线是 位的, 间应为2 间应为 20=1MB,其物理地址范围从 ,其物理地址范围从00000H~FFFFFH。 ~ 。 寄存器都是16位的 而8086CPU寄存器都是 位的。那么,这1MB空间如何 寄存器都是 位的。那么, 空间如何 用16位寄存器表达呢? 位寄存器表达呢? 位寄存器表达呢 根据要求可把1M字节地址空间划成若干逻辑段。 根据要求可把 字节地址空间划成若干逻辑段。 字节地址空间划成若干逻辑段 每个逻辑段必须满足两个条件: 每个逻辑段必须满足两个条件 : 一是逻辑段的起始地址 简称段首址)必须是16的倍数 的倍数; ( 简称段首址 ) 必须是 的倍数 ; 二是逻辑段的最大长 度为64K。按照这两个条件,1M字节地址空间最多可划 度为 。按照这两个条件, 字节地址空间最多可划 分成64K个逻辑段,最少也能划分成 个逻辑段。逻辑段 个逻辑段, 个逻辑段。 分成 个逻辑段 最少也能划分成16个逻辑段 与逻辑段可以相连,也可以不连,还可以重叠。 与逻辑段可以相连,也可以不连,还可以重叠。

IBMPC汇编语言

IBMPC汇编语言
BIOS键盘处理程序将取得的扫描码转换成相应的字 符码,大部分的字符码是一个标准的ASCII码;没有相 应ASCII的键,如Alt和功能键(F1~F10),字符码为 0;还有一些非ASCII码键产生一个指定的操作。
PPT文档演模板
IBMPC汇编语言
• 键盘缓冲区
• 键盘缓冲区是一个先进先出的环形队列,其所占内存区域如下:
1B
键盘CTRL-BREAK控制
• 30—33
C
异步通信(COM1)•70—73
1C
定时器报时
• 34—37
D
硬盘
•74—77
1D
显示器参数表
• 38—3B
E
软盘
•78—7B
1E
软盘参数表
• 3C—3F
F
并行打印机
•7C—7F 1F 字符点阵结构参数表
PPT文档演模板
•BIOS中断向量
IBMPC汇编语言
PPT文档演模板
•表9.2 DOS中断类型
•地址(Hex) 类型码
•80—83
20
•84—87
21
•88—8B
22
•8C—8F
23
•90—93
24
•94—97
25
•98—9B
26
•9C—9F
27
•A0—FF
28—3F
•100—17F
40—5F
•180—19F
60—67
中断名称 程序结束,返回DOS DOS系统功能调用 程序结束地址 CTRL_BREAK退出地址 标准错误出口地址 绝对磁盘读 绝对磁盘写 程序结束,驻留内存 为DOS保留 保留(扩充BIOS中断向量) 为用户软中断保留

第二章 80x86计算机组织

第二章  80x86计算机组织

80x86汇编语言程序设计
1. 状态标志取值的一般规则
ZF(Zero Flag):零标志。若运算结果为0,则ZF = 1,否则 ZF = 0。
SF(Sign Flag):符号标志。若运算结果为负数,则SF = 1, 否则SF = 0。 CF(Carry Flag):进位标志。若加法时结果最高位向前有进 位或减法时最高位向前有借位,则CF = 1,否则CF = 0。 OF(Overflow Flag):溢出标志。若带符号数的运算结果超 出了补码表示的范围,则OF = 1,否则OF = 0。 AF(Auxiliary Carry Flag):辅助进位标志。若加法时结果 低4位向前有进位或减法时结果低4位向前有借位,则AF = 1,否 则AF = 0。 PF(Parity Flag):奇偶标志。若结果最低字节中1的个数为 偶数,则PF = 1,否则PF = 0。
80x86程序可以存取的最小数据单位是字节。例如,若要读取的位 数不足8位,则只能先读出一个完整字节,再屏蔽掉其它位。
字的存储采取“低字节在低地址,高字节在高地址,字的地址由低 地址表示”的小端方式,双字也类似。
要正确理解内存单元的地址和值,地址表示位置,值是相应位置处 的内容。同一地址既可以看作字节单元地址,也可以看作字甚至双字 单元地址,取决于具体的使用方式。
2013-1-20
80x86汇编语言程序设计
80x86 CPU有3种工作模式:实模式、保护模式和虚拟8086模 式。 在实模式下,段地址和偏移地址均为16位。20位物理地址由 16位段地址左移4位加16位偏移地址得到,只能寻址1MB的内存 空间,且每段≤64KB。 在实模式下,32位CPU下的程序可以使用32位寄存器和32位操 作数,但采用32位寄存器表示偏移地址时,只使用低16位,高 16位为0。CS:IP总是指向下一条要执行的指令,EIP的高16位为 0。SS:SP指向堆栈段的栈顶,ESP的高16位为0。 状态标志是CPU进行条件判断和控制程序执行流程的依据,最 常用的是4个:CF、OF、SF和ZF。其中,CF表示无符号溢出,OF 表示带符号溢出。

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织


• 80386是1985年研制出的一个32位微处理器, 内部及外部数据总线均为32位,地址线也为32 位,因此它可处理4G(232)字节的物理存储 空间。
• 1989年Intel公司又研制出新一代的微处理器 80486,80486芯片内除了有一个与80386相同 结构的主处理器外,还集成了一个浮点处理部 件FPU以及一个8K字节的高速缓冲存储器 (cache),使80486的计算速度和总体性能比 80386有了明显的提高。
• Intel公司在1982年推出了80286微处理器,它仍 然是16位结构。80286的内部及外部数据总线都 是16位的,但它的地址线是24位的,可寻址16M 字节的存储空间。
80286有两种工作方式,即实模式和保护模式: 实模式与8086工作方式相同,但速度比8086快。
保护模式除了仍具有16M字节的存储器物理地址空 间外,她还能为每个任务提供1G字节的虚拟存储 器地址空间。保护方式把操作系统及各任务所分配 到的地址空间隔离开,避免程序之间的相互干扰, 保证系统在多任务环境下正常工作。
• 8086是1978年Intel公司推出的16位微处理器。
(1)8086有16位数据总线,处理器与外部传送数据 时,一次可传送16位二进制数。
(2)8086有20位地址总线,寻址空间提高到1M字节。
(3)8086采用了流水线技术,可以实现处理器的内 部操作与存储器或I/O接口之间的数据传送操作重叠 进行,从而提高了处理器的性能。
2.2 基于微处理器的 计算机系统的构成
硬件:
中央处理机 CPU
总线控制 逻辑 系 统 总 线
存储器
接口
...
接口
大容量 存储器
...
I/O设备
I/O子系统

(完整版)(整理)《80x86汇编语言程序设计》教案及答案.

(完整版)(整理)《80x86汇编语言程序设计》教案及答案.《汇编语言程序设计》教案附:习题参考答案《IBM-PC汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:2007年8月18日前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。

它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。

(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。

(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7).第九章说明BIOS和DOS系统功能调用的使用方法。

(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。

附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (5)1.1进位计数制与不同基数的数之间的转换 (5)1.2二进制数和十六进制数的运算 (6)1.3计算机中数和字符的表示 (7)1.4几种基本的逻辑运算 (7)第 2 章80X86计算机组织 (8)2.180X86微处理器 (8)2.2基于微处理器的计算机系统构成 (8)2.3中央处理机 (9)2.4存储器 (10)2.5外部设备 (11)第 3 章80X86的指令系统和寻址方式 (12)3.180X86的寻址方式 (12)3.2程序占有的空间和执行时间 (14)3.380X86的指令系统 (14)第 4 章汇编语言程序格式 (31)4.1汇编程序功能 (31)4.2伪操作 (31)4.3汇编语言程序格式 (35)4.4汇编语言程序的上机过程 (38)第 5 章循环与分支程序设计 (40)5.1循环程序设计 (40)5.2分支程序设计 (41)5.3如何在实模式下发挥80386及其后继机型的优势 (41)第 6 章子程序结构 (43)6.1子程序的设计方法 (43)6.2子程序的嵌套 (44)6.3子程序举例 (44)第7 章高级汇编语言技术 (46)7.1宏汇编 (46)7.2重复汇编 (47)7.3条件汇编 (48)第8 章输入/输出程序设计 (49)8.1I/O设备的数据传送方式 (49)8.2程序直接控制I/O方式 (50)8.3中断传送方式 (50)第9 章BIOS和DOS中断 (53)9.1键盘I/O (53)9.2显示器I/O (55)9.3打印机I/O (56)9.4串行通信口I/O (57)第10 章图形与发声系统的程序设计 (58)10.1显示方式 (58)10.2视频显示存储器 (58)10.3EGA/VGA图形程序设计 (59)10.4通用发声程序 (60)10.5乐曲程序 (61)第11 章磁盘文件存取技术 (62)11.1磁盘的记录方式 (62)11.2文件代号式磁盘存取 (63)11.3字符设备的文件代号式I/O (64)11.4BIOS磁盘存取功能 (65)附录:《IBM—PC汇编语言程序设计》习题参考答案 (66) 第一章.习题 (66)第二章.习题 (67)第三章.习题 (68)第四章.习题 (81)第五章.习题 (86)第六章.习题 (104)第七章.习题 (117)第八章.习题 (124)第九章.习题 (129)第十章.习题 (132)第十一章.习题 (143)第 1 章基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。

第2章 80x86计算机组织


例: MOV AX, FFFFH MOV BX, 1 ADD AX, BX 指令执行后,(AX)=0, OF=0, CF=1, ZF=1, SF=0
10
2.4 2.4 存储器
存储器是用来存放程序、数据、中间结果和最终结 果的记忆装置。 • 存储单元的地址和内容
存储器以字节(8bit)为单位存储信息 每个字节单元有一个地址,从0编号,顺序加1 地址也用二进制数表示(无符号整数,写成十六进制) 16位二进制数可表示216=65536=64K个地址 0000H ~ FFFFH 字长16位,一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 机器以偶地址访问(读/写)存储器 8086访问内存是以字为单位,字单元地址用它的低地址 来表示
18
第2章 作业
Page 33
2.2 ~ 2.5
19
11
存储器
7 字节 1 0 0 1 6 0 0 0 1 5 0 1 0 0 4 1 0 1 1 3 1 0 1 0 2 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0000H 0001H 0002H 0003H (0000H)=9FH (0001H)=26H (0002H)=1EH (0003H)=D7H
在CPU外部 访问速度慢 容量大,成本低 用地址表示 地址可用各种方式形成
16
2.5 2.5 外部设备
外部设备与主机(CPU和存储器)的通信是通过外设 接口(Interface)进行的,每个接口包括一组寄存器。 数据寄存器:存放外设和主机间传送的数据 状态寄存器:保存外设或接口的状态信息 命令寄存器:保存CPU发给外设或接口的控制命令 外设中每个寄存器有一个端口(Port)地址,构成一个 独立于内存的I/O地址空间:0000H ~ FFFFH

IBM-PC汇编语言程序设计2

第二章 80x86计算机组织
2.1 80X86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器 2.5 外部设备
2.1 80x86微处理器 80x86微处理器
计算机的五个组成部分:
微处理器、存储器、输入 输出设备 输出设备、 微处理器、存储器、输入/输出设备、系统总线 80x86微处理器是美国Intel公司生产的微处理器系列。微
存储器 在CPU外部 访问速度慢 容量大,成本低 用地址表示 地址可用各种方式形成
使用debug观察寄存器
2.4 存储器
存储器是用来存放 程序、数据、中间结 程序、数据、 果和最终结果的记忆 装置。 装置。
2.4.1 存储单元的地址和内容
计算机存储信息的基本单位是一个二进制位(bit) ,1或0 计算机 存储器以字节(8bit)为单位存储信息 存储器 汇编语言的数据类型 数据类型:字节、字、双字、四字 数据类型 每个字节单元有一个唯一的物理地址 唯一的物理地址 唯一的物理地址,从0编号,顺序加1 地址也用二进制数表示(无符号整数 无符号整数,写成十六 进制) 无符号整数 16位二进制数可表示216=65536=64K个地址 0000H ~ FFFFH 字长16位,一个字要占用相继 相继的两个字节 相继 低位字节存入低地址, 低位字节存入低地址,高位字节存入高地址 机器以偶地址 偶地址访问(读/写)存储器 偶地址 字、 4字单元地址用它的最低字节地址 最低字节地址来表示 最低字节地址
CS (code segment)代码段 DS (data segment) 数据段 SS (stack segment)堆栈段 ES (extra segment) 附加段 FS 附加的数据段 GS 附加的数据段
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档