15级汇编语言期末复习题型讲解
汇编语言期末复习要点

主要复习知识点
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 汇编语言的定义和作用汇编语言是一种低级语言,可以直接操作计算机硬件,并且具有较高的执行效率。
它是机器语言的可读性表示,通过一系列指令来实现计算机的基本操作。
汇编语言在计算机系统中发挥着重要的作用,特别适合于编写底层程序和对性能要求较高的应用。
1.2 汇编语言的特点与高级语言相比,汇编语言具有以下特点:- 与硬件相关:汇编语言直接操作计算机硬件,可以实现对寄存器、内存及其他硬件资源的直接访问。
- 相对繁琐:由于直接操作硬件,所以汇编指令的书写比较繁琐,需要对计算机硬件有深入的了解。
- 执行效率高:汇编语言编写的程序执行效率高,能够充分发挥计算机硬件的性能。
1.3 汇编语言的基本概念在学习汇编语言时,需要了解以下基本概念:- 寄存器:汇编语言使用寄存器来存储数据和进行计算,常用的寄存器有通用寄存器和特殊寄存器等。
- 指令:汇编语言通过一系列指令来实现计算机的基本操作,如MOV、ADD、SUB等。
- 内存:汇编语言中使用内存来存储程序和数据,在编写程序时需要合理地管理内存。
- 标志位:用于记录计算过程中的状态信息,可以用于控制程序的执行流程。
第二章:汇编语言程序设计实践2.1 环境准备在进行汇编语言程序设计之前,需要正确配置环境,并安装相应的汇编语言开发工具。
一般来说,常用的汇编语言开发工具有MASM、NASM等。
2.2 汇编语言程序的编写编写汇编语言程序需要按照特定的格式和规范进行,一般包括以下几个步骤:- 定义程序入口:使用`start`指令定义程序的入口点。
- 导入库文件:将需要调用的库文件导入到程序中。
- 定义数据段:使用`data`关键字定义数据段,存放程序中用到的数据。
- 定义代码段:使用`code`关键字定义代码段,存放程序的主体逻辑。
- 定义子程序:可以将一些常用的代码逻辑封装成子程序,便于复用。
汇编考试题及答案详解

汇编考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪一项是汇编语言的特点?A. 高级语言B. 面向对象C. 接近硬件D. 自动内存管理答案:C2. 汇编指令MOV AX, [BX]的含义是:A. 将AX寄存器的内容移动到BX寄存器B. 将BX寄存器的内容移动到AX寄存器C. 将内存地址BX指向的内容移动到AX寄存器D. 将AX寄存器的内容存储到内存地址BX指向的位置答案:C3. 下列哪一项不是汇编语言的伪操作码?A. ORGB. DBC. IFD. MOV答案:D4. 在汇编语言中,立即数的寻址方式是:A. 直接寻址C. 间接寻址D. 基址寻址答案:A5. 汇编程序中,用于定义数据的伪操作码是:A. EQUB. ENDC. DBD. DW答案:C6. 汇编语言中,指令JMP FAR PTR LABEL的作用是:A. 跳转到当前段内的LABELB. 跳转到其他段内的LABELC. 跳转到当前段的开始位置D. 跳转到其他段的开始位置答案:B7. 汇编语言中的段寄存器CS的作用是:A. 存储当前代码段的基地址B. 存储当前数据段的基地址C. 存储当前堆栈段的基地址D. 存储当前附加段的基地址答案:A8. 下列哪一项不是汇编指令的寻址方式?B. 寄存器寻址C. 相对寻址D. 绝对寻址答案:C9. 汇编语言中,指令PUSH AX的作用是:A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容移动到其他寄存器D. 将AX寄存器的内容存储到内存答案:A10. 汇编语言中,指令DIV AX的作用是:A. 将AX寄存器的内容除以AL寄存器的内容B. 将AX寄存器的内容除以AH寄存器的内容C. 将AX寄存器的内容除以DX寄存器的内容D. 将AX寄存器的内容除以立即数答案:A二、简答题(每题5分,共10分)1. 解释汇编语言中的堆栈操作。
答案:堆栈操作是汇编语言中的一种数据结构操作,它遵循后进先出(LIFO)的原则。
汇编语言程序设计考试题型说明(老师上课讲的题)

