版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计1汇编语言程序设计1教学安排40学时24学时理论课16学时上机。教学安排40学时成绩70% 期末成绩30% 平时成绩 (课堂提问,作业,出勤,做实验,实验报告)成绩70% 期末成绩前言个人计算机的核心是微处理器,它负责处理计算机在算术运算、逻辑运算和控制方面的需求。前言个人计算机的核心是微处理器,它负责处理计算机在算术运算、(前言)每种处理器系列都有它自己唯一的指令集。这些指令集被称为系统的机器语言。这种指令集非常复杂,在用于程序开发时又令人很难理解。(前言)每种处理器系列都有它自己唯一的指令集。(PREFACE)汇编语言是一种能够代替各种机器指令的更容易理解的符号代码。例如:
2、机器 语言 汇编语言 A0 00 20 MOV AL, VAR102 06 01 20 ADD AL, VAR2A2 02 20 MOV VAR3, AL(PREFACE)汇编语言是一种能够代替各种机器指令的更容易 (PREFACE)高级语言, 例如C语言和BASIC语言,被设计成与特定计算机的技术细节无关的语言,然而,汇编语言作为一种低级语言,它是为专门的处理器系列设计的。 (PREFACE)使用汇编语言的优点:占用内存少,运行快要求程序员具有高超的技术能力理解底层机器架构(计算机体系结构)常驻程序和中断服务程序都是用汇编语言来编写的使用汇编语言的优点:占用内存少,运行快1. PC硬件的基本
3、特征1. PC硬件的基本特征(1. PC硬件的基本特征)基本硬件的解释: 位, 字节, 寄存器,内存, 处理器 和数据总线.主要的内部硬件: 微处理器, 内存, 寄存器; 外部硬件: 计算机的输入/输出设备.(1. PC硬件的基本特征)基本硬件的解释:位和字节计算机存储的基本构造单元是“位” “位”的值是“0”和“1”位内容(A): 0100 0001 位编号: 7654 3210 最低位位和字节计算机存储的基本构造单元是“位”(位和字节)8个相关的位称为字节8个位允许有256(28)个1-0状态的不同组合范围: 0255, -128 +127(位和字节)8个相关的位称为字节相关字节处理器支持
4、的数据大小:字. 2-字节 (16 位)双字. 4-字节 (32 位)四字. 8-字节 (64 位) 8字. 16-字节 ( 128 位) 相关字节处理器支持的数据大小:(相关字节)千字节(KB). 1KB=1024 B (210 字节)兆字节(MB). 1MB=1024 KB (220 字节)十亿字节(GB). 1GB=1024 MB (230 字节)(相关字节)千字节(KB). 1KB=1024 B (相关字节)在一个字中,各位从右到左的编号是0到15.位内容 (PC) : 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1位编号: 15 14 13 12 11 10 9 8
5、7 6 5 4 3 2 1 0 高字节 低字节 第二位字节 第一字节 1 字=2 字节 =16 位(相关字节)在一个字中,各位从右到左的编号是0到15.(相关字节)在存储器中,每个字都有唯一的地址 第一个字节在最低的存储器单元中,编号为0,第二个字节编号为1,等等。 (相关字节)在存储器中,每个字都有唯一的地址负的二进制数负二进制数是用二进制补码表示法来表示的;表示负二进制数的规则是:逐位求反,末位加1 例子: +65 01000001 按位求反 10111110 加 1 1 数 - 65 10111111负的二进制数负二进制数是用二进制补码表示法来表示的;(负二进制数)为了求得一个负二进制数
6、的绝对值,需要采用二进制补码规则:例子: - 65 10111111 按位求反 01000000 加 1 1 数 +65 01000001(负二进制数)为了求得一个负二进制数的绝对值,需要采用二进制(负二进制数)减法 减去减去一个二进制数=加该数的二进制的补码 +65 0100 0001 + (- 65) 1011 1111 00 (1)0000 0000有数字进入符号位,并且溢出,结果是正确的。(负二进制数)减法 十六进制表示二进制 1111 1110 1101 1100 1011 1010 1001 1000十进制 15 14 13 12 11 10 9 8十六进制 F E D C B A
7、 9 8二进制 0111 0110 0101 0100 0011 0010 0001 0000十进制 7 6 5 4 3 2 1 0 十六进制 7 6 5 4 3 2 1 0 为了在程序中指明用十六进制数,在这个数的后面写上一个“H” 十六进制表示二进制 1111 1ASCII 码为了使数据表示标准化,微计算机设计人员采用ASCII(美国标准信息交换码);它使不同计算机之间的数据交换更加方便。ASCII 码为了使数据表示标准化,微计算机设计人员采用AS(ASCII 码)8位ASCII码可以提供256个字符(附录 B),包括外国得字母符号在内。例子: 0100 0001(hex 41) 表示字母
8、A.(ASCII 码)8位ASCII码可以提供256个字符(附录PC 组成 计算机结构如下图所示: 内部 总线 处理器 总线 输入/输出 存储器 80286 系统 80386 RAM 80486 屏幕 ROM 80586 打印机 Pentium 键盘 PC 组成 处理器PC的大脑是处理器,用来完成所有的指令执行和数据处理。各种处理器的速度,寻址空间大小,寄存器以及数据总线是不相同的。数据总线在处理器,存储器和外设之间传输数据处理器PC的大脑是处理器,用来完成所有的指令执行和数据处理。执行部件和总线接口部件处理器划分为两个逻辑部件:执行部件(EU)和总线接口部件(BIU)。构造功能: 执行部件执
9、行指令. 总线接口部件把指令和数据传送给执行部件3) 并行工作 总线接口部件保持领先一步 执行部件和总线接口部件处理器划分为两个逻辑部件:执行部件(E汇编语言程序设计1内存储器在PC中有两种类型的内存储器: 随机存取存储器(RAM),在之后课程中,统一称RAM为“内存”。 只读存储器(ROM), 因为指令和数据是永久性地“烧进”芯片中的,所以,它们不能被修改。内存储器在PC中有两种类型的内存储器:(内存储器)字节在内存中被连续地编号,从00开始,所以,内存中的每个位置都有唯一的地址。(内存储器)字节在内存中被连续地编号,从00开始,所以,内存(XMS)扩展内存(100000H )系统空间384
10、K=128+192+64(A0000FFFFFH)(TPA) 临时程序空间640K(00000A0000H)Figure 1-个人计算机内存第一个 1MB内存是实存储器(XMS)扩展内存系统空间(TPA) 临时程序空间Figur(内存储器)内存会一直保持其中的内容,直到有新的内容载入。计算机中的地址是用二进制来表示的,也可以方便地写成十六进制。(内存储器)内存会一直保持其中的内容,直到有新的内容载入。内存中数据寻址 系统在内存中存储数据,处理器从内存中按字进行检索:低内存地址中内容 放在低字节高内存地址中内容 放在高字节内存中数据寻址 系统在内存中存储数据,处(内存中数据寻址)例子: 处理器自
11、动把0529H传送到地址7612H和7613H的地址中 7612H 字节 内容: 内容 地址(7612H)=29H 05 7613H字的内容由低地址所表示 29 7612H(7612H)=0529H 内存(内存中数据寻址)例子: (内存中数据寻址) 内存用来存储程序指令和数据 存储内存地址中的具体信息被称为内存地址的内容 例如: (00004H)=34H ; 字节内容是 34H (00004H)=1234H ;字的内容 (01234H)=2F1EH 01237H01236H01235H 2FH01234H 1EH00007H00006H00005H 12H00004H34H00003H0000
12、2H00001H00000H Address content(内存中数据寻址) 内存用来存储程序指令和数据 012I/O 端口 和 I/O 地址空间 在每个外设中,都有数据寄存器,状态寄存器,指令寄存器等各类的寄存器。 I/O地址空间是对外部设备的寄存器的一种编码,旨在方便处理器访问这些寄存器 I/O 端口 和 I/O 地址空间 在每个外(I/O 地址空间 ) 外设的寄存器编码就是端口地址。 I/O是独立于内存的地址空间的。 IBM-PC I/O 空间是64K( 0000HFFFFH ),因此,计算机可以访问64k 的不同的8位I/O设备。 (I/O 地址空间 ) 外设的寄存器编码就是端汇编语
13、言程序设计1(I/O 地址空间 ) 操作系统把复杂的外设操作封装成例行程序,因此,用户可以通过调用中断指令(INT)来运行例行程序(DOS 或者 BIOS)。(I/O 地址空间 ) 段与寻址问题: 怎样用16位数字 来寻址1MB的空间?段与寻址问题: (SEGMENT AND ADDRESSING)答案: 15 0 16位段 起始地址 0000 15 0 + 16 位 偏移地址 19 0 20位物理地址(SEGMENT AND ADDRESSING)答案: (段与寻址)物理地址= 10H * 段地址+偏移地址 (段与寻 (段与寻址)段是在程序中定义的一个专门的区域,从段边界开始 能被16或者h
14、ex10除尽的单元。 段能够位于存储器的几乎所有地方,大小可变,在实模式下可以多达64KB(0000H-FFFFH)。 如果代码(数据或者堆栈)区域需要大于64K的空间,那么,就需要在程序中定义一个以上的代码段(数据或者堆栈) 汇编语言程序设计1 (段与寻址)三个主要的段分别是代码断,数据段和堆栈段。 (段与代码断(CS)包括要执行的机器指令数据段(DS)包括程序所定义的数据堆栈段(SS) 包括程序需要暂存的任何数据和地址,或由你自己“调用”的子程序所用的数据与地址代码断(CS)段边界段寄存器包含段的起始地址段边界段寄存器包含段的起始地址 (段边界)寄存器和段不一定是所显示的顺序,可以是任何顺
15、序存放。 内存 地址 地址 地址代码断数据段堆栈段SSDSCS段寄存器在存储器中可再定位Figure 1-4 段与寄存器 (段边界)寄存器和 (段边界)因为在所有情况下,最右边的十六进制数位都是0,所以存放数字0到段寄存器中是没有必要的。本书使用方括号( )指明最右边的十六进制的0. 例如: 038E0 (段边界)因为在所有情况下,最右边的十段偏移值在一个程序中,一段范围内的所有存储单元都是相对于段起始地址的。一个段内从段地址到另一个单元以字节位单位的距离称为偏移值例子: (DS) =038EH DS 段地址: 038E0H 偏移值: 0032H 实际地址: 03912H段偏移值在一个程序中,
16、一段范围内的所有存储单元都是相对于段起寄存器寄存器(寄存器)段寄存器CS 寄存器 有效程序代码段得起始地址. 加上在指令指针(IP)寄存器中的偏移值,就指明了为执行指令所要取得的指令地址。 (CS)+(IP)= 下一条指令的地址(寄存器)段寄存器(寄存器) DS 寄存器包含程序数据段得起始地址,该地址加上在指令中的偏移值,就可以访问位于数据段中的指定字节单元。(DS)+(BX)=数据段中数据的地址(DS)+(DI)=数据段中数据的地址(DS)+(SI)=数据段中数据的地址(DS)+(16位 立即数)=数据段中数据的地址(寄存器) DS 寄存器( 寄存器) SS 寄存器允许在寄存器中实现堆栈。加
17、上堆栈指针(SP)寄存器中的偏移值,就指明了正被寻址的堆栈中的当前字。(SS)+(SP)=堆栈中的当前字的地址(SS)+(BP)=堆栈中的数据的地址( 寄存器) SS 寄存器(寄存器) ES寄存器 程序中其他段得起始地址。 用于某些串操作中 和DI寄存器相关联 (ES)+(DI)=串地址的结尾(寄存器) ES寄存器指针寄存器指令指针(IP)的 寄存器 包含要执行的下一条指令的偏移地址 IP是和CS寄存器相关联的指针寄存器堆栈指针(SP) 寄存器包含了在堆栈中被寻址的当前字的偏移地址 SP和BP寄存器与SS寄存器相关联堆栈指针(SP) 寄存器通用寄存器AX: 主累加器. 用于有关输入/输出和大多
18、数算术运算操作.例如, 乘法,除法 AX 16位 AH AL EAX 32位BX:基址寄存器,可以用作扩展寻址的变址CX: 计数寄存器DX:数据寄存器通用寄存器变址寄存器SI: 16位源变址寄存器,与DS相关联DI: 16位目的变址寄存器,与ES相关联变址寄存器汇编语言程序设计1标志寄存器 标志寄存器指明处理器的状态和指令运行的结果 当一条指令设置了一个标志位,这个标准位会一直保留,直到其他指令对其进行更改标志寄存器 标志寄存器指明处理器的状态和 标志寄存器在实模式下,包含了一下的标志位标志: O D I T S Z A P C位号. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 标志寄存器在实模式下,包含了一下的标志位O (溢出标志): 指出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化润疆研讨发言材料
- 2025年医院医保部工作总结
- 2025年宁波市公安警务保障服务中心招聘编外工作人员6人备考题库及1套参考答案详解
- 总工会和社会化工会工作者面试题及参考答案
- 新生儿病例讨论
- 2024年昭通市教体系统引进专业技术人才考试真题
- 2024年安阳市公安机关招聘留置看护辅警考试真题
- 2025年上饶市广信区人民法院公开招聘劳务派遣工作人员14人备考题库有答案详解
- plc喷泉灯课程设计
- 2025 九年级语文下册写作选材典型性课件
- 养老院老年人健康档案 (二)
- 物业公司动火管理制度
- 《胃癌根治术腹腔镜技术》课件
- 六年级下册英语书湘少版单词表
- 2025中国电信校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- AI与智慧图书馆双向赋能
- 《中药的现代化》课件
- 生物专业英语翻译-蒋悟生
- 高速铁路客运规章(第2版)课件 项目五 高速铁路旅客运输服务管理
- 基础医学概论期末考试试卷
- 自愿离婚协议书标准样本(八篇)
评论
0/150
提交评论