山东大学2013-2014汇编语言程序设计试题(含答案)
- 格式:doc
- 大小:59.50 KB
- 文档页数:3
《汇编语言程序设计》试卷一、选择题(每题2分,共20分)1.能够被计算机直接执行的语言称为()。
a、高级语言b、汇编语言c、自然语言d、机器语言2.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。
a、AX,BX,CX,DXb、DS,ES,CS,SSc、SP,BP,IP,BXd、SI,DI,BX,BP3.FR寄存器的各个标志位中,如果出现ZR,其含义为()。
A.结果为0 B.结果不为0C.结果溢出D.结果没有溢出4.汇编语言中,存储区的存储原则是()。
A.低低高高B.高高低低C.随机D.以上均错5.要将汇编语言目标文件生成可执行文件,应该通过()工具生成。
A.EDIT B.MASM C.LINK D.DEBUG6.下列哪种寻址方式无法访问存储单元()。
A.基址+变址B.直接寻址C.寄存器寻址D.寄存器的相对寻址7.非压缩的BCD码乘法调整指令为()。
A.AAS B.AAMC.DAA D.AAD8.要使一个段从一个节的位置开始存储,应该使用的定位类型为()A.PAGE B.PARA C.DWORD D.WORD9.DOS功能21H号的9号功能其入参为()A.DS:DX B.DS:SI C.DS:DI D.ES:DX10.控制计算机面板扬声器的端口地址为()。
A.71H B.70H C.16H D.61H二、填空题(每空2分,共20分)1. 计算机中的存储基本单位为___(1)____ 。
2. 8086/8088CPU中共有(2)个16位通用寄存器。
3. DEBUG命令中,查看内存单元内容的命令为(3),读当前寄存器的命令为(4),执行程序的命令为(5)。
4. MOV AX,[SI+BP+1234H]该指令的寻址方式为(6)。
5. 想要访问CMOS芯片,需要通过___ (7)端口和(8)___端口。
6. 变换键的状态字中,D5和D6位分别代表的是(9)以及(10)状态变化。
三、简答题(5*6分=30 分)1、简述汇编语言的编辑于调试步骤。
一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B )A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有 (D )A.MOV [BX+SI],AL B. MOV AX,[BP+DI]C.MOV DS,AX D. MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D )A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B )A.SHR BL,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D )A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D )A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D .MOV AX ,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C )A .INC WORD PTR [BX+SI]B .INC CX ,[SI+COUNT]C .NEG BYTE PTR [BX]D .ADD AX ,B15.NUM EQU 80HDA DB 34HAND DA ,NUM上述语句执行后,DA 中的内容是 (D )A .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。
(完整版)汇编语⾔程序设计试卷答案华东交通⼤学2013—2014学年第⼆学期考试卷参考答案与评分标准(A)卷课程名称:汇编语⾔程序设计(A)课程类别:必、限、任⼀、选择题(每题2分,共20分)1.在计算机中,带符号数都是⽤( B )表⽰。
A)原码B)补码C)反码D)ASCII码2.以下关于指令指针寄存器IP的说法不正确的是( C )A)IP是16位寄存器B)IP的内容由微处理器⾃动设置C)程序可以直接访问IP D)程序可以改变IP的内容3.CPU发出的访问存储器的地址是( A )A)物理地址B)偏移地址C)逻辑地址D)段地址4.以下关于汇编语⾔伪指令的说法中,不正确的是( B )A)当$在指令中表⽰本条指令的第⼀个字节地址B)EQU与=的使⽤相同C)指令中操作数类型不匹配时,可以使⽤PTR属性操作符D)ASSUME只是通知汇编程序有关段寄存器与逻辑段的关系,并没有给段寄存器赋予实际的初值。
5.在8086/8088中,⼀个最基本的总线周期由( D )个时钟周期组成。
A)1 B)2 C)6 D)46.已知data是数据段名,下列指令中语法错误的是( D )A)MOV BX,seg data B)MOV AX,data C)MOV BX,data D)MOV ES,data7.关于DEBUG调试命令的说法中,不正确的是( C )A)-U是反汇编命令B)-R是显⽰当前寄存器内容的命令C)-D是显⽰代码段内容的命令D)-T是单步执⾏命令8.下列关于存储单元的描述正确的是( A )。
A)存储空间地址按字节组织B)存储空间地址按字组织C)存储空间地址按双字组织D)存储空间地址按四字组织9.下⾯指令执⾏后,改变AL寄存器内容的指令是( D )。
A)TEST AL,02H B)OR AL,AL C)CMP AL,BL D)AND AL,BL10.中断向量是( A )。
A)中断服务程序的⼊⼝地址B)中断的返回地址C)存放中断服务程序⼊⼝地址内存单元的地址D)保护断点的堆栈区堆栈区地址⼆、简单填空题(每题2分,共20分)1.8086微处理器由总线接⼝部件和执⾏部件组成,其内部寄存器均为16 位。
汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。
本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。
通过这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设计的基本概念和技巧。
[题目一] 计算两个数的和要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在指定的内存位置中。
答案:```assemblysection .datanum1 dd 10 ; 第一个整数num2 dd 20 ; 第二个整数result dd 0 ; 结果section .textglobal _start_start:mov eax, [num1] ; 将num1值存入寄存器eaxadd eax, [num2] ; 将num2值与eax寄存器中的值相加mov [result], eax ; 将结果存储到result变量mov eax, 1 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, result ; 输出的数据mov edx, 4 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目二] 字符串反转要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。
答案:```assemblysection .datastr db 'Hello', 0 ; 待反转的字符串section .bssreverse resb 6 ; 存储反转后的字符串section .textglobal _start_start:mov esi, str ; esi指向待反转的字符串mov edi, reverse ; edi指向存储反转结果的位置 mov ecx, 5 ; 字符串长度为5mov ebx, 1 ; ebx用于计数reverse_loop:mov al, [esi+ebx]mov [edi-ebx+5], alinc ebxloop reverse_loopmov byte [edi+5], 0 ; 在末尾添加字符串结束符 mov eax, 4 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, reverse ; 输出的数据mov edx, 6 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目三] 求平均数要求:编写汇编程序,计算给定的一组整数的平均数,并将结果存储在指定的内存位置中。
汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。
① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
① MOV AL,00H② AND AL,00H④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。
① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。
① REP LODSB② REP SCASB③ REP CMPSB④ REP MOVSB11.在汇编语言程序中,对END语句的叙述正确的是()。
汇编语言试题及参答案一、填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF为1时,SF为()2.标号可以有两种类型属性。
它们是()和()3.8位无符号整数的表示范围为0--255,写成16进制形式为(),8位有符号整数的表示范围为-128--+127,写成16进制形式为()4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5.循环程序通常由()()()和循环结果外理四部分构成6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR,OR()于AND,LT()于GT7. 宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()8.调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW()(2)双字变量AYD存放的地址指针送ES和SI()(3)变量AY2类型属性送AH()(4)不允许中断即关中断()(5)将字符串…HOW ARE YOU!‟存入变量AYB()(6)子程序返回调用程序()(7)地址表达式AYY[4]的偏移地址送字变量ADDR()(8)AX的内容加1,要求不影响CF()(9)BX的内容加1,要求影响所有标志位()(10)若操作结果为零转向短号GOON()二、单选题1.IBM PC微机中,有符号数是用()表示的1.原码2.补码3.反码4.BCD码2.把汇编源程序变成代码程序的过程是()1.编译2.汇编3.编辑4.链接三、己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。
指出下列非法语句的错误原因1.POP CS()2.INC [BX] ( )3.MVL 8( )4.JLE LPFAR( )5.MOV DB,1800( )6.MOV[DI],VAR17.SUB AX,VAR2( )8.CMP SS AX( )四、简答题1.试述子程序的一般结构组成2.标号有哪三个属性?其含义是什么?3.试述CMP AX,BX和SUB AX,BX两条语句的异同点?五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数。
2013-2014学年第2学期《汇编语言程序设计》考试试卷A卷闭卷考试时间:2014年5月15 日专业班级学号学生姓名一、填空题(共10分,每空1分)1、访问存放在内存中的数据时,需要知道该数据的物理地址。
在实方式下,设(DS)=1000H, 则指令MOV AX, DS:[200H] 中源操作数的物理地址是10200H 。
2、堆栈也是内存中的一片数据存储区域,要访问栈顶元素,同样要知道其物理地址。
在实方式下,设(SS)= 2000H, (SP)= 100 H,则栈顶元素的物理地址是20100H 。
3、一个内存单元的物理地址是唯一的,但是在写指令时,可以由多种方式表达出同一个单元的地址。
例如,设在数据段(DS)中定义了变量LEN DW 10H。
代码段中有:LEA BX, LENMOV SI, 0在这两条指令之后,可使用如下几种方式将LEN 中的内容送入CX中。
用直接寻址方式:MOV CX, LEN用寄存器间接寻址方式:MOV CX, [BX]用变址寻址方式:MOV CX, LEN[SI] or 0[BX]4、在访问一个内存单元时,除了知道其物理地址外,还应明确其类型,即明确以该地址取一个字节、一个字,还是一个双字。
设BUF DW 1122H, 3344H则执行MOV CL, BYTE PTR BUF 后,(CL) = 22H执行MOV CX, BUF后,(CX) = 1122H执行MOV ECX, DWORD PTR BUF 后,(ECX)= 33441122H5、外部设备寄存器只能用I/O指令来访问。
从端口地址60H输入一个字节到AL中的指令为:IN AL, 60H 。
而“OUT 70H, AL”的功能是将AL的内容输出到端口地址为70H的外设寄存器。
二、选择题(共10分,每空1分)1、指令MOV [DI], WORD PTR [SI] 的错误原因是 C 。
(A) DI不能用于寄存器间接寻址方式(B) WORD PTR的用法错误(C) 两个操作数不能同时为存储器操作数(D) 源操作数的类型不明确2、指令ADD [CX], AL 的错误原因是 D 。
汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。
12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。
13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。
14.中断源:指能引起中断的外部设备或内部原因。
15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。
三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。
17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。
逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。
18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。
19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。
程序设计一、程序阅读题,写出程序的输出结果1.main(){int i=3 while(i<10)){if(i<6) {i+=2; continue; }else printf( “%d” ,++i);}} ___________ 8910 _____ 。
2.main(){int i=3 while(i<10)){if(i<6) {i+=2; continue; }else printf( “%d” ,++i);}} ___________ 8910 _____ 。
3.#include “stdio.h ”main(){int i, j;i=j=2;if(i==1)if(i==2)printf( “ %d” ,i=i+j);elseprintf( “ %d” ,i=i-j);printf( “ %d” ,i);} ___________ 2 _____ 。
二、填空题:4.写出满足下列条件的表达式: a 和 b 都不小于 c ________________________ _a>=c&&b>=_c ____________________________ _5.表达式10+16%3的值为 __ 15 _____ 。
6.下面函数的功能是求 1 到n 的和请把程序补充完整。
long sum( int n){ int i;_ ____ i nt s=0; ____for(i=1;i<=n;i++)______ s+=i; _________ _return s;}得到的初值为7.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2]___ 0__。
8.有如下程序段int *p,a=10,b=1; p=&a; a=*p+b;执行该程序段后, a 的值为11 。
9.以下程序的输出结果为55 。
void main( ){ int i,j,a[ ]={1,2,3,4,5,6,7,8,9,10};int sum=0;for (i=0;i<10;i++)sum=sum+a[i];printf("%4d",sum);}10.若有定义int a[2][5] ,则整型数组 a 包含有10 个元素。
《汇编语言程序设计》课程知识复习学习材料试题与参考答案一、单选题1.为了使MOV AX,VAR指令执行后,AX寄存器中的内容为4142H,下面哪一条数据定义会产生不正确的结果?(C)A.VAR DW 4142HB.VAR DW 16706C.VAR DB 42H,41HD.VAR DW ‘AB’2.关于8086/8088微机系列,下列说法哪个是正确的(D)A.一个存储单元由16个二进制位组成,简称字。
B.当存储一个字数据时,低字节放高地址位,高字节放低地址位。
C.在内存中,可以无限分配段,且段的大小不受限制。
D.段与段之间可以邻接,也可以重叠。
3.宏指令库以(C)格式存放在磁盘上。
A.可执行代码B.目标代码C.源代码4.计算机处理问题中会碰到大量的字符.符号,对此必须采用统一的二进制编码。
目前,微机中普遍采用的是( D)码。
A.BCD码B.二进制码C.十六进制码D.ASCII码5.运算器能够完成(C)运算。
A.算术运算B.逻辑运算C.算术运算和逻辑运算D.加减运算6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)A.无符号十进制数136B.带符号十进制数-120C.压缩型BCD十进制数88D.8位二进制数-8的补码表示7.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B )A.MOV AX,89B.MOV AX,0809HC.MOV AX,89HD.MOV AX,08098.在执行下列指令时,需要使用段寄存器DS的指令是(D)A.STOSWB.ADD AL,CLC.NEG BXD.INC DA[BX]9.假设AL=28H,执行ROL AL,1指令之后的情况是(D ) P125A.AL=14H, CF=1B.AL=50H, CF=1C.AL=14H, CF=0D.AL=50H, CF=010.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D )A.AX=0032HB.AX=00E0HC.AX=03E0HD.AX=0FFE0H11.JMP SI的目标地址偏移量为(A)。