上海大学汇编语言程序设计复习提纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《汇编语言程序设计》复习提纲第二章80X86计算机组织1.计算机的硬件构成5部分,总线的分类与名称。2.中央处理机重点是80X86寄存器组*程序可见的寄存器与程序不可见的寄存器寄存器分类:通用寄存器—AX,BX,CX,DX,BP,SI,DI16位专用寄存器—IP,SP,FLAGS16位段寄存器—CS,DS,ES,SS16位flags条件码标志位名称及作用3.存储器—存储器的编址方式,存储单元的地址,数在存储器中的存储格式4.存储器分段和物理地址的形成:(1)在8086/8088系统中,存储器是分段组织的,存储器物理地址计算公式。(2)在1M字节内存空间中,若各段互不重叠且每段长均为64K,可以分成多少个段。小段的长度16字节。(3)段内偏移地址是几位二进制数,每段最长为多少字节。(4)如果存储器地址表示为2F00:1400,指出该存储单元段地址,偏移地址和物理地址。(5)程序分段与四个段寄存器关系。(6)在程序执行过程中,代码段的段地址存放在哪里?偏移地址存放在哪里?堆栈段的段地址存放在哪里,栈顶数据的偏移地址存放在哪里?(7)写出指令存放单元物理地址的计算公式,栈顶数据物理地址的计算公式。(8)写出可用于寻址的通用寄存器名。第三章80X86的指令系统和寻址方式一.寻址方式与物理地址计算1.七种寻址方式熟练掌握8086/8088与数据有关的七种寻址方式,以及相应的存储单元物理地址的计算,能指出各寻址方式的名称。判断指令语句的正确性A.PUSHDSB.SUBAX,[SI+DI]C.XORAX,VAS[BX];VAS字变量D.MOVDH,100E.ORAX,[CL]F.MULVAS;VAS是字变量G.INCCXH.MOVDX,[BX+BP];错,两个基址I.SBBCX,VAS[BP+DI];正确,在数据区取数据J.POPESK.NOTDXL.ADD[SI],[DI]M.MOVSI,[DX]2.已知(DS)=15F0H(ES)=25F0H,BUF的偏移地址是0900H(SS)=35F0H(BX)=0670H(SI)=1001H(DI)=0B0H(BP)=0150H计算下列指令源操作数的物理地址,指出寻址方式A.MOVAX,BUF[BP+6];对否?B.CMPAX,ES:[SI]C.MOVCX,BUFD.MOVAX,ES:[BX+SI]E.ANDDX,AXF.MOVAL,100G.DECBUF[DI]H.MOVAX,BUF[BX+DI]注意:(1)数据类型要匹配(2)寄存器搭配合法(3)两个存储单元不能进行传送、加减等操作(4)段寄存器间不能直接传送,段寄存器不能直接传入立即数。(5)代码段CS不能通过直接传入数据修改二.指令系统灵活掌握指令系统中的数据传送指令、算术指令、逻辑指令、条件控制转移指令。各组指令的灵活使用及与条件码标志的关系。1.传送指令组:MOV,PUSH,POP,LEA*入栈指令PUSH,出栈指令POP:注意SP变化。PUSH,POP指令操作对象是字(32位指令,双字)。*子程序调用指令CALL和返回指令RET的堆栈操作注意执行远调用CALLFARPTRDST和近调用CALLNEARPTRDST后在堆栈中保存的返回地址。*执行PUSH,POP,CALL和RET指令后,SS值不变,只修改SP值。*注意MOV和LEA指令的区别,LEA是传送存储器操作数的有效地址2.加减运算中,数的范围:*1字节有符号数能表达的数值范围是多少,无符号数能表达的数值范围是多少。*1个字有符号数能表达的数值范围是多少,无符号数能表达的数值范围是多少。3.加减运算和标志位的建立*加法ADD、ADC、INC与减法SUB、SBB、DEC、NEG、CMP加、减运算后建立标志位。指出:*CF是无符号数加减运算溢出标志,OF是有符号数加减溢出标志。*INC,DEC不影响CF,影响其他标志位*当操作数不为0时,执行NEG后,CF=1NEGoper:如(oper)=0,则CF=0,否则CF=1;如(oper)=80H,作字节运算;或(oper)=8000,作字运算,则OF=1,否则OF=0MOVAL,123NEGAL=CF=1OV=0MOVAL,0NEGAL=CF=0OV=0MOVAL,80HNEGAL=CF=1OV=1*多字节数的加、减和求补运算*比较指令CMP执行二数相减:当二数相等时,比较后ZF=1二数比大小,要分清是有符号数还时无符号数,分别选择二组不同的条件转移指令4.乘法指令、除法指令:乘法指令:字节相乘,乘数、乘积在哪里?字相乘,乘数、乘积在哪里?除法指令:字节除法,除数、被除数在哪里?商、余数在哪里?字除法,除数、被除数在哪里?商、余数在哪里?类型转换指令:CBW、CWD区分有符号数乘、除运算。5.逻辑运算指令AND,OR,XOR,TEST,NOT按位操作AND,OR,XOR,TEST指令执行后使CF=OF=0。NOT指令不影响标志位使用AND可以使选定的位置0使用OR可以使选定的位置1使用XOR指令,可以使寄存器清0。例如:XORAX,AX后,(AX)=0使用TEST指令,可以测试指定位,控制程序转移。TEST指令执行后操作数保持不变.6.移位和循环移位指令:掌握SHL,SHR,ROL等移位和循环移位指令及其应用7.串操作指令:注意寻址特点及SI、DI的使用,REPMOVS、REPNESCAS等指令.8.条件转移指令及其正确选用,特别JE、JNE、JB、JG、JL、JG等。JMP指令与与转移地址有关的四种寻址方式第四章汇编语言程序格式1.汇编程序的功能掌握汇编程序上机过程2.数据定义和存储分配DB定义字节,8位,DW定义字,16位DD定义双字,32位已知数据段定义如下:DATASEGMENTORG512HVRADW9VRBDB‘BYTE’,0AH,0DHVRCDB5DUP(?)BUFDW6DUP(0,1,2DUP(2,3),0)CNTEqu$-BUFFTABLEDB0,1,4,9,16,25DLENEQU$-VRADATAENDS求变量的偏移地址,类型值,统计BUF字节数,取某项,画出数的存储分配图,求DLEN值等。3.其他伪指令,操作符OFFSET,TYPE,SEGMENT和ENDS、ASSUME、ORG、$的含义和正确使用,4.正确使用表达式。*注意:同一个段内,两个变量相加是没有物理意义的,相减表示他们之间的字节数。*逻辑操作符与逻辑指令的区别5.汇编语言程序上机调试所需要的系统程序,程序调试过程中生成的文件。能书写一个完整的可以上机调试的汇编语言程序。第五章循环与分支程序设计基本要求:掌握顺序程序设计的设计方法和基本结构,能用条件转移指令编写分支程序,能编写和读懂用计数控制的循环程序。第六章子程序设计了解子程序的概念、基本结构形式,掌握子程序设计的步骤和方法、子程序的现场保护和恢复及子程序的调用和返回,了解主程序和子程序间传递参数的几种方法,并能灵活进行子程序设计。*子程序的定义SUBRPROCFAR;远调用或NEAR近调用PUSHAXPUSHBX…POPBXPOPAXRETSUBRENDP*子程序与调用程序参数传递的基本方法调用CallFARPTRSUBRCallnearPTRSUBR第8章输入输出程序设计三种输入输出数据传送方式:直接存储器存取方式、程序直接控制I/O方式、中断传送方式重点是:(1)程序直接控制I/O方式(2)中断传送方式程序直接控制I/O方式I/O端口:接口寄存器组、I/O端口地址编码、范围、端口号、地址空间I/O接口寄存器:数据寄存器:用作数据缓冲状态寄存器:用作保存设备和接口的状态信息,供CPU对外设进行测试命令寄存器:用来保存CPU发出的命令以控制接口和设备的操作I/O指令:IN、OUT及使用、长格式与短格式了解Sound程序及发声原理查询方式或等待方式中断传送方式几个概念、中断分类,内中断、外中断中断标志位IF,开、关中断,STI,CLI中断返回指令IRET及返回过程、堆栈变化中断向量表:中断向量的地址计算,存放内容中断操作的5个步骤与7个过程,中断过程及有关细节问题:执行中断INT70h时在什么地方取中断向量?堆栈指针如何变化?其他哪些寄存器有变化?中断设计:设置中断向量、取中断向量,有关的指令特别掌握:设置中断类型为N的中断向量。手动设置与DOS功能调用设置。中断优先级和中断嵌套了解中断处理程序的编写方法。第9章BIOS和DOS中断1、屏幕显示方法,若干概念,中断类型2、DOS(或BIOS)键盘中断设计3、显示器I/O及设计(1)有关概念(2)定光标、开窗口:INT10h的2功能与6功能了解BIOS键盘中断设计,掌握显示中断、DOS显示功能调用与键盘输入功能调用*4、DOS系统功能调用:1,2,9,A系统功能调用步骤,用系统功能调用1、系统功能调用2编写程序。(1)系统功能调用1:输入一个字符,MOVAH,1INT21H执行后,(AL)=输入字符的ASCII(2)系统功能调用2:输出一个字符,调用参数:(DL)=输出字符的ASCIIMOVAH,2INT21H执行后在屏幕上显示一个字符。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功