汇编语言程序设计复习.doc
汇编语言程序设计》总复习
• 段间寻址
段间直接寻址 段间间接寻址
JMP FAR PTR NEXT JMP DWORD PTR [ BX ]
2. 8086的指令系统
数据传送指令
算术指令 逻辑指令 串处理指令 控制转移指令 处理机控制指令
重点关注! • 指令的汇编格式 • 指令的基本功能
• 指令支持的寻址方式
条件转移指令
JZ / JNZ 、 JE / JNE、 JS / JNS、 JO / JNO、
JP / JNP、 JB / JNB、 JL / JNL、 JBE / JNBE、
JLE / JNLE、 JCXZ
循环指令
LOOP、LOOPZ / LOOPE、LOOPNZ / LOOPNE
子程序调用和返回指令
无符号整数的表数范围: 0 N 2n-1
补码的加法和减法:
求补运算 :对一个二进制数按位求反、末位加一 [X]补码 [-X]补码 [X]补码 加法规则:[X+Y]补码 = [X]补码 + [Y]补码 减法规则:[X-Y]补码 = [X]补码 + [-Y]补码 补码减法可转换为补码加法 例:
第一章
熟练掌握: 数值数据在计算机内部的各种表示,二 进制、八进制和十六进制之间的转换方 法。 基本数据类型(字节、字、双字等)在汇编 语言中的符号表示形式,它们计算机内 部的存储形式以及符号扩展的含义。
重要知识点
数制 数制之间的转换 运算 数和字符的表示
1. 数 制
数
二进制
0 的表示不唯一
补码表示法:
正数的补码: 同原码 负数的补码:(1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一
《汇编语言程序设计》复习资料
《汇编语言程序设计》复习资料
一、单项选择题
1、重复前缀指令REPNE/REPNZ继续重复执行串操作的条件是 A 。
(A)(CX)≠0且ZF=0 (B)(CX)≠0或ZF=1
(C)(CX)=0且ZF=1 (D)(CX)≠0或ZF=0
2、为实现单步操作,即每执行完一条指令就停下来,必须设置标志位 D 。
(A)IF (B)AF (C)DF (D)TF
3、指令MOV BX, ES:[BP]中,源操作数的物理地址是 A 。
(A) (ES)*16+(BP) (B) (SS)*16+(BP)
(C) (ES)+(BP) (D) (BP)
4、执行段内子程序调用指令时,CPU将把 B 的值保存在堆栈中。
(A)CS (B)IP (C)SP (D)CS和IP
5、执行指令SUB BX,0 后,不受影响的标志位是 C 。
(A)CF (B)ZF (C)DF (D)所有标志位
6、用REPE SCASB指令对字符串进行扫描,如(CX) 0时,扫描结束,那么表示 A 。
(A)在字符串中遇上第一个不是AL中指定的字符
(B)在字符串中有一个AL中指定的字符
(C)在字符串中有一个不是AL中指定的字符
(D) 在字符串中遇上第一个AL中指定的字符
7、已知(AX)=0633H, (DH)=38H,执行指令。
《汇编语言程序设计》期末复习 (1)
第2章 80x86微处理器
1. 基本结构寄存器的名称、位长和作用
(1)通用寄存器: • 32位:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP • 16位:AX、BX、CX、DX、SI、DI、BP、SP • 8位:AL、AH、BL、BH、CL、CH、DL、DH
(2)段寄存器:CS、SS、DS、ES、FS、GS (3)指令指针寄存器:EIP、IP (4)标志寄存器:FLAGS
① 用方式选择伪指令说明执行该程序的微处理器类型; ② 用段定义语句定义每一个逻辑段; ③ 用过程定义语句定义每一个子程序; ④ 用ASSUME语句说明段约定; ⑤ 用汇编结束语句说明源程序结束; ⑥ 程序在完成预定功能之后,应能安全返回操作系统
2. 汇编语言源程序的编程格式
• EXE和COM格式 3. 系统功能调用 • 调用模式
• SHL, SAL, SHR, SAR, ROL, ROR, RCL, RCR
• 转移和调用指令(表3.8、3.9和3.10及CALL、RET、LOOP)
• 串传送指令:MOVSB、MOVSW、MOVSD及REP前缀
• 处理机控制指令
第4章 汇编语言程序设计
1. 一个完整的汇编语言源程序在结构上包括:
解:∵ (+75)补=0100,1011B
(-6)补=1111,1010B
∴ (+75)+(-6) = (+75)补+ (-6)补
= 0100,1011B
+ 1111,1010B
=1,0100,0101B
∴运算结果为0100,0101B,且OF=0
∴结果不溢出
5. 熟记0~9、A~F、回车符、换行符的ASCII码 6. 微型计算机机的硬件结构
(完整版)汇编语言复习题
汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。
汇编语言程序设计
汇编语言程序设计复习资料1、(单选、2.5分)汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法________。
A、名字的第一个字符可以是大写英文字母及小写英文字母B、名字的第一个字符可以是字母、数字及、@、_C、名字的有效长度≤31 个字符D、在名字中不允许出现$参考答案:B2、(单选、2.5分)当程序顺序执行时,每取一条指令语句,IP 指针增加的值是__________。
A、1B、2C、3D、由指令长度决定的参考答案:D3、(单选、2.5分)下列属于合法的指令是_________。
A、MOV DS,ESB、MOV [SI],[DI]C、MOV AX,BLD、MOV [DI],BL参考答案:D4、(单选、2.5分)下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是________。
A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS 参考答案:B5、(单选、2.5分)下列传送指令中有语法错误的是_________。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX参考答案:A6、(单选、2.5分)与MOV BX,OFFSET VAR 指令完全等效的指令是_________。
A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR参考答案:D7、(单选、2.5分)在汇编语言程序中,对END 语句的叙述正确的是________。
A、END 语句是一可执行语句B、END 语句表示源程序到此结束C、END 语句表示程序执行到此结束D、END 语句在汇编后要产生机器码参考答案:C将DX 的内容除以2,正确的指令是_________。
A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,1参考答案:C9、(单选、2.5分)下列数值表达式和地址表达式中,错误的是_________。
汇编语言复习提纲Word版
《汇编语言程序设计》复习提纲第二章微处理器的基础知识2.1 8086微处理器的结构2.2 80X86微处理器的寄存器结构2.3存储器的组织2.4 实模式下物理地址的形成本章要点1.8086微处理器的结构2.80X86微处理器的寄存器结构1)通用寄存器2)段寄存器3)指令指针寄存器4)状态标志寄存器及其含义3.8086的存储器组织4.实模式存储器寻址、实模式下物理地址的计算5.BIOS、DOS之间的区别复习题1.80386微处理器有哪3中工作模式?DOS和Windows操作系统分别工作于哪一种模式?2.逻辑地址、物理地址、偏移地址。
3.段寄存器和与其对应存放偏移地址的寄存器的缺省关系。
4.实模式中:可寻址内存范围、段的划分,段最小/大多少,起始?段寄存器的作用?5.汇编语言用在那些场合?简述汇编语言的优点。
第三章寻址方式和指令系统3.1 与数据有关的寻址方式3.2 与存储器有关的寻址方式3.3 数据传送指令3.4 算术、逻辑运算指令3.5程序控制指令(包括条件转移、控制转移)3.6 串操作指令本章要点1.与数据有关的寻址方式2.与存储器有关的寻址方式3.数据传送指令4.算术、逻辑运算指令5.程序控制指令6.串操作指令注意以上指令的应用:例1)操作数类型不匹配例如: MOV AL,DL2)凭空构造指令例如:MUL 10例如:MOV AL,[DX];将内存单元的一个字节送AL,但内存操作数不能用[DX]改为:MOV BX,DXMOV AL,[BX]3)常用指令的格式、功能、对标志位的影响4)专用指令和逻辑指令对CF、ZF标志位清0的方法5)控制转移指令及其用法(JMP、JCC、JCXZ、LOOP、CALL等)6)串操作指令(MOVS、SCAS、CMPS、LODS)及REP、REPN、REPZ重复前缀使用,以上指令各完成什么功能?使用以上指令时要求的初始条件?1.立即操作数、寄存器操作数、存储器操作数?2.复习例题、指定习题(教材中已布置)和课堂练习(另发).第四章伪指令及汇编语言程序组织4.1 常用伪指令及段定义伪指令4.1.1数据定义伪指令4.1.2符号定义伪指令4.1.3常用的汇编语言操作符4.1.4简化段定义本章要点1.程序的基本框架2.数据定义DB、DW、DD伪指令、符号定义伪指令的功能、格式、作用3.常用的操作符(DUP、SEG、OFFSET、TYPE、LENGTH、SIZE、PTR、SHORT等)4.完整的段定义、存储模型和简化的段定义的区别?5.复习例题、完成习题(已布置过)、课堂练习第五章程序的基本结构及其程序设计5.1顺序结构及简单程序设计5.2分支结构及程序实现5.3循环结构及程序实现5.4 字符处理及程序设计本章要点1.阅读本章已讲过的例子5.1~5.6,课件中的例题2.完成习题、课堂练习第六章子程序设计6.1 子程序及设计方法6.2 子程序间参数传递的方法及实现本章要点1.阅读本章已讲过的例子2.完成习题第七章高级汇编技术本章要点7.1宏汇编、条件汇编7.2汇编语言与C语言混合编程第八章中断和输入输出程序设计本章要点8.1输入/输出的基本概念8.2 CPU与外设之间数据传送的方式8.3 8086中断的基本概念8.3.1中断向量8.3.2中断类型号8.3.3中断向量表8.4中断分类8.4.1内中断8.4.2外中断8.4.3 8086的中断优先级8.5 中断的操作步骤、处理子程序的设计步骤第九章 DOS、BIOS中断功能调用9.1.1 BIOS键盘中断9.1.2 DOS键盘中断9.2.3 DOS显示功能调用9.4.2 串行口功能调用本章要点掌握1.BIOS键盘中断(INT 16H)2.DOS键盘中断(INT 21H),其中功能号为(1、A)要求会编程3.DOS显示功能调用(INT 21H),其中功能号为2、6、9要求会编程复习题1.IBM PC中CPU与外设之间数据交换的方式?应用范围及其特点?2.实模式下类型N的中断向量放在存储器的哪些单元?偏移量和段地址分别在哪里?3.复习例题、完成指定习题课堂练习题一1.以下为用“段基址:偏移量”形式表示的内存地址,试计算它们的物理地址。
汇编语言程序设计期末复习
《汇编语言程序设计》期末复习1.在无段超越说明时,下列操作分别自动选择哪个段:通用数据读写_______,取指令_______。
2.通常变量在数学中是无属性的。
在计算机中,由于变量是用()表示的,因此,它存在三个基本属性,即:()属性,()属性,()属性。
3.指出下列用处的寄存器名:在数据串传送指令中作目的数段地址________和偏移地址_______。
4.在指令ADD[BX],AH中,两个操作数的寻址方式分别是()和()。
5.指令系统中指令的第一字节为________。
6.计算机唯一能直接执行的语言是______________。
7.在指令MOV AL,[SI+5]中, 两个操作数的寻址方式分别是_________和__________.8.逻辑移位指令SHL用于();A、带符号数乘2B、带符号数除2C、无符号数乘2D、无符号数除2而算术移位指令SAL用于()。
A、带符号数乘2B、带符号数除2C、无符号数乘2D、无符号数除29.指出下列用处的寄存器名:将要执行的指令所在的段地址_________和偏移地址_________。
10.与LEA BX,NUM1等价的指令为()。
[1]MOV BX,NUM1 [2]MOV BX,OFFSET NUM1[3]MOV BX,DS:NUM1 [4]BX EQU NUM111.一个汇编语言源程序一般有几个段组成,每个段都是_________的逻辑单位。
12.标号和变量所具有的三种属性分别为____________属性、_____________属性和_____________属性。
13.栈操作地址由()给出。
[1]ES:DI [2]DS:SI[3]CS:IP [4]SS:SP14.在执行指令过程中,为了取出立即寻址方式的操作数,需访问______________次内存。
15.一个字符的ASCII值占用( ) 二进制位。
A. 6B. 7C. 8D. 916.把若干个模块连接起来成为可执行文件的系统程序称为( )。
汇编语言程序设计复习题答案
《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。
2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。
3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。
4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。
5、根据功能不同,8086的标志位可分为状态标志和控制标志。
6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。
7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。
8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。
9、计算机的指令由操作码和地址码两部分组成。
10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。
11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。
12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。
13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。
14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。
15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。
其中代码段是源程序中必不可少的,其它的段可有可无。
16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。
数据定义伪指令为 DB 、 DW 、DD 。
17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。
烟台大学《汇编语言程序设计》期末考试复习题及参考答案
B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)
《汇编语言程序设计》期末复习题百度文库
《汇编语言程序设计》期末复习题百度文库第一章:汇编语言基础知识概述在开始复习《汇编语言程序设计》之前,我们先来回顾一下汇编语言的基础知识。
1.1 汇编语言的定义和作用汇编语言是一种低级语言,可以直接操作计算机硬件,并且具有较高的执行效率。
它是机器语言的可读性表示,通过一系列指令来实现计算机的基本操作。
汇编语言在计算机系统中发挥着重要的作用,特别适合于编写底层程序和对性能要求较高的应用。
1.2 汇编语言的特点与高级语言相比,汇编语言具有以下特点:- 与硬件相关:汇编语言直接操作计算机硬件,可以实现对寄存器、内存及其他硬件资源的直接访问。
- 相对繁琐:由于直接操作硬件,所以汇编指令的书写比较繁琐,需要对计算机硬件有深入的了解。
- 执行效率高:汇编语言编写的程序执行效率高,能够充分发挥计算机硬件的性能。
1.3 汇编语言的基本概念在学习汇编语言时,需要了解以下基本概念:- 寄存器:汇编语言使用寄存器来存储数据和进行计算,常用的寄存器有通用寄存器和特殊寄存器等。
- 指令:汇编语言通过一系列指令来实现计算机的基本操作,如MOV、ADD、SUB等。
- 内存:汇编语言中使用内存来存储程序和数据,在编写程序时需要合理地管理内存。
- 标志位:用于记录计算过程中的状态信息,可以用于控制程序的执行流程。
第二章:汇编语言程序设计实践2.1 环境准备在进行汇编语言程序设计之前,需要正确配置环境,并安装相应的汇编语言开发工具。
一般来说,常用的汇编语言开发工具有MASM、NASM等。
2.2 汇编语言程序的编写编写汇编语言程序需要按照特定的格式和规范进行,一般包括以下几个步骤:- 定义程序入口:使用`start`指令定义程序的入口点。
- 导入库文件:将需要调用的库文件导入到程序中。
- 定义数据段:使用`data`关键字定义数据段,存放程序中用到的数据。
- 定义代码段:使用`code`关键字定义代码段,存放程序的主体逻辑。
- 定义子程序:可以将一些常用的代码逻辑封装成子程序,便于复用。
《汇编语言程序设计》复习资料
《汇编语言程序设计》复习资料一、基本概念1、8088/8086CPU内部寄存器有__14____个,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是数据总线、控制总线和地址总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。
通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成物理地址和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的起始地址;偏移地址则是相对于每个段第一个存储单元的偏移值。
段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址 16D(或10H)+ 偏移地址___。
6、存储器中,数据是以字节为单位存放的,它是一个 8位二进制数,16位二进制数是 2个字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低字节放在地址较小的存储单元中。
7、计算机的指令由操作码字段和操作数字段构成,它们分别给出计算机所要执行的操作和执行操作所要的操作数。
8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为立即数、寄存器操作数和存储器操作数。
《汇编语言程序设计》期末复习题及答案
汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。
汇编语言程序设计复习
5、 (1)、编制汇编语言的一般步骤 、 汇编语言的一般步骤: 、编制汇编语言的一般步骤 (2)、顺序程序设计方法 、顺序程序设计方法: 查表法 6、 (1)、 I/O指令 、 指令: 、 指令 IN AL, PORT OUT PORT, AL (2)、 I/O端口的编址方式 、 端口的编址方式 (3)、 I/O设备的数据传送方式 设备的数据传送方式: 、 设备的数据传送方式 程序查询传送方式 程序中断传送方式 直接存储器存取(DMA)方式 直接存储器存取 方式
7、8、 9 、 、 、 (1)、循环、分支设计方法; 、循环、分支设计方法; (2)、定义子程序时如何确定其属性 、 寄存器的保护和恢复 子程序的参数传递: 子程序的参数传递
用寄存器传递参数 用存储单元传递参数 用堆栈传递参数
11、宏定义、宏调用和宏展开(标号 宏定义、宏调用和宏展开 标号 标号) 宏定义 宏指令和子程序的区别
(2)、 8086的指令系统 、 的指令系统 非法指令的主要现象(课件上有总结) Ⅰ 、非法指令的主要现象(课件上有总结) 对标志位的影响 Ⅱ 、对标志位的影响 常用重要指令: Ⅲ 、常用重要指令: (a)传送类指令: )传送类指令: MOV PUSH POP(先进后出,SP的 变化) (先进后出, 的 变化) XCHG、 XLAT 、 LEA(地址传送和内容传送的区别 ) ( (b)数据操作类指令: )数据操作类指令: ADD、ADC、INC; 、 、 ; SUB、DEC、NEG、CMP 、 、 、 AND、OR、NOT、XOR、TEST ; 、 、 、 、 SHL、SHR 、ROL、ROR 、 、
题型: 题型: 1、填空 (30分) 、 分 2、单项选择(20分 2、单项选择(20分) 3、分析题 (30分) 、 分 4、程序设计(20分) 、程序设计( 分
汇编语言程序设计复习
2
第一章 基础知识
重要知识点: ①不同进制之间转换 ②补码表示法
3
第二章 80x86计算机组织
重要知识点: ①熟练掌握INTEL80X86微处理器的结构 ②掌握内存单元地址与内容的含义和关系 ③了解计算机接口的构成
25
• 2、DA1数据区中有 个字节数据,下面程序段将每个数 、 数据区中有50个字节数据 数据区中有 个字节数据, 据的低四位变反,高四位不变,并依次存入DA2数据区中。 数据区中。 据的低四位变反,高四位不变,并依次存入 数据区中 请将程序补充完整。 请将程序补充完整。 • MOV CX,50 , • LEA SI,DA1 , • LEA DI,DA2 , • K1:MOV AL,[SI] : , • ___________ (1)XOR AL,0FH ) , • MOV [DI],AL , • INC SI (2)JNZ K1 ) • INC DI • DEC CX • ___________
17
• 2. 如TABLE为数据段中 为数据段中0100单元的符号名,其中存放的 单元的符号名, 为数据段中 单元的符号名 内容为0FF00H,试问以下两条指令有什么区别 指令执行 内容为 ,试问以下两条指令有什么区别?指令执行 寄存器的内容是什么? 后,AX寄存器的内容是什么 寄存器的内容是什么 • MOV AX,TABLE , • MOV AX,OFFSET TABLE , • 3. 对于下面的数据定义,三条 对于下面的数据定义,三条MOV指令分别汇编成什么 指令分别汇编成什么? 指令分别汇编成什么 (3分) 分 2. 第一条指令传送的是 第一条指令传送的是0100H单元 单元 • TAB1 DW 10 DUP(?) ( ) 中的内容 AX=0FF00H • TAB2 DB 10 DUP(?) ( ) 第二条指令传送的是地址0100H 第二条指令传送的是地址 • TAB3 DB ‘1234’ AX=0100H • ┇ , • MOV AX,LENGTH TAB1 3. MOV AX,10 , MOV BL,10 , • MOV BL,LENGTH TAB2 , , • MOV CL,LENGTH TAB3 MOV CL,1 ,
汇编语言程序设计复习(附答案完整版)
一、选择1.下面指令执行后,改变AL寄存器内容的指令是( D )。
A.TEST AL,02HB.OR AL,ALC.CMP AL,BLD.AND AL,BL2.对寄存器AX的内容乘以4的正确指令序列是( B )。
A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )A.85B92HB.86192HC.BB690HD.12169H4.指令JMP FAR PTR DONE属于 CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址5.将DX的内容除以2,正确的指令是 CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,16.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。
A.CMPB.SUBC.ANDD.MOV7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
A.名字项B.操作项C.操作数项D.注释项8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B )A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.使用DOS功能调用时,子程序的编号应放在寄存器中( A )A. AHB. ALC. AXD. 任意指定12.下列语句中能实现留空8个字节单元的语句是( D )A. DA1 DT ?B.DA2 DW ?,?C. DA3 DD ?D.DA4 DQ ?13.指令JMP FAR PTR DONE属于CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址14.下列叙述不正确的是BA. 在不改变堆栈段寄存器的情况下,堆栈大小为64KBB. 紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令C. 中断服务程序的返回地址在堆栈中D. 堆栈中数据存放的特点是先进后出15.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是CA.12CSBH B.12B6BH C.12C59H D.12BFEH16.在下列指令的表示中,不正确的是CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL17.在进行二重循环程序设计时,下列描述正确的是AA.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内18.条件转移指令JNE的测试条件为AA.ZF=0 B.CF=0 C.ZF=1 D.CF=119.将DX的内容除以2,正确的指令是CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,120.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。
重复前缀指令REP的重复次数由计数寄存器Count Reg决定。
在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是
(Count Reg)=0或ZF=0
条件转移指令的转移范围?(只能做段内的短转移)
转移指令JMP NEAR PTR PROCA的转移范围是8000H~7FFFH。
当标志位CF=1时表示无符号数运算产生溢出,而当标志位OF=1是表示带符号数运算产生溢出。
eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。
已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。
如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)=0235H,(DS)=0E60H.
(3) MOVAX, [100H](4) MOVAX, VAL
(5) MOVAX, [BX](6) MOVAX, ES:[BX]
(7) MOVAX, [BP](8) MOVAX, [SI]
(9) MOVAX, [BX+10](10) MOVAX, VAL[BX]
(11) MOVAX, [BX][SI](12) MOVAX, VAL[BX][SI]
eg.【习题3.8】假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
(1) MOVAX, 0ABH(2) MOVAX, BX
计算机系统通过和外部设备通信。
循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是_ZF=0且(Count Reg)不等于0_______。
DOS系统功能调用方式为:(1)设置入口参数;(2)中断程序编号送AH寄存器后执行INT 21H。(教材Page320,page335)
阅读下面的程序片段,并分析执行结果。
3.DATASEGMENT
DB 2EH DUP(0)
VAR1DB 12H,34H
VAR2 DB 10H DUP(O)
ADR1 DW VAR1,VAR2
DATA ENDS
为使ADR1+2字存储单元中内容为0030H,横线上应选用的语句是_ORG$+30H____。
汇编语言程序格式:汇编语言源程序中的每个语句的组成格式:名字项、操作项(包括?)、操作数项和注释项
eg.1.在某数据段内定义变量
BUFFER DB 30 DUP (20)
表达式 TYPE BUFFER的值为1。
2.BUFlDB3DUP(0,2DUP(1,2),3)
COUNTEQU$-BUFl
变量COUNT的值是18。
第二章80x86计算机组织
(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器
eg:IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。
(2)存储单元的地址和内容每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址 ;实模式下逻辑地址、选择器和偏移地址;物理地址的表示段基地址加上偏移地址。
知识点
第一章 基础知识
(1)正负数的补码表示, 掌握计算机中数和字符的表示;
eg.假设机器字长为8位,[+3]补 =00000011B,[-3]补=11111101H 。
十六进制数0FFF8H表示的十进制正数为65528D,表示的十进制负数为-8D。
8位二进制数被看成是带符号补MOV DX, OVAR[BP]
4. MOV DX, [BX+SI]
5. MOV DX, OVAR[BX][SI]
如果JMP指令采用段间间接寻址,那么转移地址存放在4个相邻字节单元中,其中前两个字节存放的是偏移地址,而后两个字节存放的是段地址。
设SP=4AH,执行段内返回指令RET 4后,SP的值是50H。
MOV AX,723AH
MOV BX,0C86BH
SUB AL,BL
SBB AH,BH
XOR AL,01H
ADC AX,0
执行该程序片段后:
(AX)=0A9CEH,CF =0,OF =0。
第四章 汇编语言程序格式
伪操作:数据定义及存储器分配伪操作,表达式赋值伪操作EQU,段定义伪操作、程序开始和结束伪操作、对准伪操作、基数控制伪操作。
假定 (DS)= 1000H, (SS)= 2000H,(SI)= 3000H,(BX)= 0100H,(BP)= 0200H,数据段中变量名为OVAR的偏移地址值为0050H,请指出下列源操作数的寻址方式是什么?其物理地址值是多少?
1. MOV DX, [1000H]
2. MOB DX, [BX]