汇编语言程序设计考试题型说明一、填空题(20%)二、选择题(15% )三、是非判断题(10%)四、简答题(10%)五、指出语句错误(8%)六、程序分析题(12%)七、程序填空题(10%)八、程序设计题(15%)•汇编语言题型讲解一、填空题例1.任何变量都有段地址、偏移地址、类型三种属性。
例2.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配15个字节单元。
例3. 请用一条指令实现如下操作:(1)将AX中划‘X’的位清0(2)将BL寄存器的低四位取反:X O R B L,0F H。
例 4.假设存储器中各字节单元的内容是:(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= 4512H ,字单元(06926H)= 7845H。
例5.语句DA2 DW ‘AB’ 汇编后在DA2字节单元中存放42H,在DA2+1字节单元中存放41H。
例6.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,[SI+COUNT]中,源操作数的有效地址EA为20A8H,其物理地址为11488H。
例7.R E P、R E P Z、R E P N Z。
例8. DB指令以字节为单位分配存贮;DW指令以字为单位分配存贮。
故如下数据定义:V1 DB 4 DUP (2), 2COUNT EQU 10V2 DW COUNT DUP(?)为变量V1分配5个字节存贮区;为变量V2分配20个字节存贮区。
例9.在执行串处理指令时,为了使地址自动增量,应执行指令:C L D,该指令使得方向标志位例10.中断程序的入口地址称为中断向量IBM PC机中,共有256个中断源,每个中断向量占内存中的中断向量表4个字节。
例11.一个字存入堆栈时,堆栈指针SP -2修正;从堆栈中取出一个字时,SP +2修正,SP 总是指向栈顶单元。
例12.下面是对DOS功能调用方法的简单说明:(1)在AH寄存器中存入所要调用功能的功能号;(2)根据所调用功能的规定设置入口参数;(3)用I N T21H(4)相应的子程序运行完后,可按规定取得出口参数。
(完整版)汇编语言习题详解(全部)(免费)

《IBM—PC汇编语言程序设计》习题参考答案第一章.习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
苏州大学2015汇编期末考试资料

苏州⼤学2015汇编期末考试资料选择题and填空题:10分/10个||12分/12个(1)MOV [SP],AX 错:栈指针不能作为存储器指针引⽤的寄存器;作为存储器指针和间接寻址的寄存器,80X86只有4个:[BX]、[BP]、[SI]、[DI]。
(2)PUSH CS 对(3)POP CS 错:POP⽬的操作数可以是通⽤寄存器和段寄存器,但CS例外。
(4)MOV [BP],BX 对(5)ADD ECX,[ESP] 对(6)JMP BX+100 错:不能有+100(7)JMP CX 对(8)ADD [BX],BX 对(9)AND AX,DS 错:段寄存器不能参与AND运算(10)MOV AX,DS 对,DS只能作为源操作数(11)MUL 16 错:操作源不能是⽴即数(12)ADD AL,[SI+DI] 错:SI、DI不能组合(13)SUB [BP+DI-1000],AL 对(14)ADD BH,[BL-3] 错(15)XCHG [BP],ES 错:ES不能作为源操作数(16)XCHG AL,ES:[BP] 对(17)LEA DI,[BX+DI] 对(18)ROL CX,CL 对(19)ADD CX,CL 错:CL不能作为源操作数(20)MOV AL,300 错:AL是8位,最多255(21)SUB DL,CF 错:CF为进位标志,不能作为操作数(22)SUB [SI],[DI] 错:不能同时为段寄存器(23)MOV IP,AX 错:指针IP既不能作为源操作数,也不能作为⽬的操作数求出以下各⼗六进制数与⼗六进制数62A0的和,并根据结果设置标志位SF、CF、ZF和OF。
(1)9D60 (2)4321(3)CFA0答:(1)、10000 SF=0、CF=1、CF=1、OF=0(2)、A5C1 SF=1、CF=0、CF=0、OF=1(3)、13240 SF=0、CF=1、CF=0、OF=0简答题:25分/5个1.冯洛伊曼体系结构特点1)采⽤⼆进制数的形式表⽰数据和指令2)将指令和数据存放在存储器中3)计算机硬件由控制器,运算器,存储器,输⼊设备和输出设备5部分组成2.简述计算机系统中复杂指令集和精简指令集的特点和⽤途复杂指令集特点:由于各条指令的复杂程度不同,分配的时钟周期各不相同,执⾏的指令所需的时间就不相同。
汇编语言复习题

