8086―8088汇编语言._第1页
8086―8088汇编语言._第2页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8086/8088 汇编语言课 程计算机信息工程学院周琪云第一章概述(1.1.1)第一节计算机语言系统1.机器语言计算机硬件实体直接接受和识别、与机器结构密切相关 的语言2.汇编语言机器语言的符号化,它是面向机器的3.高级语言与具体的机器指令系统无关的、表达方式接近丁被描述问题且易于人掌握和书写语言第一章概述(1. 1.2)4.举例机器语言(二进制 B、十六进制 H)10111000 00000000 00010000( B8 00 10)10111011 00000000 00100000( BB00 20)00000001 11011000(01 D8)01110011 1111 1100

2、(73 FC)汇编语言(助记符)含义MOV AXJ000HMOV BX,2000HRl: ADDAX,BXJNC R11000H-AX2000H-BX(AX)+(BX)-AXCF=O则转 R1第一章概述(1.2.2)4.连接程序(LINK)将目标程序转变为执行程序5.执行程序可在计算机上运行的程序(.EXE .COM)6.调试程序(DEBUG)调试可执行程序的工具第一章概述(1.2.3)7.它们之间的关系第一章概述(1.3.1)第三节微型计算机系统结构和有关术语1.系统结构冯诺依曼思想:1)采用二进制或二进制代码表示2)存储程序3)五大硬件组成:运算器、控制器、存储器、 输入设备和输出设备第一

3、章概述(1.3.2)系统总线:1) 数据总线双向2)地址总线单向3)控制总线第一章概述(1.3.3)第一章概述(1. 3.4)2.有关术语1)位(BIT):是计算机所能表示的最基本最小 的数据单位,是二进制位(0、1)2)字节(BYTE) :作为一个单位来处理的8BIT二进制数位,1BYTE二8BIT3)K、M、G、T:单位,1K=1O24,1M=1O24K,1G=1O24M,1T=1O24G4)记忆单元:用一个具有两种稳定状态的物理 器件来表示二第一章概述(1.3.3)进制数码0、1第一章概述(1.3.5)5)存储单元:若干记忆单元组成,一般是一个 或若干字节6)存储体(MB):大量的存储单

4、元的集合组成7)端l_h外部设备与计算机连接有许多交换信 息,这信息的所存放的位置8)地址:区分存储单元或端口,每个存储单元 或端口都有唯一的编号,存储单元编号叫内存 地址,端口的编号叫端口地址第一章概述(1.3.6)9)指令:规定计算机进行某种操作的命令10)程序:指令的集合11)字长:(1)一次处理能力(2)一次传送能 力12)基本指令执行时间:衡量CPU速度的标准, 一般用加法指令13)访存空间:指CPU构成的系统能访问内存单 元总数第一章概述(141)第四节 计算机中数和字符的表示1.数的表示1)常用的数制A.二进制数:0、1组成,例如:001001000BB.十进制数:09组成,例如

5、:1234D, D可省C.十六进制数:09 AF组成,例如:2AHD.八进制数:07组成,例如:27Q或者270第一章概述(1.4.2)2)无符号的数表示nBIT的的无符号数表示范围为:0N2n-l例如:n=8 , 0N28-1=255 (FFH) n=16,0N0,贝IJ:X#=X=0101101BYN28-J-l-128 (80H) N127 (7FH)16位补码:-216-!N2-32768 (8000H) N32767 (7FFFH)第一章概述(1.4.7)D.补码的加、减运算方法求补求补(1)X补二-X补=凶补(2)X+Y补二X补+Y补(3)乂丫补=以补Y补X-YX补+卜Y补第一章概

6、述(148)例1已知:X=+25D, Y=+32D,用8bit二进制补 码运算求X+Y和XY的值解:X=+25D二+0011001BY=+32D=+0100000BX补二00011001B, Y补=00100000BY补=11100000BX+Y补二X补+Y补00011001=00011001B+00100000B+ 00100000=00111001B00111001第一章概述(1.4.8)X+Y=+0111001B=+57D第一章概述(1.4.9)XY补二X补+Y补00011001=00011001B+1U 00000B+11100000=11111001B11111001X-Y=-000

