汇编语言期末复习

合集下载

汇编语言期末复习题纲

汇编语言期末复习题纲

4
第4章
四大部分内容:伪指令、操作符、汇编语言源程序的基本结构、 汇编上机过程
一、伪指令和运算符: 1、伪指令:EQU(=)、数据定义伪指令DB/DW、ORG、$、ASSUME、 LABEL、END 操作符:OFFSET、PTR(BYTE/WORD) 与编程结合起来学习 二、汇编语言编程 1、源程序的基本结构 特别强调变量定义,利用DB或DW要会定义变量,并且在定义一个变量后了 解系统为变量如何分配存储空间,并会画存储分配示意图,帮助我们编程。 2、程序设计:结合教材中的的例题、习题、实验进行 顺序、循环、分支、中断调用、串及其总合 三、汇编程序的上机操作 熟悉汇编上机过程(1)4个操作步骤(2)DEBUG主要命令:A、U、R、D、 E、G、T、Q(3)通过上机操作来理解程序。
3
第3章
2个部分,寻址方式和指令系统 一、 寻址方式 7种寻址方式中主要掌握5种(立即、寄存器、寄存器间接、直接、相对寄 存器)、同一结果会用不同寻址方式实现(即用不同指令),主要是会编 程应用;操作数的分类 二、指令系统 主要掌握以下类指令的名称、功能、用法 (1)传送类;MOV、LEA、PUSH/POP、XCHG (2)运算类;ADD、ADC、INC、SUB、SBB、CMP、NEG (3)逻辑运算和移位;AND、OR、XOR、TEST、 SHL/SHR、SAR (4)控制转移类;JMP;条件转移指令主要是针对ZF、CF、SF所提供的和 无符号数比较JA、JB、循环:LOOP; (5)串操作;MOVSB、REP (6)输入输出指令:IN、OUT (7)其它指令:CLD/STD、CLI/STI
第1章
主要是数制、编码和微机系统的结构 1、十进制整数、二进制数和十六进制数之间的相互转换 2、编码:求负数的原码、补码值, 如: 3、计算机语言分类 4、8位和16位二进制数据表示范围 5、字符对应的ASCII码值(字符0-9、A-Z、a-z、空格等常 用字符所对应的ASCII码值要熟记) 字符串的定义,与变量有关 6、四种逻辑运算(与、或、非、异或)的运算规则 7、BCD码

汇编语言复习重点(王爽)

汇编语言复习重点(王爽)

汇编语言(教材王爽)期末考试复习:考试题型:选择、填空、程序分析、编程题一、重点复习课本的检测点1.1-3.2与课后实验1-14:二、需要掌握的指令见后面附录三、汇编语言主要知识点:寄存器与存储器1. 寄存器功能. 寄存器的一般用途和专用用途. CS:IP 控制程序执行流程. SS:SP 提供堆栈栈顶单元地址. DS:BX(SI,DI) 提供数据段内单元地址. SS:BP 提供堆栈内单元地址. ES:BX(SI,DI) 提供附加段内单元地址. AX,CX,BX和CX寄存器多用于运算和暂存中间计算结果,但又专用于某些指令(查阅指令表)。

. PSW程序状态字寄存器只能通过专用指令(LAHF, SAHF)和堆栈(PUSHF,POPF)进行存取。

2. 存储器分段管理. 解决了16位寄存器构成20位地址的问题. 便于程序重定位. 20位物理地址=段地址 * 16 + 偏移地址. 程序分段组织: 一般由代码段,堆栈段,数据段和附加段组成,不设置堆栈段时则使用系统内部的堆栈。

3. 堆栈. 堆栈是一种先进后出的数据结构 , 数据的存取在栈顶进行 , 数据入栈使堆栈向地址减小的方向扩展。

. 堆栈常用于保存子程序调用和中断响应时的断点以及暂存数据或中间计算结果。

. 堆栈总是以字为单位存取指令系统与寻址方式1. 指令系统. 计算机提供给用户使用的机器指令集称为指令系统,大多数指令为双操作数指令。

执行指令后,一般源操作数不变,目的操作数被计算结果替代。

. 机器指令由CPU执行,完成某种运算或操作,8086/8088指令系统中的指令分为6类: 数据传送,算术运算,逻辑运算,串操作,控制转移和处理机控制。

2. 寻址方式. 寻址方式确定执行指令时获得操作数地址的方法. 分为与数据有关的寻址方式(7种)和与转移地址有关的寻址方式(4)种。

