四川大学汇编语言程序设计20152016期末试题(附答案)

合集下载

汇编语言程序设计期末考试-试卷及参考答案

汇编语言程序设计期末考试-试卷及参考答案

汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。

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

6.串指令中的目的操作数地址一定是由____A_ _提供。

()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。

7.将DX的内容除以2,正确的指令是( C )。

A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。

8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。

A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。

9.用一条指令仅实现将AX←BX+SI的方法是( D )。

A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。

10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。

A.1FFFH; B.1998H;C.1FFEH; D.2002H。

2. C二、指出下列指令的出错原因,并改正。

(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。

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

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

《汇编语言程序设计》期末复习题及答案一、选择(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=186m B=273R,C=0BB E把这三个数看成无符号数,则它们之间的关系是(D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX] [SI]7.要从端口1234H中读入8位数据,其指令应是(C )C、MOV DX, 1234HIN AL, DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B )B、CX尹。

且ZF=O9.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,执行“SA R 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=O, (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, BL24.操作数地址存放在寄存器的寻址方式称为(B )B、寄存器间接寻址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 中。

汇编语言程序设计试题参考答案

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案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对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。

汇编语言期末考试试题及答案

汇编语言期末考试试题及答案

汇编语言期末考试试题及答案------------------------------------------作者------------------------------------------日期汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题 分,共 分).指令☺ ∙☞✌∙❆∙☠☜属于参考答案为 ✌.段内转移直接寻址.段内转移间接寻址.段间转移直接寻址.段间转移间接寻址☯解析 略.下列叙述正确的是参考答案为 ✌.对两个无符号数进行比较采用 指令,对两个有符号数比较用 指令 .对两个无符号数进行比较采用 指令,对两个有符号数比较用 指令 .对无符号数条件转移采用☺✌☜☺☠指令,对有符号数条件转移用☺☝☜☺☠☹指令.对无符号数条件转移采用☺☝☜☺☠☹指令,对有符号数条件转移用☺✌☜☺☠指令☯解析 对于无符号数和有符号数的比较都采用 指令;指令是串比较指令;对两个无符号数的条件转移指令应是:☺✌☜、☺☠、☺ ☜、☺☠✌;对两个有符号数的条件转移指令应是:☺☝☜、☺☠☹、☺☹☜、☺☠☝。

.一个有 个字的数据区,它的起始地址为 ✌☟: ✌☟,请给出这个数据区最末一个字单元的物理地址是参考答案为 ✌. ☟. ☟. ☟. ☞☜☟☯解析 末字与首字相隔( - =) 个字,且每个字占用 个字节,因此末字单元的物理地址应为:首字单元的物理地址+( - ) 即∙✌☟☟+ ✌☟+( - ) = ☟。

.在下列指令的表示中,不正确的是参考答案为 ✌. ✞∙✌☹,☯✠✋.☺ ∙☟❆∙☠✋. ☜∙☯✠. ✞☹∙☹☯解析 当只有一个存储器操作数时,这个操作数的类型不明确,例如选项 中的☯✠,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如☜∙✡❆☜∙❆∙☯✠∙或∙☜∙∙❆∙☯✠但是在题目的选项 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

【汇编语言程序设计】期末考试-试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案
MOVBX,DS ADDAX,BX 4.TESTBX,[CX];不能使用 CX 实现寄存器间接寻址,改正为 MOVSI,CX TESTBX,[SI] 5.SUB[BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型 不确定,改正为:MOVAX,[BX] SUBAX,[BP+SI] 或:MOVAL,[BX] SUBAL,[BP+SI] 6.SHLDX;没有给出移位次数,改正为 SHLDX,1 或 SHLDX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空 3 分, 共 18 分) 1.在表 TABLE 处存放着 N 个无符号字节数,求表中前 10 个字节数的总和并保存在 AX 寄存器中。如果总和值超过 AX 寄存器的容量,则置 AX 寄存器内容不变。请在程序 中的空格处填入适当指令使其完整。 LEA?BX,TABLE?
JC?EXIT
DONE:INC?BX
(3)LOOPNEXT;将计数器 CX 减 1,并判断是否继续下一次循环
EXIT:HLT
2.BUFFER 为起始地址的存储区域中存放有 100 个字节数据,现将其首、尾颠倒过来, 重新排放这 100 个字节数据。请在程序中的空格处填入适当的指令使其完整。 MOV?CX,32H;循环 50 次
letterDB26DUP(?) countEQU$-letter
dataENDS codeSEGMENT ASSUMEcs:code,da:data start:movax,data
movds,ax movcx,count leasi,letter moval,‘A’ next:mov[si],al
movah,9;9 号功能调用显示提示信息
int21h

(word版)汇编语言期末考试试题及答案

(word版)汇编语言期末考试试题及答案

汇编语言模拟试题及答案一,单项选择题〔在每题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每题1分,共20分〕1.指令JMPFARPTRDONE 属于参考答案为: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.MOVAL,[BX+SI]B.JMPSHORTDONIC.DEC[BX]D.MULCL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DECBYTEPTR[BX] 或DECWORDPTR[BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

汇编语言期末考试试题及答案

汇编语言期末考试试题及答案

汇编语言期末考试试题及答案汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CC.段间转移直接寻址2.下列叙述正确的是参考答案为:CC.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C C.12C59H4.在下列指令的表示中,不正确的是参考答案为:CC.DEC [BX]5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内6.条件转移指令JNE的测试条件为参考答案为:AA.ZF=07.8086CPU在基址加变址的寻址方式中,变址寄存器可以为参考答案为:D D.SI或DI8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。

参考答案为:AA.数据段中偏移量为3236H的字节9.执行如下程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX)=参考答案为:CA.99B.100C.101D.10210.上题的程序执行后(AX)=参考答案为:BB.505011.对于下列程序段:AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用______指令完成同样的功能。

参考答案为:AA.REP MOVSB12.下面指令序列执行后完成的运算,正确的算术表达式应是MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL参考答案为:DD.y=x2-113.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。

汇编语言程序设计期末考试题,DOC

汇编语言程序设计期末考试题,DOC

汇编语言程序设计期末考试题学院(系):学号:姓名:计分:一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共10分)1.CPU发出的访问存储器的地址是()A.物理地址B.偏移地址C.逻辑地址D.段地址2.将高级语言的程序翻译成机器码程序的实用程序是()A.编译程序B.汇编程序C.解释程序D.目标程序3.DECBYTEPTR[BX]指令中的操作数的数据类型是()A.4.5.6.A.7.8.若A.9.()码。