7、0111B=-7D例2已知:X=-25D,Y=-32D,用8bit二进制补 码运算求X+Y和XY的值解:X=-25D=-0011001BY=-32D=-0100000BX补=1110011 IB, Y#=11100000BY补=00100000B第一章概述(1.4. 10)X+Y补二X补+Y补= 11100111B4-11100000B= 1100011 IBX+Y=-0111001B=-57DXY补二X补+Y补二11100111B+00100000B=00000111B第一章概述(1.4.10)X-Y=00000111B=7D11100111+111000100000第一章概述(1.4. 1

8、1)E.补码运算的溢出问题对于 n b让的补码运算结果可能超过数的表示范围(2myNS2ml-l )计算机识 别方法如下:最高进位位 Cf与次高进位位 Cs的异或, 若为 0表示无溢出(V=0),为 1表示有溢 出(V=l)O第一草概述(1.4. 12)例(1) 3BH补=00111011+JlDHli|=000m0 01011000Cs=0,Cf=0,v=0(无溢出)(3) 3BH补=00111011 +5DH补=0101110110011000G=0,Cs=l,v=l(有溢出)(2) -3BHllh= 11000101+ -1DH4=1110001110101000Cs=l,Ct=l,v=

9、0(无溢出)(4)3BH补=11000101 +5DH补=1010001101101000第一章概述(1.4. 12)Cf=l,Cs=0,v=l(有溢出)第一章概述(1.4. 13)4) BCD 码十进制中的二进制代码,一位的十进制数(也说 1 位的 BCD 码)就川 4 位的二进制代码來表示,例:32D用 BCD 码可表示为 00110010B,而 32D勺二进制表示为 OOlOOOOOBo非压缩型的 BCD 码:1 个字节存放一位的 BCD 码用缩型的BCD码:1个字节存放二位的BCD码 例: 数 56D存放在存储单元的情况若压缩型的 BCD 码:(一个字节)非压缩型的 BCD 码(二个字

10、节)第一章概述(1.4. 13)BCD码二进制十六进制000000000000100011001000102001100113010001004010101015011001106011101117100010008100110019000100001010A000100101011B000100111100C000101001101D000101001110E0101 0110000001010000 0110第一章概述(1.4. 14)000101011111F第一章概述(1.4. 15)2 .ASCII(字符的表示)LSDB3B2BIBOMSD B6B5B4000001010Oil1(X

11、1101110III00000NUKDLESP0p%PI0001SOHDC1AQaq20010STXDC2u2BRbr30011ETXDC3#3Cscs40100EOTDC4s4DTd(50101ENQNAK%5EIcu60110ACKSYN&6FfV7OlilBELETBGWgw81000RSCAN(8HXhX91(X)1HTEM)9I、1yA1010LFSUBJ/jzB1011VTESCK1k(C1100FFFS、TnFmiSIUS/*OoDEL第一章概述(1.5.1)作业:P121.K 1.2 1.3、1.4、1.5、1.68086/8088内部结构图AHALBIIBLCHCLD

12、HDL(2.1.数据总线(16位8086/8088du IL.总控逻总线EU控制器Q总线第二章 8086/8088 微处理器系统结构(2. 1. 1)第一节8086/8088微处理器功能结构1.8088/8086微处理器结构1)内部结构(1)执行部件EUALU、暂存器、标志寄存器、通用寄存器和EU控制器组成ALU:算术逻辑运算单元(2)总线接口部件BIU指令队列、指令指针、段寄存器、地址加 法器、总线控制逻辑等组成。第二章 8086/8088 微处理器系统结构D!SPBPS1| 指令队列J数据总线(16位)暂存寄存器忙忙忙忙第二章 8086/8088 微处理器系统结构(2. 1.3)2)工作过

13、程从存储器中取出一条指令,执行完所取 U1 的指令 后再去取下一条要执行的指令。一般 CPU 和总线工作 过程如下:CPU取指1执行1取指2执行2取指3执行3忙忙忙忙总线(BUS)忙空闲忙空闲忙空闲第二章 8086/8088 微处理器系统结构(2. 1.4)8086具有流水线操作,大大提高了总线的 使用,工作过程如下图所示:BUSEUBIU第二章 8086/8088 微处理器系统结构(2. 1.5)3) 8086、8088结构上的差异主要有:A. 8086指令队列为6个字节,8088为4个字节B. 8086为16位机,即一次处理和传送能力均为16位,而8088为准16位,即一次处理和传送能力