. 与数据有关的寻址方式的一般用途:(1) 立即数寻址方式--将常量赋给寄存器或存储单元(2) 直接寻址方式--存取单个变量(直接给出地址值或变量名)(3) 寄存器寻址方式--访问寄存器的速度快于访问存储单元的速度(4) 寄存器间接寻址方式--访问数组元素(5) 变址寻址方式(6) 基址变址寻址方式课本P164(7) 相对基址变址寻址方式(5),(6),(7)都便于处理数组元素. 与数据有关的寻址方式中,提供地址的寄存器只能是BX,SI,DI或BP. 与转移地址有关的寻址方式的一般用途:(1) 段内直接寻址--段内直接转移或子程序调用(2) 段内间接寻址--段内间接转移或子程序调用(3) 段间直接寻址--段间直接转移或子程序调用(4) 段间间接寻址--段间间接转移或子程序调用汇编程序和汇编语言1. 汇编程序. 汇编程序是将汇编语言源程序翻译成二进制代码程序的语言处理程序,翻译的过程称为汇编。

汇编期末复习(已整理)

汇编期末复习(已整理)

一.选择题1.CPU发出的访问存储器的地址是()。

A.物理地址B.偏移地址C.逻辑地址D.段地址2.将高级语言的程序翻译成机器码程序的实用程序是()。

A.编译程序B.汇编程序C.解释程序D.目标程序3.DEC BYTE PTR[BX]中的操作数的数据类型是()。

A.字B.双字C.字节D.四字4.在下列语句中,BUFFER称为()。

BUFFER DB 01H,0AHA.符号B.变量C.助记符D.标号5.串操作指令中,源串操作数的段地址一定在()寄存器中。

A. CSB. SSC. DSD. ES6.使计算机执行某种操作的命令是()。

A.伪指令B.指令C.标号D.助记符7.将数据5618H存放在存储单元中的伪指令是()。

A. DA TA1 DW 1856HB. DATA1 DB 18H,56HC. DATA1 EQU 5618HD. DATA1 DB 18H,00H,56H,00H8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=()。

A. 1400HB. 77F8HC. 0000HD. 0FFFFH9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。

目前,微机中普遍采用的是()码。

A. BCD码B.二进制码C.ASCII码D.十六进制码10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为()。

A.汇编语言B.高级语言C.机器语言D.低级语言11.指令JMP FAR PTR DONE属于()。

A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址12.执行下面指令序列后,结果是()。

MOV AL,82HCBWA.AX=0FF82HB. AX=8082HC. AX=0082HD. AX=0F82H13. 物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H 中取一个字的内容是()。

汇编语言期末复习要点

汇编语言期末复习要点

主要复习知识点
1 机器语言、汇编语言、高级语言,汇编与连接程序的基本原理,标识符,debug中数据的进制数据类型循环的三大要素 dos
2 寄存器以及寄存器的位数,数据寄存器,地址寄存器,IP指针寄存器,标志寄存器,地址总线,段或者缓冲区中指定单元的物理地址与偏移地址,以及寻址空间,内存分段的原理,各段的最大值,各段如何与相应的段寄存器建立对应关系
3 堆栈的栈底栈顶以及入栈时数据的大小、栈顶的移动方向
5 变量标号的三种属性以及它们的运算符,变量的类型转换要用到的运算符,符号扩展的具体操作。

6系统的常用功能调用,2 9 10 号功能调用
7 子程序的类型宏定义中局部标号的展开
8 中断向量以及中断向量表在内存中占有的空间的大小
9 双字变量的加减运算,移位运算,乘法与除法指令中乘数与被乘数各自用到的寄存器
10 输入输出指令,输入输出端口地址空间的大小
11 七种寻址方式,物理地址的计算以及目的操作数的计算,指令的对错
12 变量在内存中占用的字节单元数,以及单元中的值(根据数据类型确定),存储变量在内存中占用存储空间的示意图
13 宏程序的展开
14 流程图以及完整的源程序,四则混合运算,尤其要注意双精度数的加减运算以及大小的判断
15 循环程序与子程序的设计
16 比较指令与跳转指令在程序设计中的运用。

汇编语言期末复习要点

汇编语言期末复习要点

编译程序根据各变量的排列顺序和所占用的字节数,
计算出各变量的偏移量,以直接寻址方式或作中所有其他位置的该
变量符号。
8086汇编语言程序设计
18
3. 其他伪指令 ORG 、$:从哪里开始编译和编译到哪里了(偏移量) SEG、OFFSET 、TYPE: ——返回段基值、偏移量和变量类型
存器带有各种“附加”功能,这些“附加”功能是通
过机器指令的执行来实现的。
8086汇编语言程序设计
4
3. 8086/8088 CPU 的寄存器
8086/8088 CPU 的内部结构
8086汇编语言程序设计 5
三、存储器寻址方式及堆栈
1. 字节单元定位和物理地址
内存
地址 译码 逻辑 CPU 地址总线 数据总线
⑥ 基址变址寻址:xchg ax,[bx+si]
⑦ 相对基址变址寻址:push var[bx+si]
8086汇编语言程序设计 9
6. 堆栈
① 堆栈的“生成”和空栈的状态:
—— SP 的初值和堆栈容量、栈顶、栈底的关系; ② PUSH 和 POP 的行为方式: —— 栈指针 SP 的变化和数据入、出栈; ③ PUSHF 和 POPF 的默认操作数:标志寄存器;
④ 移位及循环移位类 ⑥ 标志位操作指令
② 8086 instructions
3. 掌握用 debug 学习、研究指令的方法
8086汇编语言程序设计
11
4. 特别提示:
① 目标操作数不能为立即数;
② 除了串操作指令外,双操作数不能同为存储器操作数; ③ 段寄存器只能: mov ax,ds mov ds,ax push ds pop ds
① 寄存器寻址:xor al,al