10.A.二、1.在2.3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、________、________。

4.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。

A.ADDAX,1200H;问AX=________H,ZF=________B.SUBAX,BX;问AX=________H,ZF=________C.MOVAX,[BX];问AX=________HCF=________D.NEGWORDPTR[1200H];问(31200H)=________HCF=________5.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,填入括号中。

A.使用D的直接寻址()B.使用BX的寄存器间接寻址()C.使用BX和D的寄存器相对寻址()D.使用BX、SI和D的相对基址变址寻址()E.使用BX、SI的基址变址寻址()三、简答题(共20分)1.程序在数据段中定义的数组如下:(4分)ARRAY DB 'YESIS'DB 20┇DB 'DONOT'请指出下列指令是否正确?若不正确,错在哪里?(答案做在旁边)??INC2.如AX寄存3.MOVCL,LENGTHTAB34.子程序的说明文件中应包括哪几方面的内容?(5分)5、分别指出下列指令中源操作数的寻址方式:(5分,答案写在对应指令的右边)A.MOVSI,100立即寻址B.MOVCX,DATA[SI]寄存器相对寻址C.MOV[SI],AX寄存器寻址D.ADDAX,[BX][DI]基址变址寻址三、简答题(共20分)1.A.正确B.数据类型不匹配错C.前两条指令正确,第三条数据类型不匹配D.前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。

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

四川大学期末考试试题(闭卷)
(2015——2016学年第 1 学期)A卷
课程号:课序号:课程名称:任课教师:成绩:
一、单项选择题(本大题共20小题,每小题1分,共20分)提示:
评阅教师得分
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在
下面的表格中。