14、分别为16位和8位C. 8086可以工作在最大(多个主设备)和最小(单个主设备)工作模式,而8088只能工作在 最小模式。第二章 8086/8088 微处理器系统结构(2. 1. 6)2. 8086/8088的寄存器结构1)通用的寄存器组A通用数据寄存器(4个 16位可拆为 8 个 8位)数据寄存器或端11寄行器,作为放端11地址町何接实现外部 数据交换B通用地址寄存器(4个 16位,不可拆)I siT|源变址寄存器,在数据块操作时作为源数据的地址DI 目的变址寄心器,在数据块操作时作为目的地址BP基址寄存器,作为有效地址的基址有的较多 | SP 1|堆栈指针.二般为用于銀堆栈仃关的指令IAL

15、|pHrzFIDHD;|累加器,算术运算用的比较多基址寄存器,作为有效地址的基址有的较弟计数器.循环次数计数仃的较多第二草 8086/8088 微处理器系统结构(2. 1. 7)2)指令指针 IP (16位)(1)程序运行中自动修正,使之指向要执行的下条 指令(2) 转移、调用、中断和返回指令能改变 IP 的值3)标志寄存器 F (Flag)| DIS DI4 | DI3 | D12 | D11 | D】O | D9 | PS | D7 | D6 | D5 D4 | D3 D2 DI | DO |第二章 8086/8088 微处理器系统结构(2. 1.8)9个标志两人类:控制标志(3 个)和状

16、态标志(6 个)A状态标志进位标志 CF:有进位或借位时 CF=1,否则 CF=O。奇偶标志 PF:当指令执行结果使“1”的个数为偶数时,PF=1,否则 PF=Oo 辅助进位标志AF: D3 向 D4 右进位和借位时 AF=1 ,否则 AF=0。零标志 ZF:当指令执行结果为 0 时,ZF=1,否则 ZF=Oo符号标志 SF:当指令执行结果使最髙位为 1时,SF=1 (表示负数),否则 SF=O (表示正数)。溢出标志 OF:指令执行结果超过 8位( 128+127)或 16 位(-32768+32767)有符号数所能表示的范围时,OF=1,否则 OF=0。B.控制标志方向标志 DF: 在数据

17、块操作中, 地址可为自动增加 (由低地址向高地址) , 则设置 DF=1,否则设置 DF=0。中断允许标志 IF:对外部中断进行管理,设置 IF=1,CPU 允许外部中断,否则 不允许。陷阱(单步)标志 TF:设置 TF=1时,每执行-条指令就自动产生 个内部中 断,否则不产生。溢出杯志进位辅助中断允许标总符号标憑第二章 8086/8088 微处理器系统结构(2. 1.9)4)段寄存器(4个 16位)A.代码段寄存器 CS:保存当前执行的程序所在段基址,放程序代码的段。B.数据段寄存器 DS:保存当前数据所在段基址,放数据的段。C.附加数据段寄存器 ES:保存当前数据所在段基址,放附加数据的段

18、。D.堆栈段寄存器 SS:保存当前执行的程序所使用的堆栈的段基址。第二章 8086/8088 微处理器系统结构(2. 1. 10)3内存地址的形成(物理地址)通过地址加法器形成20位的地址, 例:可表示DS:BX,2000H:1234H等。具休的算法为:20位的地址二段寄存器(段基址)左移一位的16进制(或左移四位的二进制)数加地址寄存器 (有效地址或偏移地址)的内容。例:DS=2000H, BX=1234H20位 的地址=20000H+1234H=21234H第二章 8086/8088 微处理器系统结构(2. 2. 1)第二节8086/8088存储器组织1.以字节为单位分配地址20根地址线可