汇编语言期末总结

汇编语言期末总结

汇编语言期末总结第一章汇编语言基础知识1、程序设计语言分哪三类?答:(1)机器语言(2)汇编语言(3)高级语言2、十进制数用D(Decimal)、二进制数用B(Binary)、八进制数用O(Octal)、十六进制数用H(Hexadecimal)来表示。

由于英文字母O 容易和零误会,所以也可以用Q 来表示八进制数。

★任意进制数的通式:+±=±=∑∑∑--==-=m i i i n i i i nm i i i r x r x r x N 10 其中∑=ni irx i为整数部分,∑--=mi irx i1为小数部分,r 为基数。

每一项的数字可用0~r -1数字中的一个数字来表示。

、3、进制转化:(1)十进制数与二进制数之间的转换:1) 十进制整数转换成二进制整数:除2取余法【例1-1】将十进制数97转换成二进制数。

其过程如下:最后结果为:(97)10 =(A6 A5 A4 A3 A2 A1 A0)2=(1100001)2 2) 十进制小数转换成二进制小数:乘2取整法。

【例1-2】将十进制小数0.6875转换成二进制小数。

其过程如下:最后结果为:(0.6875)10=(0.A-1A-2A-3A-4) 2 =(0.1011)2 3)带小数的转化:(97)10=(1100001)2 (0.6875)10=(0.1011)2由此可得: (97.6875)10=(1100001.1011)24)二进制数转换成十进制数:按位权展开后相加。

【例1-3】将二进制数111.11转换成十进制数。

其过程如下:(111.11)2=1×22+1×21+1×20+1×2-1+1×2-2=4+2+1+0.5+0.25=(7.75)10(2)十进制与八进制之间的转换:1) 十进制整数转换成八进制整数:除8取余法。

【例1-4】将十进制数97转换成八进制数。

其过程如下:最后结果为:(97)10 =(A2 A1 A0)8 =(141)82)十进制小数转换成八进制小数:乘8取整法。

《汇编语言程序设计》期末复习题百度文库

《汇编语言程序设计》期末复习题百度文库

《汇编语言程序设计》期末复习题百度文库第一章:汇编语言基础知识概述在开始复习《汇编语言程序设计》之前,我们先来回顾一下汇编语言的基础知识。

1.1 汇编语言的定义和作用汇编语言是一种低级语言,可以直接操作计算机硬件,并且具有较高的执行效率。

它是机器语言的可读性表示,通过一系列指令来实现计算机的基本操作。

汇编语言在计算机系统中发挥着重要的作用,特别适合于编写底层程序和对性能要求较高的应用。

1.2 汇编语言的特点与高级语言相比,汇编语言具有以下特点:- 与硬件相关:汇编语言直接操作计算机硬件,可以实现对寄存器、内存及其他硬件资源的直接访问。

- 相对繁琐:由于直接操作硬件,所以汇编指令的书写比较繁琐,需要对计算机硬件有深入的了解。

- 执行效率高:汇编语言编写的程序执行效率高,能够充分发挥计算机硬件的性能。

1.3 汇编语言的基本概念在学习汇编语言时,需要了解以下基本概念:- 寄存器:汇编语言使用寄存器来存储数据和进行计算,常用的寄存器有通用寄存器和特殊寄存器等。

- 指令:汇编语言通过一系列指令来实现计算机的基本操作,如MOV、ADD、SUB等。

- 内存:汇编语言中使用内存来存储程序和数据,在编写程序时需要合理地管理内存。

- 标志位:用于记录计算过程中的状态信息,可以用于控制程序的执行流程。

第二章:汇编语言程序设计实践2.1 环境准备在进行汇编语言程序设计之前,需要正确配置环境,并安装相应的汇编语言开发工具。

一般来说,常用的汇编语言开发工具有MASM、NASM等。

2.2 汇编语言程序的编写编写汇编语言程序需要按照特定的格式和规范进行,一般包括以下几个步骤:- 定义程序入口:使用`start`指令定义程序的入口点。

- 导入库文件:将需要调用的库文件导入到程序中。

