版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言数据的表示方法二进制B八进制O十进制D十六进制H数据的表示方法例:101110B,56O,2H--?D[幂乘法]2.5D-?B,?O,?H[整数部分除2取余,小数部分乘2取整]1.33D-?B,?O,?H并不是所有的十进制小数都能转换成二进制基础知识本章结构1.4数据在机内的表示形式1.3存储器1.1计算机语言的发展1.2Intel8060微处理器简介1.5汇编源程序举例1.1计算机语言的发展1.1.1机器语言1.1.2汇编语言1.1.3高级语言
1.1计算机语言的发展机器语言汇编语言高级语言FORTRANBASICCOBOLPASCALC/C++JAVA…...1.1计算机语言的发展1.1.1机器语言机器语言:依赖于机器的低级语言,书写格式为二进制代码。优点:执行速度快,效率高。缺点:表达的意义不直观,编写、阅读、调试较困难。1.1计算机语言的发展1.1.2汇编语言汇编语言:是一种符号语言,与机器语言一一对应;使用助记符表示相应的操作,并遵循一定的语法规则。与机器语言有类似的优、缺点,但比机器语言更易于为人们所理解。
1.1计算机语言的发展1.1.3高级语言高级语言:面向人的语言,有多种类型。优点:便于阅读,易学易用,不涉及硬件,具有通用性。缺点:目标代码冗长,占用内存多,从而执行时间长,效率不高,不能对某些硬件进行操作。程序要具有较快的执行时间,或者只能占用较小的存储容量程序与计算机硬件密切相关,程序要直接、有效地控制硬件大型软件需要提高性能、优化处理的部分没有合适的高级语言、或只能采用汇编语言的时候分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等等1.1计算机语言的发展
汇编语言的应用场合1.2
Intel8086微处理器简介1.2.1
Intel8086微处理器结构1.2.2
Intel8086微处理器寄存器组1.2
Intel8086微处理器简介中央处理机
CPU总线控制逻辑
接口接口存储器大容量存储器I/O设备I/O子系统系统总线计算机系统包括硬件和软件两大部分。硬件:三个主要组成部分,用系统总线连接。
1.2
Intel8086微处理器简介
系统软件(核心是操作系统operatingsystem)
—I/O驱动程序(I/Odriver)—文件管理程序(filemanagement)—文本编辑程序(texteditor)—翻译程序(translator)MASM.EXE/TASM.EXE—连接程序(linker)LINK.EXE/TLINK.EXE—装入程序(loader)DEBUG.EXE—系统程序库(systemlibrary)
用户软件软件
1.2
Intel8086微处理器简介微处理器按功能可以分为两部分:
—执行部件EU(executionunit)—总线接口部件BIU(businterfaceunit)
LOGO1.2
Intel8086微处理器简介1.2.1Intel8086微处理器结构内部暂存器
IP
ES
SS
DS
CS输入/输出控制电路执行部分控制电路123456∑ALU标志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令队列缓冲器执行部件(EU)总线接口部件(BIU)16位20位16位8位LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组通用数据寄存器(4个)AX,BX,CX,DX 它们可以分解为AL~DH8个8位寄存器使用指针及变址寄存器(4个)SP堆栈指针寄存器(存放栈顶的偏移地址)BP基址指针寄存器SI源变址寄存器DI目的变址寄存器段寄存器(4个)CSDSSSES
8086/8088的寄存器组(16位)LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组指针寄存器SP、BP指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址SP不能再用于其他目的,具有专用目的BP为基址指针寄存器,指示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组堆栈的概念堆栈(Stack)是主存中一个特殊的区域它采用先进后出FILO(FirstInLastOut)或后进先出LIFO(LastInFirstOut)的原则进行存取操作,而不是随机存取操作方式。
堆栈通常由处理器自动维护在8086中,由堆栈段寄存器SS和堆栈指针寄存器SP共同指示。LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组指令指针寄存器IP指令指针寄存器IP,总是指向BIU将要取的下一条指令代码的偏移地址。它与代码段寄存器CS联用,确定下一条指令的物理地址计算机通过CS:IP寄存器来控制指令序列的执行流程IP寄存器是一个专用寄存器LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组控制寄存器(2个)IP
指令指针寄存器(保存下一条即将执行的指令的首地址)
PSW
程序状态字寄存器OFDFIFTFSFZFAFPFCF
1514131211109876543210条件码标志OF
溢出标志SF
符号标志ZF
零标志CF
进位标志AF
辅助进位标志PF
奇偶标志控制标志OV/
NV
NG/PLZR/NZCY/NCAC/NAPE/PODF
方向标志IF
中断标志TF
陷阱标志DN/
UP
EI/DILOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组CFCarryFlag。它反映运算中最高有效位向前有无进位(针对加运算)或借位(针对减运算)。有进位或借位时,CF=1,否则CF=0。CF主要针对无符号运算。OFOverflowFlag。它反映有符号数的运算结果是否超出其所能表示的范围;运算结果溢出时OF=1,否则OF=0,注意,OF标志主要针对有符号运算。SFSignFlag。它反映运算结果的最高有效位(MSB)为0、还是为1;对有符号运算来说,它反映了运算结果为正、还是为负,即SF=MSB。ZFZeroFlag。它反映运算结果是否为全0。若ZF=1,则表示运算结果为全0(各位均为0);否则ZF=0。PFParityFlag。它反映运算结果的低8位中1的个数是否为偶数。是则PF=1,否则PF=0。AFAuxiliaryFlag。它反映运算中低四位向前有无进位或借位。若AF=1,表示有进位或借位;否则AF=0。程序状态字(PSW)LOGO1.2
Intel8086微处理器简介1.2.2Intel8086微处理器寄存器组程序状态字(PSW)DFDirectionFlag。若设置DF=0,则串操作后,源和目的操作数的地址均向增址方向调整;若设置DF=1,则向减址方向调整。IFInterruptEnableFlag。若设置IF=1,则允许CPU响应可屏蔽中断(开中断);若IF=0,则不允许CPU响应可屏蔽中断(关中断)。TFTrapFlag。若设置TF=1,则将在CPU运行中设置陷井,此时,CPU每执行一条指令就产生一个单步中断;若TF=0,表示不设置陷井。起控制程序运行方式的作用1.3存储器1.3.1存储单元的地址和内容1.3.2堆栈1.3.3存储器物理地址的形成1.3
存储器1.3.1存储单元的地址和内容存储器是用来存放程序、数据、中间结果和最终结果的记忆装置。是计算机中最重要的设备。理解计算机的构成(体系结构)的第一步是了解存放程序指令和数据值的基本存储单元的相关概念。80X86存储器阵列1.3
存储器1.3.1存储单元的地址和内容1.3
存储器1.3.1存储单元的地址和内容**********12340H12341H12343H12342H00000HFFFFFHFFFFEHPA********00001H存储器以字节为单位存储信息;每个字节有一个地址,从0编号,顺序加1;地址用无符号二进制整数表示,用十六进制书写;一个字要占用存储器相继的两个字节,字单元地址用它的低地址来表示。低位字节存入计数小的地址(低地址),高位字节存入计数大的地址(高地址),这种数据存储方式称为小端方式(smallendian)。图8086的存储格式1.3
存储器1.3.1存储单元的地址和内容1.3
存储器1.3.1存储单元的地址和内容二进制位:存储一位二进制数:0或1。字节:8个二进制位,D7~D0。字:16位,2个字节,D15~D0。双字:32位,4个字节,D31~D0。最低有效位LSB(LeastSignificantBit):指数据的最低位,即D0位;最高有效位MSB(MostSignificantBit):指数据的最高位,对应字节、字、双字分别指D7、D15、D31位。数据信息的表达单位1.3
存储器1.3.1存储单元的地址和内容数据在存储器中的存取规则1.3
存储器1.3.32堆栈堆栈操作:(1)PUSH操作数(2)POP操作数.堆栈堆栈的作用:(1)调用函数(2)暂时存储数据(3)保护寄存器数据1.3
存储器1.3.3存储器物理地址的形成将存储器分成若干段:段起始地址的低4位为0,段的大小是64K范围内的任意连续字节时,任一存储单元的实际地址都可以用两个16位的二进制数表示。1.3
存储器1.3.3存储器物理地址的形成
物理地址:每个存储单元的唯一的20位地址(PA)
段地址:段起始地址的高16位
偏移地址(EA):段内相对于段起始地址的偏移值(16位)
**********12340H12341H12343H12342H0000H0001H0002H0003HFFFFH2233FHPA
0000段地址高16位
16位偏移地址+
20位物理地址EA=PA-
段首地址1.3
存储器1.3.3存储器物理地址的形成逻辑地址在程序中使用,由16位段基址和16位段内偏移值所组成的地址.1234:00021234*16=500A:1234500A*16=逻辑地址与物理地址1.3
存储器1.3.3存储器物理地址的形成物理地址=段基址×16+段内偏移地址。代码段段寄存器CS数据段段寄存器DS堆栈段段寄存器SS附加段段寄存器ES段地址*10000B偏移地址物理地址150150
地址加法器19031.3
存储器1.3.3存储器物理地址的形成程序员如何分配各个逻辑段程序的指令序列必须安排在代码段;程序使用的堆栈一定在堆栈段;程序中的数据默认是安排在数据段,也经常安排在附加段,尤
其是串操作的目的区必须是附加段。数据的存放比较灵活,实际上可以存放在任何一种逻辑段中。
程序中如何指明数据所在的逻辑段呢?1.3
存储器1.3.3存储器物理地址的形成段超越的例子MOVAX,[2000H];AX←DS:[2000H],;从默认的DS数据段取出数据MOVAX,ES:[2000H];AX←DS:[2000H],;从默认的DS数据段取出数据没有段超越的指令实例采用段超越前缀的指令实例1.3
存储器1.3.3存储器物理地址的形成段寄存器的使用规定(表2.1)访问存储器的方式 默认的段寄存器 可超越的段寄存器 偏移地址取指令 CS 无 IP堆栈操作 SS 无 SP一般数据访问 DS CS、ES、SS 有效地址EA(下列除外)串操作的源操作数 DS CS、ES、SS SI串操作的目的操作数 ES 无 DIBP基址的寻址方式 SS CS、DS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高铁建设项目施工员合同样本
- 招投标项目招投标合同管理
- 二零二五年电梯安全认证服务合同2篇
- 2025仓储保管合同模板
- 二手房交易法律合同模板2024版B版
- 地下停车场建设爆破合同
- 4S店前台销售顾问招聘协议
- 2025雇主责任险保险合同
- 大型广告牌搬运吊车租赁合同
- 家庭用工聘用保姆合同范本
- GB/T 24476-2023电梯物联网企业应用平台基本要求
- 初级经济师考试经济基础知识讲义
- 2023年安徽省公务员录用考试《行测》真题及答案解析
- 小学数学教学3000字(优选11篇)
- 四川水泥厂土建工程基础施工方案
- 新外研版高二英语选择性必修二Unit2重点单词短语归纳复习检测(精编课件)
- 围棋初级死活常型
- GB/T 6481-2002凿岩用锥体连接中空六角形钎杆
- GB/T 20988-2007信息安全技术信息系统灾难恢复规范
- (最新)信息科技风险管理办法
- 托福阅读小班讲义
评论
0/150
提交评论