19、访问的内存空间为 1M。地址应从OOOOOH 到 FFFFFH 的范围。其结构图如下:I地址IOOOOOH00001H00002H第二章 8086/8088 微处理器系统结构(2. 2. 2)8086/8088可以以字节(8 位)和字(16位)的两种形式表示若要给出某一字节的位置可直接给出其地址,如上图 中00002H地址单元的内容为 67Ho若要给出某一字的位置,则用该字的低字节的地址表 示,如上图I00001H 单元可表示字 6734H;字有两种情况, 一是字的低字节的地址为偶地址时,叫规则字,二是字的 低字节的地址为奇地址时,叫非规则字。字存放在存储器中应是:高字节存放在高地址,低字节存

20、放在低地址。FFFFEHHFFHEH存储器第二章 8086/8088 微处理器系统结构(2. 2. 3)2.存储器的段结构(人为假设的)为了和 CPU 中形成的 20位的地址的段寄存器和地 址寄存器有对应关系,人为的把内存化分为段(4位十 六进制)和偏移地址(4位十六进制)。内存地址表示 可采用逻辑地址形式表示即段基址:偏移地址。段的分析:1)1M的内存空间最多町化分 64K 个段。2)一个段最大可以为 64KB3)一个段最小是 16字节4)段与段之间可以重蔭第二章 8086/8088 微处理器系统结构(2. 2. 4)段基址1123HI123H1123H1123HII23H (1I24H)U

21、23H (1124H)偏移地址物理地址0000H1I23OH()00 IHI123IH0002H11232H0003H11233H OOOEH1123EHOOOFHI123FH0010H (0000H)11240H00I1H( (0001)I124IH 物理地址二段基址左移 1 位十六进制+偏移地址一个物理地址可对应多个逻辑地址第二章 8086/8088 微处理器系统结构(2. 3. 1)第三节8086/8088 I/O接口1. 端口地址地址线 A0A15形成,端口地址容量为 64K,不需段寄 存器参预。端口地址小于 256( 1 OOH) (A0A7 形成), 一般系统占用。2. 端口地址常

22、表示的含义控制寄存器:输入控制外部信息状态寄存器:外部设备状态数据寄存器:与外部设备进行数据交换第三章 8086/8088 寻址方式及 指令系统(3. 0. 1 )指令系统:一种微处理机所具有的指令集合操作码:指出计算机所要执行的操作操作数或地址码:指出在指令操作过程中所需要的信息(操 作的数据)或提供其所在的地址(地址码), 可有零个、一个、二个或三个操作数或地址码,8086/8088只有前三种情况。操作码 操作数或地址码第三章 8086/8088 寻址方式及指令系统(3. 0. 2)讲述汇编语言方便时,采用的一些符号表示:data:表示立即数reg:表示通用寄存器(8位或16位)sreg:

23、表示段寄存器mem:表示内存单元x:为某单元的地址(x) :表示X单元的内容( (x) ) :表示X地址中的地址的内容第三章 8086/8088 寻址方式及指令系统(3. 1. 1 )第一节 8086/8088的寻址方式有效地址:指实际访问的存储单元地址,就是偏 移地址。寻址方式:寻找地址码或操作数的方式寻址方式分类(三大类):(1)与数据有关的寻址方式(7种)(2)与代码(程序)有关的寻址方式(4种)(3)与端口有关的寻址方式(2种)X(2000H)3000H (x)(3000H)1212H第三章 8086/8088 寻址方式及指令系统(3. 1. 2)1.与数据有关的寻址方式(1)立即数寻址立即数: 育接存在在指令代码中的操作数, 立即数可 8 位和 16 位。立即数寻址:以立即数的形式提供操作数的方式。例:传送指令 MOV AX, 4567H4567H是 16 位立即数第三章 8086/8088 寻址方式及 指令系统(3.1.3)(2)寄存器寻址所提供的操作数是 CPU 内可编程的寄存器.是寄存器的编号,在 汇编语言中有符号来表示。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论