- 定义数据段:使用`data`关键字定义数据段,存放程序中用到的数据。

- 定义代码段:使用`code`关键字定义代码段,存放程序的主体逻辑。

- 定义子程序:可以将一些常用的代码逻辑封装成子程序,便于复用。

汇编期末复习(1)

汇编期末复习(1)

汇编语言程序设计复习题一、基本概念和知识点1、汇编语言的特点?2、二、八、十、十六进制数之间的转换?3、有无符号数、原码、反码、补码的概念?补码的加减法运算规则?4、8086 CPU的两大逻辑部件?各自的功能?5、8088/8086CPU内部寄存器有个 ,其中的是数据寄存器,是指针寄存器,是变址寄存器,是段寄存器,此外还有指令指针寄存器和标志位寄存器,所有寄存器都是位寄存器,其中可以分为高低字节独立使用。

6、8088/8086CPU的标志位寄存器中有个标志位,其中的是控制标志,是状态标志。

各个状态标志在什么情况下被置为1?7、8088/8086CPU有三组总线,它们是总线、总线和总线;地址总线是条,因此它可以寻址的范围是字节。

通常将字节称为1K,将字节称为1M。

8、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有字节,全部存储空间可以分成个大小为64K且互相不重叠的段。

9、采用分段方式管理的存储单元的地址分成和地址两种,逻辑地址由和两部分构成,段地址是每个存储器段的;偏移地址则是相对于每个段第一个存储单元的。

物理地址和逻辑地址间的关系是。

10、存储器中,数据是以为单位存放的,它是一个位二进制数,16位二进制数是,又称为;每个存储单元可以存放一个;一个字则占用存储单元,存放时要将放在地址较小的存储单元中。

11、计算机的指令由和构成,它们分别给出计算机和。

12、指令的操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为、和。

立即数存放在段中,紧跟在后。

表示操作数存放的方式称为。

8088/8086CPU的寻址方式有、和三类,第三类寻址方式又分成、、、、几种。

13、汇编语言的语句分成、和三类。

14、指令语句在汇编时被翻译成指令,伪指示语句则在汇编时由执行,而不被翻译成机器语言指令。

15、汇编程序中的名字项可以分为和,它们都有、、三种属性。

16、数据定义伪指令的功能是,通常使用的数据定义伪指令是。

汇编语言期末复习题库(汇编)

汇编语言期末复习题库(汇编)

汇编语言期末复习题库(汇编)一、填空题1.中央处理器包括运算器、控制器、寄存器组。

2.物理地址是指实际的20 位主存单元地址,每个存储单元对应唯一的物理地址。

3.用二进制代码书写指令和程序的语言,称为机器语言。

4.计算机中的指令由操作码和操作数两部分组成。

5.把A和B两个寄存器的内容进行异或运算,若运算结果是0 ,那么A、B寄存器的内容必定相同。

6.AL,BL中存放着压缩的BCD数,(AL)=18H,(BL)=47H,执行如下两条指令ADD AL,BL 和DAA后,(AL)=65H 。

7.当指令“SUB AX,BX”执行后,CF=1,说明最高有效位有借位;对有符号数,说明操作结果溢出。

8.FLAG状态标志寄存器中,AF为辅助进位标志,CF为进位标志,SF为符号标志,ZF为零标志,OF为溢出标志,PF为奇偶性标志。

9.指出下列指令源操作数的寻址方式:MOV AX,ARRAY[SI] 变址寻址MOV AX,ES:[BX] 寄存器间接寻址MOV AX,[200H] 直接寻址MOV AX,[BX+DI] 基址变址寻址MOV AX,BX 寄存器寻址MOV AX,1200H 立即数寻址MOV AX,20[BX+SI]基址变址寻址MOV AX,[DI+20] 变址寻址10.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21023H)=65H,下列指令执行后填入AX寄存器的内容:(1)MOV AX,1200H;(AX)= 1200H(2)MOV AX,BX;(AX)=0100H(3)MOV AX,[1200H];(AX)= 4C2AH(4)MOV AX,[BX];(AX)= 3412H(5)MOV AX,1100[BX];(AX)= 4C2AH(6)MOV AX,[BX][SI];(AX)= 7856H(7)MOV AX,1100[BX][SI];(AX)= 65B7H11.已知‘A’的ASCII是41H,那么‘E’的ASCII是45H 。

《汇编语言》复习题集 期末复习资料

《汇编语言》复习题集 期末复习资料

《汇编语言》复习题集(注意:此习题集只限于同学们用来进行练习和检测,以便理解和掌握相关知识点。

请不要背题目记答案,否则一进考场,你一定会后悔的哦!另外,版权所有,非授权不得公开)一、选择题:1.汇编语言源程序是指( )A:系统提供的MASMB:用户编写的.ASMC:汇编生成的.OBJD:连接生成的.EXE2.汇编源程序出现语法错误的指令有( )A:MOV [BX+SI],AL B:MOV AX,[BP+DI]C:MOV DS,AX D:MOV CS,AX3.指令MOV 1000[DI][BP],AX 目标操作数的隐含段为()。