汇编语言复习题在计算机科学领域中,汇编语言是一种低级别的编程语言,用于编写机器指令。
它在操作系统、嵌入式系统和驱动程序开发中具有重要的作用。
本文将针对汇编语言的复习题进行详细解答,旨在帮助读者巩固相关知识。
一、选择题1. 汇编语言是一种()级别的编程语言。
A. 高级B. 中级C. 低级答案:C2. 下列不属于汇编语言特点的是()。
A. 可以直接访问硬件B. 操作简单C. 语法规则复杂答案:C3. 汇编语言常用于()开发。
A. 操作系统B. 数据库C. 网页设计答案:A二、填空题1. 汇编语言通过()来操作寄存器。
答案:指令2. 在汇编语言中,常用的数据类型包括()和()。
答案:字节、字3. 汇编语言的基本执行单元是()。
答案:指令三、简答题1. 请简要解释汇编语言与机器语言的关系。
答:汇编语言是机器语言的易读易写形式,它使用特定的助记符和语法规则来表示机器指令。
通过汇编语言,程序员可以更方便地编写和调试程序,而不需要直接面对机器语言的二进制表示。
2. 举例说明汇编语言的一些常用指令及其功能。
答:常用指令包括MOV(数据传送)、ADD(加法运算)、SUB (减法运算)、JMP(无条件跳转)等。
例如,MOV指令可以将一个值从一个寄存器复制到另一个寄存器;ADD指令可以将两个值相加并存储结果;JMP指令可以将程序的执行跳转到指定的地址。
3. 简述汇编语言编写程序的基本流程。
答:汇编语言编写程序的基本流程包括以下几个步骤:(1) 定义程序的入口和出口;(2) 初始化相关寄存器和变量;(3) 编写具体的功能代码;(4) 进行程序调试和测试;(5) 最后处理收尾工作,如释放资源等。
四、应用题1. 编写一段汇编语言程序,实现将两个数相加并将结果存储在指定的内存位置。
答:```section .textglobal _start_start:mov eax, 5 ; 将第一个数存入寄存器eaxmov ebx, 7 ; 将第二个数存入寄存器ebxadd eax, ebx ; 将两个数相加mov [result], eax ; 将结果存储在指定的内存位置section .dataresult db 0 ; 定义结果存储的内存位置```以上代码将5和7相加,结果为12,存储在`result`指定的内存位置中。
汇编语言 期末试题和答案 三套 有详细解释