错选、多选或未选均无分。

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
1.以下寄存器中,哪一个不属于地址指针寄存器?( A )
(A)AX (B)BX (C)SI (D)DI
2.以下标志位中,哪一个不属于状态标志位?( C )
(A)CF (B)OF (C)IF (D)AF
3.以下寄存器中,哪一个用于指示堆栈的栈顶位置?( C )
(A)IP (B)SI (C)SP (D)BX
4.以下寄存器中,哪一个用于提供代码段的段基值?( C )
(A)SS (B)DS (C)CS (D)AX
5.以下指令中,不影响标志位的是哪一条?( D )
(A)INC (B)AND (C)SUB (D)XCHG
试卷编号:
二、多项选择题(本大题共5小题,每小题2分,共10分)提示:在
每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写
在下表中。

错选、多选、少选或未选均无分。

1 2 3 4 5
1.以下哪些指令会影响CF 标志位?( CD )
(A )INC (B )DEC (C )AND (D )SUB (E )JC
2.以下指令中,哪些会访问堆栈段?( ABDE ) (A )CALL (B )RET (C )JMP (D )PUSH (E )POPF
3.假设(AL )=92H ,CF=1,执行指令ADC AL,88H 后,以下结果哪些是正确的? ( ACE )
(A )(AL)=1BH (B )(AL)=1AH (C )CF=1 (D )OF=0 (E )ZF=0
4.假设(AL )=86H ,执行指令SAR AL,1后,以下结果哪些是正确的?( ACDE ) (A )(AL)=0C3H (B )(AL)=0CH (C )CF=0 (D )OF=0 (E )PF=0
5.以下指令中,哪些使用了存储器寻址方式?( BCD )
(A )ADD AL,02H (B )SUB BL,[0104H] (C )INC BYTE PTR [BX] (D )AND AL,[SI] (E )XOR BL,CL
三、判断改错题(本大题共5小题,每小题4分,共20分)提示:下
列各语句可能有语法错误,判断各语句正确与否,对于错误的语句,需解释其错误的原因,对于正确的语句,若做出正确判断则给4分,对于错误的语句,做出正确判断给2分,做出正确的解释再给2分。

1. NEG 145 X NEG 指令不能跟立即数
2. JZ BX X
条件转移指令JZ 不能寄存器寻址,只能跟标号
评阅教师
得分
评阅教师 得分
3. OR BL,SI

4. MOV BYTE PTR [SI], BYTE PTR [BX] X
MOV指令的两个操作数不能都为内存单元
5. XCHG AL,05H X
XCHG指令的操作数不能有立即数
四、程序分析题(本大题共5小题,每小题5分,共25分)。

提示:
评阅教师得分
每小题给出了一个程序片段,请按各小题的要求分析程序片段的执行结果或
功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,
如果分析错误则该空不得分。

1. 有如下程序片段:
MOV AL,35H
MOV CL, 04H
SHL AL, CL
执行该程序片段后,(AL)的十六进制形式为 50H (3分),PF = 1 (1分),
ZF = 0 (1分)
2. 有如下程序片段:
MOV AL, 76H
AND AL, 0FH
OR AL, 80H
执行该程序片段后,(AL)的十六进制形式为 86H (3分),CF = 0 (1分),
OF = 0 (1分)
5. 有如下程序片段:
MOV AL, 92H
MOV AH, 03H
CMP AL, AH
JG L1
JMP L2
L1:MOV AL,0
JMP L3
L2: MOV AL,0FFH
L3:……
执行该程序片段后,(AL)的十六进制形式为 0FFH (3分),OF = 0 (1分),
SF = 1 (1分)
五、程序设计题(本大题共2小题,第1小题12分,第2小题13
评阅教师得分
分,共25分)。

提示:每小题给出了一个程序设计要求,请按照要求写出
源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。

1.试编写一个子程序,统计指定8位补码数组中负数的个数,假设指定数组最大长度不超过255字节。

子程序的入口参数包括指定数组的偏移量、指定数组的长度,要求使用堆栈传递入口参数,传递顺序按上述顺序;子程序的出口参数为数组中负数的个数,要求使用AL寄存器传递出口参数。

(注:仅写出子程序相关源代码,不写调用该子程序的相关源代码)
GRA VES PROC FAR
PUSH BP
MOV BP,SP
PUSH DS
PUSH SI
PUSH CX
PUSH BX
PUSH AX
MOV BX,[BP+6]
MOV CX,[BP+8]
XOR AH,AH
百度文库- 让每个人平等地提升自我
10。

相关文档
最新文档