A:数据段B:堆栈段C:代码段D:附加段4.MOV AX,ES:[2000H] 源操作数的寻址方式是:( )A:立即寻址B:直接寻址C:变址寻址D:基址寻址5.指令mov ax,10[SI]的源操作数字段的寻址方式是()。

A:寄存器寻址B:寄存器间接寻址C:变址寻址D:基址寻址6.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:( ) A:基址寻址B:立即寻址C:变址寻址D:基址变址寻址7.MOV AX,[BP][DI]的源操作数的寻址方式是:( )A:变址寻址B:基址寻址C:直接寻址D:基址变址寻址8.指令ADD CX,[DI+10H]中源操作数的寻址方式是( ) A:相对的变址寻址B:基址寻址C:变址寻址D:基址变址寻址9.十进制数-100的8位二进制数的补码为( )A:1100100B:10011101C:10011011D:1001110010.下列四个寄存器中,哪个寄存器在程序设计中是不可省略的()。

A:CS B:DS C:ES D:SS11.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( ) 。

.A:AX,BX,CX,DX B:BP,SP,SI,DIC:SP,IP,BP,BX D:BX,BP,SI,DI12.8086∕8088 CPU中可用作寄存器间址的寄存器是()。

汇编语言复习题

汇编语言复习题

汇编语言期末复习题一、单项选择题1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是()。

A.12B5BH B.12B6BH C.12C59H D.12BFEH2.在IN AL,PORT指令中,PORT称为()。

A.立即数B.有效地址 C.端口地址 D.寄存器名3.在下列指令的中,不能实现把AX寄存器内容清零的指令是()。

A.SUB AX,AX B.XOR AX,AXC.OR AX,0000H D.AND AX,0000H4.条件转移指令JNE的测试条件为()。

A.ZF=0B.CF=0C.ZF=1D.CF=15.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。

A.BX或CX B.CX或SIC.DX或SI D.SI或DI6.设(AX)=1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是()。

A.(AX)=1001H B.(AX)=0FFFH;C.(AX)=1000H D.(AX)=0111H。

7.串指令中的目的操作数地址一定是由()提供。

A.ES:[DI]B.SS:[BP]C.DS:[SI]D.CS:[IP]8.将DX的内容除以2,正确的指令是()。

A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,19.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。

A.目标程序B.汇编语言源程序C.可执行程序D.汇编程序10.用一条指令仅实现将AX←BX+SI的方法是()。

A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]11.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。

A.1FFFH B.1998H C.1FFEH D.2002H12.一个字为()位二进制数。

A.8位B.16位C.32位D.64位13. 下列四个寄存器中,可作为八位寄存器的是()。

汇编语言期末复习

汇编语言期末复习

汇编语言期末复习第一章汇编语言及其重要性一、什么是汇编语言二、汇编语言的重要性三、汇编语言的种类和本课程学习的汇编语言第二章8088微处理器及其寻址方式一、寄存器的概念二、8088的寄存器结构三、8088的存储器组织四、8088的寻址方式第三章源程序的书写格式和数据组织一、源程序书写格式二、段寄存器的装填三、程序中数据的组织第五章数据传送程序一、数据块的传送二、字符的输入/ 输出三、堆栈操作程序四、数据交换五、端口输入/ 输出六、换码程序七、其它传送指令重点例题:P.114 例6.1; P.118 例6.2;P.120 例6.3; P.125 例6.6;第六章算术运算程序一、二进制数算术运算二、十进制数算术运算重点例题:P.137 例7.1第七章逻辑运算程序一、逻辑运算指令二、逻辑运算指令应用举例重点例题:P.169 例8.1; P.175 例8.5;P.176 例8.6; P.177 例8.7第八章分支程序一、标号二、比较和转移指令三、分支程序实例重点例题:P.192 例9.2第九章字符串操作程序一、字节串、字串的概念二、字符串操作指令前可加的重复前缀三、字符串操作指令的一些共同特性四、字符串操作指令及其应用第九章循环程序设计一、迭代控制指令二、循环程序设计应用实例重点例题:P.210 例11.1; P.210 例11.2;P.218 例11.7; P.221 例11.8;第十二章过程一、过程定义及其调用二、模块间的调用和转移三、调用程序与被调用的过程之间的数据传送及程序实例重点例题:P.266 例13.4第十三章中断及中断处理一、中断的概念二、中断的分类三、中断服务程序四、中断向量表五、BIOS中断服务六、DOS中断服务七、BIOS功能调用与DOS功能调用的关系考试题型•一、选择题•二、阅读程序并回答问题•三、根据题意完善程序•四、编程题一、选择题:1、在计算机的许多应用场合,人们总是用汇编语言来编制应用程序,原因是汇编语言(1)。