汇编语言期末试题和答案三套有详细解释汇编语言期末试题和答案三套有详细解释一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.cpu要访问的某一存储单元的实际地址称()a.段地址b.偏移地址c.物理地址d.逻辑地址2.某存储单元的物理地址就是12345h,可以做为它的段地址存有()a.2345hb.12345hc.12340hd.1234h3.执行后使bx=0的同时也使cf=0,of=0的指令是()a.xorbx,bxb.orbx,bxc.andbx,bxd.cmpbx,bx4.循环控制指令loopnz/loopne掌控循环继续执行的条件就是()a.cx≠0且zf=1b.cx≠0且zf=0c.cx≠0或zf=1d.cx≠0或zf=05.在执行daa指令,当高四位bcd码校正时产生进位,如要把此进位值送入ah中,对这进位值的操作应是()a.daa校正指令的功能已自动加到ah中b.进位值在af中,校正后根据af内容再加在ah中c.进位值在cf中,校正后根据cf内容再加在ah中d.位次值在al最低位上,校正后根据al最低位内容再加在ah中6.and,or,xor,not为四条逻辑运算指令,下面的解释正确的是()a.指令xorax,ax执行后,ax内容不变,但设置了标志位b.指令ordx,1000h执行后,将dx最高位置1,其余各位置0c.指令andax,ofh执行后,分离出al低四位d.notax,执行后,将ax清07.在继续执行以下指令时,须要采用段寄存器ds的指令就是()a.stoswb.addal,clc.negbxd.incda[bx]8.无论bh中原有的数是奇数或偶数,若要使bh中的数一定为奇数,应执行的指令是()a.addbh,01hb.orbh,01hc.xorbh,01hd.testbh,01h9.完成对cl寄存器的内容乘以4的正确操作是()a.rolcl,1b.mul4rolcl,1c.shlcl,1d.movcl,2shlcl,1shlcl,cl10.下面各传输指令中,恰当的就是()a.mov[di],[si]b.mov[dx+di],alc.movwordptr[bx],0100hd.moval,bx11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()a.名字的第一个字符可以是大写英文字母及小写英文字母b.名字的第一个字符可以是字母、数字及、@、_c.名字的有效长度≤31个字符d.在名字中不允许出现$112.要实现使beta的值为56,应采用语句为()a.betadb56b.betadb56hc.betaequ56d.betaequ56h13.repzcmpsw指令,重复执行的终止条件是()a.cx=0或zf=0b.cx=0且zf=0c.cx=0或zf=1d.cx=0且zf=114.下面程序段执行后,al中的内容是()movax,8833haddal,ahdaaa.21b.21hc.0c1hd.0ddh15.比较两个带符号的数a、b,当a=b时程序转移,测试的条件为()a.zf=1b.zf=0c.sf=1d.sf=016.检查二个并无符号数的关系,若必须同时实现al≥bl时分支回去lop1处为,那么在“cmpal,bl”指令后应当与的分支指令就是()a.jnclop1b.jalop1c.jclop1d.jgelop117.在以下串成操作方式指令中,同时采用源串和目的串成地址指针的指令就是()a.stoswb.lodswc.scaswd.cmpsw18.设al=0ah,下列指令执行后能使al=05h的是()a.notalb.andal,0fhc.xoral,0fhd.oral,0fh19.da1dw?ab?,?cd?,?ef?,?gh?()┇movax,da1+3指令继续执行后ax中的内容就是a.?ef?b.?cd?c.?bc?d.?fc?20.使用dos系统功能调用时,使用的软中断指令是()a.int21b.int10hc.int16hd.int21h二、填空题(本大题共12空,每空0.5分后,共6分后)恳请在每小题的空格中填入恰当答案。
汇编期末知识点总结