汇编语言期末复习题大全(免费)

汇编语言期末复习题大全(免费)

汇编语言期末复习题DX:单项选择题 DU:多项选择题 TK:填空题 MC:名词解释v JD:简答题 CXFX:程序分析题 CXTK:程序填空题 BC:编程题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。

DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。

DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。

DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。

DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。

TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。

TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。

TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。

TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。

在此,称引起紧急事务的事件为中断源。

TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。

TK11、计算机系统通过接口与外围设备通信。

TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。

TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。

每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。

TK14、简述上机运行汇编语言程序的过程。

JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

hgd汇编语言期末试卷复习(附答案)

hgd汇编语言期末试卷复习(附答案)

hgd汇编语言期末试卷复习(附答案)选择题1. 已知X=78,Y= -83则[X+Y]补=( C )A.0F5HB.0A1HC.0FBHD.65H2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是(C )A.基址寻址B.立即寻址C.变址寻址D.基址变址寻址3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为(B )A.17500HB.16500HC.14500HD.13500H4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是(C )A.AX,BX,CX,DXB.BP,SP,IP,CSC.BX,BP,SI,DID.BH,BL,CH,CL5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(A)A. 表示结果中含1的个数为偶数B. 表示结果中含1的个数为奇数C. 表示该数为偶数D. 表示结果中低八位含1的个数为偶数6. 下列传送指令中,有语法错误的指令是(A )。

A.MOV CS,AXB.MOV DS,AXC.MOV ES,AXD.MOV SS,AX7. MOV SP,3210HPUSH AX执行上述指令序理后,SP寄存器的值是(B)。

A.3211HB. 320EHC.320FHD. 3212H8. 设(DH)=20H,执行NEG DH指令后,正确的结果是(D )A.(DH)=20H CF=1B.(DH)=20H CF=0C.(DH)=0E0H CF=0D.(DH)=0E0H CF=19. 执行下面指令序列后,结果是(A )MOV AL,82HCBWA.AX=0FF82HB.AX=8082HC.AX=0082HD.AX=0F82H10. 串操作指令中,目标串操作数的段地址一定在(D )寄存器中。

A.CSB.SSC.DSD.ES11. MOV DX, COUNT[BP][DI]的源操作数的寻址方式是(D)。

汇编期末知识点总结

汇编期末知识点总结

汇编期末知识点总结一、计算机体系结构1. 计算机的组成部分:中央处理器、主存储器、输入输出系统2. 计算机的主要功能:数据处理、数据存储和数据传输3. 计算机体系结构的三个基本要素:数据、指令、控制。

4. 计算机的层次结构:硬件层次、机器语言层次、系统层次、程序设计语言层次和应用软件层次。

二、汇编语言概述1. 汇编语言的定义和特点2. 汇编语言的分类和发展历程3. 汇编语言的应用领域三、汇编语言的指令系统1. 数据传送指令:MOV指令、LEA指令、LDS指令、LES指令2. 算术运算指令:ADD指令、SUB指令、INC指令、DEC指令、NEG指令3. 逻辑运算指令:AND指令、OR指令、XOR指令、NOT指令4. 移位指令:SAL指令、SHR指令、SAR指令、ROL指令、ROR指令5. 控制指令:JMP指令、JC指令、JNC指令、JO指令、JNO指令、JZ指令、JNZ指令、CMP指令、LOOP指令、CALL指令、RET指令四、寄存器和内存1. 通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI2. 段寄存器:CS、DS、SS、ES3. 操作寄存器:IP、FLAGS4. 内存访问指令:MOV指令、XCHG指令5. 标志寄存器:OF、DF、IF、TF、SF、ZF、AF、PF、CF五、地址和位移1. 设计位移的基本原则和方法2. 直接寻址、寄存器间接寻址、直接寻址、相对寻址、基址变址寻址、变址寻址、相对基址变址寻址六、程序设计与调试1. 程序的段定义、区定义、符号定义2. 程序的生成与调试3. 目标程序的连接和装入4. 调试工具的使用七、汇编语言与C语言的结合1. 汇编语言和C语言的特点2. 汇编语言和C语言的调用关系3. 汇编语言和C语言的相互调用方法4. 汇编语言和C语言的优化方法八、嵌入式系统与汇编语言1. 嵌入式系统的定义和特点2. 嵌入式系统的应用领域3. 嵌入式系统中的汇编语言特点4. 嵌入式系统中的汇编语言编程方法九、汇编语言的扩展1. Intel 8086的扩展指令集2. 增强指令集3. 浮点运算指令集4. SIMD指令集以上是汇编期末考试的知识点总结,总字数超过了6000字。

汇编语言期末复习总结(完整版)

汇编语言期末复习总结(完整版)

〔习题1.24〕说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX 的值或有效地址EA的值。

(1)mov dx,[1234h] 直接寻址,EA=1234H(3)mov dx,bx 寄存器寻址,DX=2000H(6)mov dx,[bx+di] 基址变址寻址,EA=2040H第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1)mov ax,1200h AX=1200H(2)mov ax,bx AX=0100H(3)mov ax,[1200h] AX=4C2AH ;偏移地址=1200h(4)mov ax,[bx] AX=3412H ;偏移地址=bx=0100h(5)mov ax,[bx+1100h] AX=4C2AH ;偏移地址=bx+1100h=1200h(6)mov ax,[bx+si] AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)mov ax,[bx][si+1100h] AX=65B7H ;偏移地址bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl 两操作数类型不匹配(2)mov ip,ax IP指令指针禁止用户访问(3)mov es,1234h 立即数不允许传给段寄存器(DS、CS、SS、ES)(4)mov es,ds 段寄存器之间不允许传送(5)mov al,300 两操作数类型不匹配(6)mov [sp],ax 目的操作数应为[ SI ](7)mov ax,bx+di 源操作数应为[BX+DI](8)mov 20h,ah 立即数不能作目的操作数〔习题2.8〕请分别用一条汇编语言指令完成如下功能:(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

汇编语言复习题(带答案)

汇编语言复习题(带答案)

汇编语言复习题(带答案)汇编语言复习题(带答案)汇编语言期末复习题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。

DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。

DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。

DX4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。

DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址在SS寄存器中。

TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释的开始。

TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执行INT21H。

TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。

TK9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。

在此,称引起紧急事务的事件为中断源。

TK10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。

TK11、计算机系统通过接口与外围设备通信。

TK12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。

TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。

每个字的第一个字节为显示字符的ASCII码,第二个字节为显示字符的属性。

TK14、简述上机运行汇编语言程序的过程。

JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

15、简述程序中指令和伪指令的区别。

JD答:能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。

汇编期末考试复习资料

汇编期末考试复习资料

1.8086CPU共有14个16位寄存器,包括4个16位数据寄存器。

2个16位指针寄存器,2个16位变址寄存器,1个指令指针,4个16位段寄存器,1个16位标志寄存器。

2.8086的标志寄存器有9个标志,分为两组,条件标志分为哪几个,控制标志包括哪几个?3.8086有7中寻址方法4.汇编语言的指令分成哪三种?5.指令格式是否正确的判断方法:(1) 操作数是否匹配如mov ax,bl不匹配。

改为mov ax,bx(2) 两个操作数不可同时为存储器数。

如mov [di],[si] 改为mov di,[si](3) cs,ip等不做目的操作数。

如:mov cs,bx(4) 立即数不做目的操作数如moc 2050H,ax 改为:mov ax,2050H(5) 无法判断类型时,要加类型说明符:如inc [bx] 改:inc byte ptr(6) 寻址方法是否有错(7) 不能用mov ds,2000h 将立即数直接赋给段寄存器6.指令指针寄存器IP的作用是什么?7.PF标志的含义是什么?、8.mov ,and ,xor ,sub 指令对标志寄存器的影响是什么?9.与交换指令xchg等价的操作方法?10.and ,not ,inc ,xor ,mov 指令对标志的影响?11.有符号数和无符号数转移指令的使用:无符号数用:ja表大于,jb表小于。

有符号数用:jg 大于,jL小于,JNI不小于12.栈操作只有字操作,故pop[bx]是正确的,可不用写成pop word ptr[bx]13.数据定义伪指令:db 字节,dw 字,DD双字,df 三字,DQ 四字,DT 五字14.栈操作中恢复断点的操作顺序是什么?15.8086标志寄存器中定了哪些标志?这些标志分为哪两种?如何改变这些标志的状态?16.取变量偏移地址的常用方法有哪两种17.如何根据逻辑地址计算物理地址?18.如何通过栈来交换两个操作数的内容?19.地址计数器的使用。

《汇编语言程序设计》期末复习题及答案

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案一、选择( 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中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言习复习题
1、设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,
(BX)=0800H,(BP)=1200H,字符常量VAR为0050H。

请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?
(1)MOV AX,BX
寄存器寻址
(2)MOV DL,80H
立即寻址
(3)MOV AX,VAR
直接寻址 PA=(DS)*10H+VAR=60000H+0050H=60050H
(4)MOV AX,VAR[BX][SI]
相对基址变 PA=(DS)*10H+VAR+(BX)+
(SI)=60000H+0050H+0800H+00A0H=608F0H
(5)MOV AL,’B’
立即寻址
(6)MOV DI,ES:[BX]
寄存器间接寻址 PA=(ES)*10H+(BX)=20000H+0800H=20800H
(7)MOV DX,[BP]
寄存器间接寻址PA=(SS)*10H+(BP)=16200H
(8)MOV BX,20H[BX]
寄存器相对寻址PA=(DS)*10H+20H+(BX)=60000H+20H+0800H=60820H 2、设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。

执行指令PUSH AX后,(SP)=22FEH,再执行指令 PUSH BX及POP AX之后,
(SP)=22FEH,(AX)=1234H,
(BX)=1234H
3、指出下列指令的错误。

(1)MOV AH,CX
指令错。

两操作数字长不相等
(2)MOV 33H,AL
指令错。

MOV指令不允许目标操作数为立即数
(3)MOV AX,[SI][DI]
指令错。

在间接寻址中不允许两个间址寄存器同时为变址寄存器(4)MOV [BX],[SI]
指令错。

MOV指令不允许两个操作数同时为存储器操作数
(5)ADD BYTE PTR[BP],256
指令错。

ADD指令要求两操作数等字长
(6)MOV DATA[SI],ES:AX
指令错。

源操作数形式错,寄存器操作数不加段重设符
(7)JMP BYTE PTR[BX]
指令错。

转移地址的字长至少应是16位
(8)MOV DS,BP
正确
4、已知(AL)=7BH,(BL)=38H,试问执行指令ADD AL,BL后,AF、CF、OF、PF、和ZF的值各位多少?
AF=1,CF=0,OF=1,PF=0,ZF=0
5、试判断下列程序执行后,BX中的内容。

MOV CL,3
MOV BX,0B7H
ROL BX,1
ROR BX,CL
(BX)=0C02DH
6、按下列要求写出相应的指令或是程序段。

(1) 写出两条使AX内容为0的指令。

(2) 使BL寄存器中的高4位和低4位互换。

(1)
1)MOV AX,0
2)SUB AX,AX
(2)
MOV CL,4
ROL BL,CL
一、下面的程序用来输入一个10进制3位无符号数,以2进制形式存入变量X.请仔细阅读后在其中的空白处填上合适的指令(每空限填一条指令!):
DATA SEGMENT
X DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BL,3
ON:MOV AH,1
INT 21H
SUB AL,30H
MOV CL,AL
MOV AL,10
MUL X
ADD AL,CL
MOV X,AL
DEC BL
JNZ ON
MOV AH,4CH
INT 21H
CODE ENDS
END START
二、下面的程序用来求无符号数X除以Y的商和余数并将结果分别存入Q 和R.请仔细阅读后在其中的空白处填上合适的指令(每空限填一条指令!):
DATA SEGMENT
X DB ?,?,?,?
Y DB ?
Q DB ?,?,?,?
R DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,4
MOV BX,0
MOV AH,0
ON: MOV AX,X[BX]
DIV Y
MOV Q[BX],AL
INC BX
LOOP ON
MOV R,AH
MOV AH,4CH
INT 21H
CODE ENDS
END START
三、下面的程序用来输入不超过100个字符(以字符‘!’作为结束控制),统计其中数字字符的个数并将结果存入字节变量NUM.请补充完整: DATA SEGMENT
NUM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,100
LL: MOV AH,1
INT 21H
CMP AL,'!'
JZ EXIT
CMP AL,'0'
JB L
CMP AL,'9'
JA L
INC NUM
L:DEC CX
JNZ LL
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START
四、编写一程序,统计BUF字缓冲区中的255个数据为正数、负数和0的个数。