汇编期末知识点总结一、计算机体系结构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分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.下列叙述正确的是参考答案为:CA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比较都采用CMP指令;CMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即12ABH×10H+00ABH+(128-1)×2=12C59H。
4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX]或DEC WORD PTR [BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言程序设计复习提纲及例题

1 微机系统的组成从硬件角度分:主板、系统总线、I/O接口板、外设。
从功能角度分:运算器、控制器、存储器、输入设备、输出设备。
2 微机系统的工作方式存储程序和程序控制:“程序”指的是一个可执行的指令序列。
“存储程序”指的是将可以由计算机执行的一个指令序列(程序)预先存储在计算机的存储器中。
“程序控制”指的是由当前所执行的指令来决定计算机的各硬件部件如何动作以完成特定的信息处理任务。
具体过程:课本P3。
指令执行过程:①取指令:CPU的控制器从存储器读取一条指令并放入指令寄存器。
②指令译码:指令寄存器中的指令经过译码,决定该指令进行什么操作、操作数在哪里。
③取操作数:根据操作数的位置取出操作数。
④执行指令:按操作码要求完成运算,并按运算结果修改或设置处理器的状态标志。
⑤保存结果:保存结果到指定寄存器,需要时将结果从寄存器保存到内存单元。
⑥修改指针:修改指令计数器,决定下一条指令的地址。
3 微处理器处理器结构:执行单元EU和总线接口单元BIU.寄存器分类、每个寄存器的特殊功能、中英文名称:①通用寄存器AX,累加器,所以它是算术运算的主要寄存器,同时在某些指令中充当默认操作数的存放位置,此外,所有的I/O指令都使用这一寄存器与外设传送数据。
BX ,基址寄存器。
CX ,计数器,在循环和串处理指令中用作隐含的计数器DX ,数据寄存器,一般在作双字长运算时把DX和AX组合起来存一个双字长数,DX用来存高位字,此外对某些I/O操作,DX可用来存I/O端口地址。
SP,堆栈指针,SP和BP都可以与SS寄存器联用来确定堆栈段中的某一存储单元的地址,用来指示栈顶的偏移地址。
BP,基址指针。
SI,源变址寄存器。
DI,目的变址寄存器。
SI和DI一般与DS联用,用来确定数据段中某一存储单元的地址;在串处理指令中,SI和DI作为隐含的源变址和目的变址寄存器,此时SI和DS联用,DI和ES联用,分别达到在数据段和附加段中寻址的目的。
汇编语言期末复习总结(完整版)

〔习题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.地址计数器的使用。
汇编语言程序例题知识讲解

第一遍101690328
第二遍169032108
第三遍903216108
程序流程图如图5.9所示。
DATASEGMENT
BUFDW 3,-4,6,7,9,2,0,-8,-9,-10,20
N=($-BUF)/2
DATAENDS
STACKSEGNMENT STACK
DB 200 DUP(0)
DI存放ASCII码首地址
出口参数:
转换后的字符串存放在以DI作指针的字节存贮区中
程序清单:
DATASEGMENT
NUM8DB93H
NUM16DW0ABCDH
ASCBUFDB20DUP(0)
DATAENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK
START:MOVAX,DATA
题目分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086/8088指令系统中有专门的求相反数的指令NEG。
DATASEGMENT
XDB -25
RESULTDB ?
DATAENDS
CODESEGMENT
程序流程如图下所示。
DATASEGMENT
TABDW P1,P2,P3,P4,P5,P6,P7,P8
NDB 5
DATAENDS
STACKSEGMENT
DB 200 DUP(0)
STACKENDS
CODESEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START:MOVAX,DATA
MOVDS,AX
汇编语言复习辅导

《汇编语言程序设计》复习辅导一、概念题类主要有如下三类:1、问答题2、填空题3、判别题(判断题)选择判断分析1、计算机由硬件和软件组成。
硬件:包含---中央处理器、总线控制逻辑、存储器、I/O输入输出软件:包含---系统软件和应用软件系统软件应用软件见教材P18 图2.2中央处理器80X86寄存器组(P20 图2.3) P20~24通用寄存器AXBXCXDX专用寄存器SPBPSIDIIPFLAGS段寄存器:是一种专用寄存器,专用于存储器寻址。
DSESCSSS存储器:字节字字长双字四字单元地址在存储器里以字节为单位存储信息。
每一个字节单元给以一个唯一的存储器地址,称为物理地址。
引入段地址概念后,物理地址 = 段寄存器内容× 16 + EA有效地址有效地址有七种寻址方式(80286以内),80386以上处理器有十种寻址方式(见教材P37图3.1)例如:设段地址DS=2000H,指令MOV [600H],AX的目的操作数物理地址是(),如果段地址是2020H,指令MOV [400H],AX的物理地址是()。
又如设SS=2000H, SP=0100H, AX=8086H, 执行 PUSH AX 后,存放数据86H的物理地址是()举例:请用序号联系起来。
(1)段寄存器()动态调试可执行程序的程序(2)堆栈()用来指出下一条要执行的指令的地址(3)物理地址()用来表示段地址(4)PSW寄存器()用来表示指令操作结果的状态标志(5)MASM程序()先入后出方式工作的存储空间(6)DEBUG程序()对汇编语言源程序进行汇编产生.obj文件(7)LINK程序()程序执行阶段不起作用的指令(8)IP寄存器()用来对.obj文件连接产生可执行程序(9)机器指令()计算机硬件执行的二进制指令(10)伪指令()唯一能表示每一个字节存储单元的地址2、指令系统指令的语法格式指令的功能指令的寻址方式指令中操作数的使用规则MOV dst, src 指令的操作数如判别指令 MOV [88H], 56H 是否正确?语法格式是正确的,即 MOV mem, imm但语义不对。
广东海洋大学汇编语言复习题 套题+答案#精选甄选.

广东海洋大学汇编语言复习题套题+答案#精选注:此为广东海洋大学汇编语言复习题,学会满分都不成问题。
答案由阿稻想洋洋整理提供,如有疑问和不妥之处,请联系师兄我。
2015汇编语言复习提纲一、考试题型:1、选择题(20分,每题1分)2、判断题(10分,每题1分)3、填空题(20分,每空2分)4、程序填空题(24分,每空3分)5、程序分析题(16分,每题4分)6、编程题(10分)二、考试范围与考试形式教材第1~9章,笔试,闭卷三、考试要点:1、十进制、二进制、十六进制的相互转换;位、字节与字的概念;SACII码(常用数字、字母及回车换行空格符的ASCII码各是多少?)与BCD 码的特点。
2、8086CPU内部结构及总线宽度(地址总线宽度和数据总线宽度)3、8086CPU有哪些寄存器,寄存器的位数、名称及作用;标志寄存器各个位的名称。
4、内存单元的地址与内容;物理地址的形成与存储器分段结构,逻辑地址与物理地址的关系,段的划分条件及段的大小。
5、常用的与数据有关的寻址方式6、常用汇编指令的格式和功能(数据传送类指令MOV、LEA、IN/OUT、PUSH/POP、CBW、CWD算术运算类指令ADD、ADC、INC、SUB、DEC、CMP、MUL、DIV逻辑运算与移位AND、OR、XOR、SHL、SHR转移指令JMP、JNZ/JZ、JG/JL、JBE/JAE串操作指令REP 、REPZ、MOVSB、CMPSB、STOSB、STD、CLD循环指令LOOP、LOOPNZ子程序调用与返回CALL、RET中断调用与返回INT、IRET7、常用伪指令的格式与用法SEGMENT…ENDS、PROC…ENDP、MACRO…ENDM、ASSUME、END、OFFSET、SEG、LOCALDB、DW、LABEL、PTR、DUP8、汇编语言的上机过程及各个过程中产生的文件后缀名;源程序的基本结构9、debug常用命令的功能及用法(R、D、E、A、U、T、G、P);要明白Debug中使用命令后显示各栏内容的含义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例24.一个8086汇编语言源程序最多有( D )个当 前段。
A.1 B.2 C.3 D.4
例 25. 结 果 为 零 的 条 件 转 移 指 令 JZ , 其 测 试 条 件 是 ( B )。
A.ZF=0
B.ZF=1
C.SF=0
D.SF=1
例26.在伪指令语句NUMBER DW 1234H中的 NUMBER项称为( B )。
SP的值是( C )。
A.0FFFH
B.1001H
C.0FFEH
D.1002H
例3.下列叙述正确的是( D )。 A.对两个无符号数进行比较采用CMP指令,对两 个有符号数比较用CMPS指令 B.对两个无符号数进行比较采用CMPS指令,对 两个有符号数比较用CMP指令 C. 对无符号数条件转移采用JGE/JNL指令,对有 符号数条件转移用JAE/JNB指令 D.对无符号数条件转移采用JAE/JNB指令,对有 符号数条件转移用JGE/JNL指令
例19.一个8086汇编语言源程序最多有( D ) 个当前段。
A、1 B、2
C、3 D、4
例20. BUFl DB 3 DUP(0,2 DUP(1,2),3)
COUNT EQU $ -BUFl
符号COUNT等价的值是( D )。
A、6
B、8
C、16
D、18
例21.在汇编过程中不产生指令代码,只用来指示汇编 程序如何汇编的指令是( B )。
例8.下面指令执行后,改变AL寄存器内容的指令是 ( D )。
A. TEST AL,02H B. OR AL,AL
C. CMP AL,BL
D. AND AL,BL
例9.将DX的内容除以2,正确的指令是( D )。
A.DIV 2
B.DIV DX,2
C.SAL DX,1
D.SHR DX,1
例10.下面对伪指令语句的说明,正确的是( C )。 A. 汇编程序将伪指令翻译成机器码 B. 伪指令是在执行时完成其功能 C. 伪指令的功能是指示、引导汇编程序在汇编过 程中完成其不同操作
例21.汇编语言是一种面向 机器 的语言,把汇编 语言源程序翻译成机器语言目标程序是由 汇编 程序 完成的。
例22.调用程序与子程序之间的参数传递方法有 寄 存器传递法 、 变量传递法和 堆栈传递法 。
例23.堆栈的栈顶字由 SP 寄存器指出,非栈顶字 由 BP 寄存器指出。
例24.宏指令定义必须由伪指令 MACRO 开始,伪 指令 ENDM 结束,两者之间的语句序列称为宏 定义体。
例5.语句DA2 DW ‘AB’ 汇编后在DA2字节单元 中存放 42H ,在DA2+1字节单元中存放 41H 。
例6.若DS=0F3EH,SI=2000H,COUNT=0A8H,指
令MOV AX,[SI+COUNT]中,源操作数的有效地址 EA为20A8H,其物理地址为11488H。
例7.三个重复前缀指令为 REP 、REPZ 、REPNZ 。 例8. DB指令以 字节 为单位分配存贮;DW指令以 字
A.占内存空间小,但速度慢 B.占内存空间大,但速度快 C.占内存空间相同,速度快
D.占内存空间相同,速度慢 例6.在程序执行过程中,IP寄存器中始终保存的是
( B )。 A.上一条指令的首地址 B.下一条指令的首地址 C.正在执行指令的首地址 D.需计算有效地址后才能确定地址
例7.指令JMP FAR PTR DONE属于( C )。 A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址
和 循环程序 等三Байду номын сангаас基本结构形式。
例14.由汇编程序在汇编过程中执行的指令为 伪指令 。 例15.汇编语言编程用的操作数有立即数、 寄存器操作数
和 存储器操作数 。
例16.与指令LEA DI,BUF等效的指令是MOV DI,OFFSET BUF。
例17. JMP指令采用段间间接寻址,那么由4 个相邻字节单元中存放有转移地址,其中前 两个字节存放的是 偏移地址 ,而后两个字 节存放的是 段地址 。
例18.逻辑运算指令是按 位 进行操作的,指 令执行后只设置标志位,不保留结果的逻辑运 算指令是 TEST 。
例19.用于表示无符号数大于或等于的条件转 移指令是 JAE ,用于表示带符号数大于 或等于的条件转移指令是 JGE 。
例20.串指令MOVS和STOS指令可与重复操作前缀 REP 联用,联用前必须将数据串长度送到 CX 寄存器中。
为单位分配存贮。故如下数据定义:
V1 DB 4 DUP (2), 2
COUNT EQU 10
V2 DW COUNT DUP(?) 为变量V1分配 5 个字节存贮区;为变量V2分配 20 个
字节存贮区。
例9.在执行串处理指令时,为了使地址自动增量,应执行 指令: CLD ,该指令使得方向标志位 0 。
汇编语言程序设计考试题型说明
一、填空题(20%) 二、选择题(10% ) 三、是非判断题(10%) 四、简答题(15%) 五、指出语句错误(8%) 六、程序分析题(12%) 七、程序填空题(10%) 八、程序设计题(15%)
汇编语言题型讲解
一、填空题
例1.任何变量都有 段地址 、 偏移地址 、 类型 三 种属性。
例2.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应 分配 15 个字节单元。 例3. 请用一条指令实现如下操作: (1)将AX中划‘X’的位清0
指令: AND AX,0FFCFH。
(2)将BL寄存器的低四位取反:XOR BL,0FH 。
例4.假设存储器中各字节单元的内容是:
(06925H)=12H,(06926H)=45H,(06927H)=78H,那么 字单元(06925H)= 4512H ,字单元(06926H)= 7845H 。
执行单元(EU)和总线接口单元(BIU)两大部 分。
例32.在8086/8088系统中,存储器物理地址是分 段组织的。堆栈段的段地址存放在 SS 寄存器 中,栈顶单元的偏移地址放在 SP 寄存器中。 代码段的段地址存放在 CS 寄存器中。偏移 地址在 IP 寄存器中。
例33.已知存储器某单元的物理地址27276H,段 地址为2314H,则它的偏移地址= 4136H 。
例10.中断程序的入口地址称为 中断向量 ,引起中断 的事件称为中断源,在IBM PC机中,共有 256 个中 断源,每个中断向量占内存中的中断向量表 4 个字节。
例11.一个字存入堆栈时,堆栈指针SP -2 修正;从堆 栈中取出一个字时,SP +2 修正,SP 总是指向 栈 顶单元 。
例12.下面是对DOS功能调用方法的简单说明: (1)在AH寄存器中存入所要调用功能的 功能号 ; (2)根据所调用功能的规定设置 入口参数 ; (3)用 INT 21H 指令转入子程序入口。 (4)相应的子程序运行完后,可按规定取得 出口参数 。 例13.汇编语言程序设计有 顺序程序 、 分支程序 、
A、OF=SF
B、OF≠SF
C、OF=SF=1
D、OF=SF=0
例15.在100字数据的缓冲区中,查找与AX相
匹配的数据,使用( B )指令。
A、REP CMPSW
B、REPNE SCASW
C、REPZ SCASB
D、REP MOVSW
例16.下列寄存器中用来指示堆栈中任意数据 区的偏移地址的是( B )。
例4.一个有128个字的数据区,它的起始地址为12ABH: 00ABH,请给出这个数据区最末一个字单元的物理地 址是( C )。
A.12C5BH B.12B6BH C.12C59H D.12BFEH
注:PA=12ABH×10H+0ABH+(128-1) ×2
=12B5BH+0FEH=12C59H
例5.在一段汇编程序中多次调用另一段程序,用宏 指令比用子程序实现起来( B )。
DAB DB 0FAH MOV AL,BYTE PRT DAW SUB DAB,AL A、 0DAH B、 0FAH C、 0F5H D、 0D0H
例13.当一个带符号数大于0FBH时程序转移, 需选用的条件 转移指令是( C )。
A、 JLE B、 JNL C、JNLE D、 JL
例14. AL和VAR字节单元中分别存放一个带符号数, 执行CMP AL,VAR时,如AL≥VAR,那么溢出位 和符号位的关系是( A )。
D. 当汇编结束后,目标程序中仍保留有伪指令
例11.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是( A )。
A、 MOV AL,00H B、 AND AL,00H C、 XOR AL,AL D、 SUB AL,AL 例12.下面指令执行后,变量DAB中的内容是( C )。
DAW DW 2A05H
15、约定寄存器法适合于子程序传递参数较多的情 况。( X )
例34. 8086有 20 根地址线,可寻址存储空间 为 1MB 。
二、选择题
例1:在串操作指令前使用重复前缀指令 REPE/REPZ, 终止串的重复操作条件是 ( C )。
A、 CX=0且ZF=0 B、 CX=0且ZF=1 C、 CX=0或ZF=0 D、 CX=0或ZF=1
例2:设SP的初值为1000H,执行指令PUSH AX后
例25.汇编语言源程序的扩展名是 ASM ,目标 程序的扩展名是 OBJ ,可执行程序的扩展 名是 EXE或COM 。
例26.计算机中的指令由___操作码____和___地址码 ___两部分组成。
例27.在指令 MOV AX,1000H 中,源操作数的寻址 方式为____立即寻址____,目的操作数的寻址方 式为___寄存器直接寻址__。