DATA SEGMENT
BUF DW 255 DUP(?)
A D
B 0
B DB 0
C DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,255
LEA SI,BUF
LL: MOV BX,[SI]
CMP BX,0
JGE L1
INC C
JMP L3
L1;JG L2
INC B
JMP L3
L2;INC A
L3:ADD SI,2
LOOP LL
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示“MATCH”,若不相同则显示“NO MATCH”。

DATA SEGMENT
STRING1 DB 100 DUP(?)
STRING2 DB 100 DUP(?)
BUF1 DB ’MATCH’,13,10,’$’
BUF2 DB ’NO MATCH’ ,13,10,’$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,100
LEA SI,STRING1
LEA DI,STRING2
LL: MOV AL,[SI]
CMP AL,[DI]
JNZ L1
INC SI
INC DI
LOOP LL
LEA DX,BUF1
JMP L2
L1: LEA DX,BUF2
L2: MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
1.进栈出栈指令(P33)
知识点+例2.7 +例2.8
2. 存储器寻址方式(P48)知识点
3.LEA指令(P64)
知识点+例3.5
4. 移位指令(P66)
知识点+例3.11
5.伪指令 OFFSET(P80)知识点
6.乘法指令(P114)
知识点
7.跳转指令(P127)
知识点
8.循环程序(P140)
知识点。

相关文档
最新文档