南京师范大学汇编语言期末试卷

合集下载

汇编语言微机原理及接口技术期末试卷含答案[整理]

汇编语言微机原理及接口技术期末试卷含答案[整理]

1 北京大学北京综合100 95.80 100 1002 清华大学北京理工94.72 100 85.10 92.17 0000000003 复旦大学上海综合54.89 50.75 55.39 64.64 0000000004 浙江大学浙江综合52.91 52.47 51.31 50.74 0000000005 上海交通大学上海综合43.63 48.62 35.35 49.77 0000000006 南京大学江苏综合42.47 40.83 42.13 43.67 0000000007 武汉大学湖北综合41.07 41.98 36.70 51.28 0000000008 中国人民大学北京综合35.65 28.87 36.76 66.26 0000000009 吉林大学吉林综合35.41 32.56 36.51 37.87 00000000010 中山大学广东综合33.78 33.81 29.68 50.63 000000000011 华中科技大学湖北理工33.77 35.60 29.16 41.11 000000000012 四川大学四川综合33.37 34.69 29.05 42.65 000000000013 南开大学天津综合29.16 29.32 25.30 44.89 000000000014 山东大学山东综合29.13 26.17 29.49 39.24 000000000015 北京师范大学北京师范28.92 29.27 23.97 50.61 000000000016 哈尔滨工业大学黑龙江理工27.82 26.67 26.20 38.43 000000000017 中国科技大学安徽理工27.79 28.06 24.46 39.70 000000000018 郑州大学河南综合8.94 5.30 11.34 16.39 00000000019 西安交通大学陕西综合26.73 25.40 25.07 39.33 000000000020 厦门大学福建综合26.03 24.77 23.40 44.72 000000000021 天津大学天津理工21.98 21.23 19.33 38.38 000000000022 北京航空航天大学北京理工21.96 23.55 16.81 38.33 000000000023 同济大学上海理工21.63 19.56 19.68 43.02 000000000024 华东师范大学上海师范21.21 21.35 19.17 27.34 000000000025 中国农业大学北京农林20.00 21.48 14.41 40.59 000000000026 东南大学江苏综合19.73 16.99 19.03 38.16 000000000027 大连理工大学辽宁理工17.80 17.05 15.20 35.12 000000000028 西北工业大学陕西理工17.08 17.32 13.39 34.77 000000000029 北京理工大学北京理工16.60 15.97 13.26 38.43 000000000030 华南理工大学广东理工16.47 15.35 14.36 33.56 000000000031 重庆大学重庆综合15.19 12.84 13.59 38.08 000000000032 东北大学辽宁理工15.08 12.56 14.69 31.19 000000000033 兰州大学甘肃综合14.61 11.87 13.64 36.33 000000000034 湖南大学湖南综合14.05 11.51 13.30 33.00 000000000035 北京科技大学北京理工13.80 12.01 12.28 32.57 000000000036 华东理工大学上海理工12.15 12.70 9.33 23.30 00000000037 中国矿业大学江苏理工11.94 10.67 10.01 30.27 000000000038 中国地质大学湖北理工11.82 10.04 10.34 30.97 000000000039 华中师范大学湖北师范11.70 11.70 10.49 16.20 000000000040 西北大学陕西综合11.63 10.27 11.01 22.04 000000000041 中国海洋大学山东综合11.21 11.66 8.03 25.71 00000000042 中国石油大学北京理工11.06 10.14 8.33 32.57 00000000043 北京交通大学北京理工10.87 10.33 7.89 31.27 00000000044 东北师范大学吉林师范10.81 10.06 10.02 18.22 000000000045 南京理工大学江苏理工10.68 11.28 7.69 23.15 00000000046 南京航空航天大学江苏理工10.46 11.63 7.57 18.18 00000000047 华中农业大学湖北农林10.24 10.80 7.91 18.67 00000000048 西南交通大学四川理工10.15 8.68 9.33 23.10 00000000049 电子科技大学四川理工10.02 8.25 8.00 33.05 00000000050 西南大学重庆综合9.96 8.65 9.32 20.69 00000000051 哈尔滨工程大学黑龙江理工9.83 11.43 5.77 22.43 00000000052 河南大学河南综合9.81 11.40 5.70 22.4153 武汉理工大学湖北理工8.82 7.23 8.52 19.53 00000000054 西北农林科技大学陕西农林8.74 6.85 7.20 29.95 00000000055 南京师范大学江苏师范8.70 6.05 10.28 14.66 00000000056 苏州大学江苏综合8.57 6.95 9.15 13.74 00000000057 长安大学陕西理工8.57 8.62 7.24 14.50 00000000058 南京农业大学江苏农林8.49 6.41 8.14 23.27 00000000059 河海大学江苏理工8.44 7.96 6.42 22.81 00000000060 北京邮电大学北京理工8.33 8.04 5.60 26.21 00000000061 西安电子科技大学陕西理工8.31 7.97 6.85 17.93 00000000062 湖南师范大学湖南师范8.25 6.67 8.72 13.92 00000000063 上海大学上海综合8.18 6.84 8.09 16.01 00000000064 云南大学云南综合7.98 5.85 7.87 21.60 00000000065 东华大学上海理工7.80 7.54 6.03 19.16 00000000066 北京化工大学北京理工7.76 8.88 4.68 17.87 00000000067 北京林业大学北京林业7.66 7.09 5.61 23.05 00000000068 北京工业大学北京理工7.54 7.15 6.63 14.08 00000000069 暨南大学广东综合7.36 6.23 6.90 16.44 00000000070 河南科技大学理工7.35 6.20 6.89 16.40 71 南昌大学江西综合6.91 6.51 5.89 14.49 000000000072 华南师范大学广东师范6.61 3.81 8.01 15.39 00000000073 华南农业大学广东农林6.25 5.81 6.26 7.46 00000000074 中央民族大学北京民族5.97 3.66 5.00 27.16 00000000075 山西大学山西综合5.95 5.35 7.02 1.37 00000000076 中国政法大学北京政法5.85 3.28 5.04 28.00 00000000077 陕西师范大学陕西师范5.80 4.81 7.28 1.27 00000000078 福州大学福建理工5.80 4.53 5.72 13.70 00000000079 中南财经政法大学湖北财经5.78 3.50 6.56 15.20 00000000080 内蒙古大学内蒙古综合5.47 4.04 4.88 17.99 00000000081 上海财经大学上海财经5.45 3.80 5.27 16.87 00000000082 太原理工大学山西理工5.42 4.28 5.30 12.84 00000000083 江南大学江苏综合5.37 5.81 3.48 13.22 00000000084 南方医科大学广东医药5.27 5.51 4.71 5.75 00000000085 河南中医药大学河南医药5.17 6.20 4.29 2.13 00000000086 东北林业大学黑龙江林业5.11 4.00 4.97 12.53 00000000087 燕山大学河北理工5.10 5.63 4.28 5.23 00000000088 新疆大学新疆综合5.04 3.28 4.43 20.33 00000000089 贵州大学贵州综合5.00 4.34 3.92 15.41 00000000090 安徽大学安徽综合5.00 3.58 5.04 13.42 00000000091 南京工业大学江苏理工4.97 5.75 4.44 1.35 00000000092 首都师范大学北京师范4.87 4.68 5.22 2.45 00000000093 辽宁大学辽宁综合4.79 2.19 5.98 14.10 00000000094 海南大学海南综合4.75 5.29 2.54 14.26 00000000095 广西大学广西综合4.70 3.29 4.30 16.06 00000000096 四川农业大学四川农林4.62 4.60 3.23 12.67 00000000097 中央财经大学北京财经4.60 1.39 3.27 35.11 00000000098 河南师范大学河南综合4.58 4.21 4.55 6.09 00000000099 华北电力大学河北理工4.39 3.42 3.22 17.83 000000000 100 河南理工大学河南理工4.38 4.80 4.28 0.77 000000000。

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

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

汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( 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寄存器中。

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

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

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

《汇编语言程序设计》期末复习题和答案.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 中。

汇编语言期末试卷复习(附答案)【范本模板】

汇编语言期末试卷复习(附答案)【范本模板】

选择题1。

已知X=78,Y= -83则[X+Y]补=( )A.0F5HB.0A1HC.0FBH D。

65H2。

MOV AX, ES:COUNT[DI] 源操作数的寻址方式是()A。

基址寻址 B.立即寻址 C.变址寻址D。

基址变址寻址3。

指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为()A.17500HB.16500HC.14500H D。

13500H4。

下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是( )A。

AX,BX,CX,DX B。

BP,SP,IP,CSC.BX,BP,SI,DID.BH,BL,CH,CL5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( )A。

表示结果中含1的个数为偶数B。

表示结果中含1的个数为奇数C。

表示该数为偶数 D. 表示结果中低八位含1的个数为偶数6. 下列传送指令中,有语法错误的指令是()。

A。

MOV CS,AX B.MOV DS,AX C。

MOV ES,AX D。

MOV SS,AX7。

MOV SP,3210HPUSH AX执行上述指令序理后,SP寄存器的值是()。

A。

3211H B. 320EH C。

320FH D. 3212H8. 设(DH)=20H,执行NEG DH指令后,正确的结果是()A。

(DH)=20H CF=1B。

(DH)=20H CF=0C。

(DH)=0E0H CF=0 D.(DH)=0E0H CF=19。

执行下面指令序列后,结果是( )MOV AL,82HCBWA.AX=0FF82HB.AX=8082H C。

AX=0082H D。

AX=0F82H10。

串操作指令中,目标串操作数的段地址一定在( )寄存器中.A。

CS B。

SS C。

DS D。

ES11。

MOV DX, COUNT[BP][DI]的源操作数的寻址方式是( )。

2022年南京师范大学公共课《C语言》科目期末试卷B(有答案)

2022年南京师范大学公共课《C语言》科目期末试卷B(有答案)

2022年南京师范大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、结构化程序由________、________ 、________ 3种基本结构组成。

4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。

5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______6、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);8、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。

9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。

汇编语言期末试卷及答案

汇编语言期末试卷及答案

汇编语言期末试卷及答案一、单项选择题1、CPU发出的访问存储器的地址是(A)。

A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。

A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]3、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。

A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR4、表示过程定义结束的伪指令是(A)。

A.ENDPB.ENDSC.ENDD.ENDM5、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B )。

A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。

A. ALB. BLC. CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。

A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP8、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是(B)。

A.1020HB.3020HC.2030HD.2010H9、将AX 清零,下列指令错误的是(C)。

A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H10、完成同指令XCHG AX,BX相同功能的指令或指令序列是(D)。

A. MOV AX,BXB. MOV BX,AXC. PUSH AXD. MOV CX,AXPOP BX MOV AX,BXMOV BX,CX11、JMP BX 的目标地址的偏移量为(A)。

A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。

(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.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。

【良心出品】汇编语言期末考试试题及答案

【良心出品】汇编语言期末考试试题及答案

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

汇编语言 期末试题和答案 三套 有详细解释

汇编语言 期末试题和答案 三套 有详细解释

汇编语言期末试题和答案三套有详细解释汇编语言期末试题和答案三套有详细解释一、单项选择题(本大题共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 分,共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) X2即12ABHX 10H + 00ABH + (128 — 1) X2=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 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的.5.在进行二重循环程序设计时,以下描述正确的选项是参考答案为:AA .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B .外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D .内、外循环初值都应置内循环之外,外循环之内[解析]循环参数置初值,应在进入循环以前给出.6.条件转移指令JNE 的测试条件为参考答案为:AA.ZF=0B. CF=0C.ZF=1D .CF=1[解析]略.7.8086CPU 在基址加变址的寻址方式中,变址存放器可以为参考答案为:DA.BX 或CXB.CX 或SIC.DX 或SID.SI 或DI[解析]略8.BX=2000H , SI=1234H ,那么指令MOV AX , [BX+SI+2]的源操作在〔〕中. 参考答案为:AA .数据段中偏移量为3236H 的字节B .附加段中偏移量为3234H 的字节C.数据段中偏移量为3234H的字节D .附加段中偏移量为3236H 的字节[解析]指令中的源操作数的寻址方式是相对基址变址寻址, 且由于其中的基址寄存器采用的是BX,所以源操作数是在数据段中,其偏移量为:BX+SI+2=2000H+1234H+2=3236H9.执行如下程序:MOV AX , 0MOV BX , 1MOV CX , 100A:ADD AX , BXINC BXLOOP AHLT执行后〔BX〕= 参考答案为:CA.99B.100C.101D.102[解析]1 〕在进入循环之前,有三条指令分别初始化存放器:AX 为0、BX 为1 、CX 为100;2〕由于循环的限制局部采用的是LOOP 指令,该指令有使CX 减1,并判断其是否为0 的功能,所以可知该循环的执行次数为100 次;3〕循环体的主要功能是每次循环使AX 中的内容累加BX 的内容, 并使BX 的内容加1.4〕直到最后一次〔即第100 次〕循环时,加到AX 中的BX 的内容为100, 且使BX 加1,即变为101 后退出循环体.所以当执行完该段程序后, BX 的内容为101.5〕该段程序的功能是〔AX〕 =1 + 2+……+ 100 = 505010.上题的程序执行后〔AX 〕= 参考答案为:BA.5000B .5050C.5100D.5150[解析]请参看上题中的分析.正确答案:B.11 .对于以下程序段:AGAIN :MOV AL , [SI]MOV ES:[DI], ALINC SIINC DILOOP AGAIN也可用______ 指令完成同样的功能. 参考答案为:AA.REP MOVSBB.REP LODSBC.REP STOSBD .REPE SCASB[解析]该段程序的功能是将SI 所指向的数据段中的数据顺序传送给DI 所指向的附加段的一段数据区中,并且每次传送一个字节,即实现了字节串传送的功能,所以也可以使用REP MOVSB 指令来完成同样的功能.12.下面指令序列执行后完成的运算,正确的算术表达式应是MOV AL , BYTE PTR XSHL AL , 1DEC ALMOV BYTE PTR Y , AL 参考答案为:DA.y=x2+1B.x=y2+1C.x=y2-1D .y=x2-1[解析]该段程序的第一条指令的功能是将X 传送给AL ;第二条指令的功能是将AL 的内容左移 1 位,即使得AL 的内容扩大 2 倍;第三条指令的功能是使AL 的内容减 1 ;第四条指令的功能是将AL 传送给Y;综上所述该程序完成的运算是Y=2X-1 .13.在一段汇编程序中屡次调用另一段程序, 用宏指令比用子程序实现起来. 参考答案为:BA.占内存空间小,但速度慢B .占内存空间大,但速度快C.占内存空间相同,速度快D .占内存空间相同,速度慢[解析]1 〕宏指令简化程序的书写,不节省程序存储空间,但执行时间比子程序短.2〕子程序简化程序的书写,也节省程序的存储空间,但执行时间比宏指令长.14.在程序执行过程中, IP 存放器中始终保存的是参考答案为:BA.上一条指令的首地址B .下一条指令的首地址C.正在执行指令的首地址D .需计算有效地址后才能确定地址[解析]在程序运行过程中,它始终指向下一条指令的首地址,它与CS 代码段存放器联合确定下一条指令的物理地址.15.PSW 存放器中共有_______ 位条件状态位,有位限制状态位. 参考答案为:AA.6、38.3、6C.8、4D.4、8[解析]PSW 有6 位条件状态位:AF、CF、ZF、PF、SF、OF;PSW 有3 位限制状态位:IF、TF、DF16.以下指令执行时出错的是参考答案为:AA.ADD BUF1 , BUF28.JMP DWORD PTR DA T [BX]C.MOV AX , [BX+DI] NUMD.TEST AL , 08H[解析]ADD 指令的两个操作数不能同时是存储器操作数,所以选项 A 中的指令是错误的.17.〔AX 〕=1234H ,执行下述三条指令后, 〔AX 〕= 参考答案为:D MOV BX , AXNEG BXADD AX,BXA.1234HB.0EDCCHC.6DCCHD.0000H[解析]第一条指令的功能是将AX>BX ,即BX中的内容为1234H;第二条指令的功能是对BX求补,即BX中的内容变为一1234H;第三条指令的功能是AX+BX>AX ,即1234H+〔-1234H〕=gAX ;所以执行三条指令后, AX 的内容为0.18.在以下指令中, _____ 指令的执行会影响条件码中的CF 位. 参考答案为:D A.JMP NEXTB .JC NEXTC.INC BXD .SHL AX , 1[解析]JMP、JC指令不任何影响状态标志位;INC指令执行结果除不影响CF外,其余状态标志位〔AF、OF、PF、SF、ZF〕都受影响.SHL指令使CF=O, OF=O,影响ZF、SF、PF标志位,AF无定义.19.串指令中的目的操作数地址是由______ 提供. 参考答案为:CA.SS:[BP]B.DS:[SI]C.ES:[DI]D.CS:[IP][解析]略20.将DX 的内容除以2,正确的指令是参考答案为:CA.DIV 2B.DIV DX , 2C.SAR DX , 1D.SHL DX , 1[解析]选项 A 中的的指令执行的操作是:AX/2 ;选项 B 中的的指令书写格式不正确;选项 C 中的的指令执行的操作是:将DX 的内容右移一位,将使DX 的内容缩小为原先的1/2,即将DX 的内容除以2;选项 D 中的的指令执行的操作是:将DX 的内容左移一位,将使DX 的内容扩大为原先的 2 倍,即将DX 的内容乘以2.[解析]〔1〕指令:SHR DX, 1 使DX 的内容向右移动了一位,因此DX 的内容变为0000' 0000' 0101' 110OBD05CH.〔2〕指令:RCR DL, 1 使DL的内容向右循环带进位移动了一位, DH 的内容不变,因此DX 的内容变为0000’ 0000’ 1101’ 110,即0B 00DCH .〔3〕指令:RCL DX, CL 使DX 的内容向左循环带进位移动了 3 位,因此DX 的内容变为0000’ 0101’ 1100’ 110,即0B 05CCH.2.写出完成下述功能的程序段:〔 1 〕传送25H 到AL 存放器〔2〕将AL 的内容乘以2〔3〕传送15H 到BL 存放器( 4)AL 的内容乘以BL 的内容并请写出最后〔AX 〕=?答:〔1〕MOV AL, 25H( 5)SHL AL, 1( 6)MOV BL, 15H( 7)MUL BL最后, 〔AX〕=612H =1554[解析]1 〕将AL 的内容左移 1 位, 将使它的内容扩大 2 倍, 即使AL 的内容乘以2.2〕最后, AX 的内容应为25H*2*15H=612H=15543.写一程序段,求双字长数DX : bX的相反数.答:NEG DXNEG AXSBB DX, 0[解析 ]求双字长数 DX:AX 相反数,即对其求补,所以应实现的操作是:〔DX:AX 〕 - 0-〔DX:AX 〕 即 0 : 0 -〕 DX : AX将上面的算式分解后,即为对DX 求补,对AX 求补,并从DX 中减去将 AX 求补时产生的借位.所以相应的指令就是:NEG DX NEG AX SBB DX, 0 三,程序分析题〔每题 6 分,共 36 分〕1.现有如下程序段:DATA SEGMENT ORG 0020H DA1 DW 12H , 23H DA2 DB 11H , 21H注意: 程序是从左到右看, 先把左边的程序段看完了再看右边的程序段.下面的程序段以相同的方法进行读解.请答复: 〔 1〕该程序段已占有的存储字节数是多少? 〔 2〕符号名 D A4 的值是多少?符号名DA5 的值是多少?答: 〔1〕 该程序段已占有的存储字节数是 8 个字节.(2) 符号名 DA4 的值为 2,符号名 DA5 的值是 0026H .NUM DW 12H MOV CL , BYTE PTR NUM+1 …MOV CH , TYPE NUM MOV AX , NUMHLT请问: ( AX ) = _____, ( BX ) = ______, ( CX ) = ______.答: (AX)=0012H (BX)=1221H (CX)=0200H[解析]1 )指令 MOV AX, NUM 的功能是将 NUM 单元的字内容12H 传送给 AX ,使得 (AX)=0012H ;2) 指令 MOV BX, OFFSET NUM 的功能是将NUM 单元的偏移地址1221H 传送给DA3 EQU 1234H DA4 EQU $ -DA2 DA5 DB 31H , 32H DATA ENDS[解析 ]1 〕伪指令 ORG 0020H ,设置存储单元起始偏移地址为 2〕符号名 DA1 的值〔即所对应存储单元的偏移地址〕是为字,有 2 个字数据,所以共占用4 个字节;3〕符号名 DA2 的值〔即所对应存储单元的偏移地址〕是为字节,有 2 个字节数据,所以共占用2 个字节;4〕经 EQU 定义的符号名 DA3 、 DA4 不占用存储空间,数器的值〔 0026H 〕 ,可它们的值分别为 DA3=1234H, DA4=2 .5〕符号名 DA5 的值〔即所对应存储单元的偏移地址〕是为字节,有 2 个字节数据,所以共占用2 个字节;6〕综上所述,该程序段共占有的存储字节数 8 个字0020H ; 0020H ,该数据区的类0024H ,该数据区的类型$〞用来表示当前地址计 0026H ,该数据区的类型ORG 1221H MOV BX ,OFFSET NUMBX ,使得(BX)=1221H ;3)指令MOV CL, BYTE PTR NUM+1的功能是将NUM+1〔1222H〕单元的字节内容〔即NUM字单元的高字节〕00H传送给CL ,使得〔CL〕=00H ;4)指令MOV CL, TYTE NUM 的功能是将NUM 字单元的类型字节数2传送给CH,使得〔CH〕=02H ;5〕综合第4 和第5 点,可知CX 存放器的内容为0200H .3.阅读如下程序:ADRR DB XXH , XXH ,……,XXH CMP ADRR[BX] , 0NUM EQU $-ADRR LOOPZ DONRETT DB ?JNZ NEXT…MOV BL , OFFHMOV CX , NUM NEXT :MOV RETT , BLMOV BX , -1 HLTDON:INC BX请问:〔 1 〕该程序完成的功能是什么?〔2〕程序执行后指出RETT 字节单元中的内容是什么?答:〔1〕在以ADRR 为起始地址的数组中,查找第一个非0 数据.(2)假设找到那么将第一个非0 数据在数组中的偏移量送入RETT 单元中;假设无非0 数据,那么将OFFH 送入RETT 单元中.[解析]1〕程序的前 3 条指令,用于定义数据:以ADRR 为起始地址的数组;NUM 的值为ADRR 数组的数据个数;RETT 是一个空的字节单元2〕该程序的主体是一个循环,该循环的主要功能是在数组ADRR 中第一个非0 数据. 如果是由于找到,那么将第一个非0 数据在数组中的偏移量送入RETT 单元中;假设没找到非0数据,那么将OFFH 送入RETT 单元中.4.现有一子程序:SUB1 PROC PLUS:TEST BL, 80HTEST AL , 80H 〔检测AL 中的数值最高位〕JE EXITOJE PLUS XCHANGE :XCHG AL , BLTEST BL , 80H EXITO :RETJNE EXITO SUB1 ENDPJMP XCHANGE 试答复:〔1〕子程序的功能是什么?( 2)假设调用子程序前AL=9AH , BL=77H , 那么返回主程序时, AL= , BL= ____ .答:〔1〕子程序的功能是判别AL 和BL 中的数是否为异号数,当为异号时交换,否那么不变. 〔2〕 AL=77H, BL=9AH [ 解析]1 〕数据是以二进制的形式存储在计算机中的.数据对应的二进制数的最高位是数据的符号位:假设为0 表示该数为正数,假设为 1 表示该数为负数;2)TEST AL, 80H 和TEST BL,80H 指令是在测试AL 和BL 的最高位〔即符号位〕的状态是 1 还是0.3〕假设两个数的最高位〔即符号位〕的状态不同的时候〔即两数为异号〕,那么执行XCHANGE 标号所对应语句,即交换AL 和BL 中的内容.4〕否那么假设两个数的最高位〔即符号位〕的状态相同的时候〔即两数为同号〕 ,那么执行 EXIT0 标号所对应语句,程序结束,即 AL 和 BL 中的内容不被.5〕所以第二问中, AL=9AH,BL=77H : AL 中的数据的最高位为1, BL 中的数据的最高位为 0,即两个数为异号,所以要交换AL 和 BL 中的内容,即AL=77H,BL=9AH .5.阅读程序段:BLOCK DB 20H , 1FH , 08H , 81H , RESULT DB ? …START : LEA SI , BLOCK MOV CX , [SI] INC SI MOV AL , [SI]请问: 〔 1 〕该程序完成的功能是什么?〔 2〕该程序循环的次数是多少?答: 〔1〕 该程序完成的功能是从RESULT 单元中.〔2〕 该程序的循环次数是 1FH 〔 31〕 .[解析 ]1 〕指令 LEA SI, BLOCK 的功能是使 SI 指向了 BLOCK 数组的首单元; 2〕 指令 MOV CX, [SI] 的功能是将SI 指向单元的内容20H 传送给CX , 即 〔CX 〕=20H ;其后又有指令 DEC CX,使得CX 的内容变为1FH;再看循环体的限制局部采用的指令是 LOOP,可知,该循环的执行次数为 1FH 次;3〕循环体的主要功能是将 AL 中的内容与[SI]所指向数组的每一个数据进行比拟, 从数组中选出最小数保存在 AL 中.4〕由于比拟后采用的转移指令是JNG,所以该程序处理的显然是一组有符号的数据.6.阅读如下程序段,答复所提出的问题,假定X1 , X2, XN 为无符号数.ORG 100HBLOK DW X1 , X2 ,…,XN COUNT EQU ($ -BLOLOK ) /2 RESULT DW COUNT ,? LEA BX , BLOK-2 MOV CX , RESULT XOR AX , AXGOON : ADD BX , 2 CMP AX , [BX] JAE NEXT MOV AX , [BX] NEXT : LOOP GOON MOV RESULT+2 , AX 程序段执行完,答复下述问题RESULT+2 字存储单元的内容 = _____ BX= _____程序循环次数 = _____OFFH-LOP1 : CMP AL, [SI+1] JNG NEXTMOV AL , [SI+1] NEXT : INC SI LOOP LOP1 MOV RESULT , AL HLT20H 〔 32〕个有符号数中找出最小的数送入答:RESULT+2字存储单元的内容是MAX〔X1, X2, …XN〕BX= 100H + 2 X 〔COUNT-1〕 程序循环次数=COUNT[解析 ]1 〕该程序段的开始 4 条指令定义了以下数据:以 BLOK 为起始地址的字数组,该数组首单元的偏移地址〔即 BLOK 〕为 100H ;COUNT 的值为 BLOK 字数组的数据个数; RESULT 存储区的第一个字的内容为COUNT , 即 BLOK 字数组的数据个数; 第二个字的内容为空.2〕 循环体的主要功能是从 BLOK 字数组中找出最大数送入RESULT 的第二个字单元中;3〕循环次数为数组中数据的个数,即COUNT 个.4〕当循环结束后, BX 中将存放最后一个字数据的偏移地址:首字偏移地址+末字与首字的相隔的字节数,即100H + 2 XCOUNT-1〕.四,程序填空题〔注意:以下各小题中,每空只能填一条指令!每题6 分,共 12 分〕1.在表 TABLE 处存放着 N 个无符号字节数,求表中前10 个字节数的总和并保存在AX 存放器中.如果总和值超过 AX 存放器的容量,那么置 AX 存放器内容不变.请在程序中的空格处填入适当指令使其完整.LEA BX , TABLE MOV CX , 10 MOV SUM , AX MEXT : 〔 1〕 ADC AH , 0 JNC DON答: 〔1〕 ADD AL, [BX] 〔2〕 MOV AX, SUM 〔3〕 LOOP NEXT[解析 ]1 〕程序的前三条指令的功能分别是: 将表 TABLE 的首址传送给 BX ; 将循环次数传送给计数器 CX ; 将 AX 的原值保存在 SUM 单元中; 以上指令实现了设置循环初始参数的功能.2〕标号 NEXT 所对应的第一个空白处就是循环体的第一条指令.根据题目的要求—— 求表中前 10 个字节数的总和,可知循环每次应实现将表 TABLE 中的数据按字节加法 的方式进行累加到 AL 中,并且将字节加法产生的进位加到 AH 中.所以第一个空白处应填入指令:ADD AL, [BX]3〕程序的第五条指令实现的是判断求得的和是否超过AX 存放器的容量.4〕如果有进位〔即已超过 AX 存放器的容量〕 ,那么执行第二个空白处的指令,根据题目当出现此种情况时,使 AX 内容不变,即恢复其原值,因此第二个空白处应填入指令:MOV AX, SUM .5〕如果没有进位〔即未超过AX 存放器的容量〕 ,那么转 DON .程序将使BX 的内容加 1 ,即使其指向下一个表中的字节数据.接下来就应该将计数器 CX 减 1 ,并判断是否继续下一次循环.因此,第三个空白处应填入指令:LOOP NEXT .2. BEG 为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这 100 个字节数据.请在程序中的空格处填入适当的指令使其完整.MOV CX , 32H〔 2〕 JC END0 DON : INCBX 3〕 ENDO : HLTLEA SI, BEGMOV DI , SI(1)DON :MOV AL , [SI](2)MOV [SI] , AL(3)DEC DILOOP DONHLT答:(1) ADD DI, 99(2) XCHG AL, [DI](3) INC SI[解析]1) 题目要求:将以BEG 为起始地址的区域中的100 个字节数据首尾颠倒存放.例如,如果原先为X1,X2, X3,…,X98, X99, X100 ,那么首尾颠倒后将变为X100, X99, X98, ••• ,X3, X2,X1 .2)颠倒的方法是:将X1与X100对调、X2与X99对调、X3与X98对调、……,即将前一半的数据与后一半相应位置的数据对调.这个过程每次处理两个数据,所以共有( 100/2= ) 50 对数据对调.3)根据以上分析可知,这个循环将进行50 (32H)次,每次将相应的两个数据对调,这两个数据可分别由两个存放器来指向.4) 阅读程序可知, SI 存放器指向前一半中的某个数据, DI 存放器指向后一半中对应的数据.在循环的初始化局部,使应计数器CX 的值为50(或32H) , SI 指向第一个数, DI 指向最后一个数,所以第一个空白处应填入指令:ADD DI, 99 .5) 在循环体中,应首先交换SI 和DI 所指向单元的内容,然后使指针SI 加1、DI 减1,所以第二、三个空白处应填入指令:① XCHG AL, [DI]② INC SI五,编制程序题(第 1 小题6 分,第2 小题14 分,共20 分)1.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来.答: 1 .BEGIN :MOV AH , 1INT 21HCMP AL , ’ a’JB STOPCMP AL , ’ z’JA STOPSUB AL , 20HMOV DL , ALMOV AH , 2INT 21HJMP BEGINSTOP:RET[解析]1〕该程序设计的主体应是一个循环一一当输入字符的是小写字母〔a〜z〕时,就将其转换为大写字母来显示, 此过程循环进行,直到当输入的不是小写字母时, 程序结束.2〕输入一个字符的可使用DOS 的1 号功能实现:MOV AH, 1INT 21H该DOS 调用执行完后,会将输入的字符的ASCII 码值送入AL 存放器.3〕判断输入的是否为小写字母〔a〜z〕的方法:CMP AL, ‘ a’JB STOP ;不是小写字母时,转STOPCMP AL, ‘ z’JA STOP;不是小写字母时,转STOP…;是小写字母时,将其转换为大写显示STOP:RET ;不是小写字母时,程序结束4〕小写字母比大写字母的ASCII码值大20H,因此指令SUB AL, 20H ,将使AL 中的内容变为大写字母的ASCII 码值.5〕输出一个字符的可使用DOS 的2 号功能实现:MOV DL, ALMOV AH, 2INT 21H2.设在内存单元SQTAB首址开始存放了 .〜15的平方数表.要求用直接查表法编一程序, 求出A单元中给定数〔V =15 =的平方值送B单元保存.答:DATA SEGMENTSQTAB DB 0 , 1 , 4, 9, 16, 25, 36, 49, 64, 81DB 100, 121, 144, 169, 196, 225A DB 12B DB ?DATA ENDSCODE SEGMENTASSUME CS :CODE, DS:DATASTART PROC FARPUSH DXXOR AX , AXPUSH AXMOV AX , DATAMOV DS , AXMOV BX , OFFSET SQTABMOV AL , AXLATMOV B , ALRETSTART ENDPCODE ENDSEND START[解析]1〕根据题目的要求,应首先建立.〜15的平方数表以及A和B单元:SQTAB DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ;平方数表DB 100, 121, 144, 169, 196, 225A DB 12 ;给定数〔<=15〕B DB ? ;存放A 中数的平方值的结果单元2〕A 中给定的数恰好是该数平方值在平方数表中的相对位置, 因此, 可通过换码指令XLAT 来实现从表中求平方值:MOV BX, OFFSET SQTABMOV AL, AXLAT。

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

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

《汇编语言程序设计》期末考试-试卷及答案一、 选择题(每题1分,共20分)1、下面存储器中属于辅助存储器的是:(、下面存储器中属于辅助存储器的是:(CDE CDE CDE)) A. RAM B. ROM C.C.磁盘磁盘 D.D.光盘光盘 E. 硬盘2、通常说计算机的内存为32M 32M、、64M 或128M 指的是:(指的是:(C C )A. RAM 的容量B. ROM 的容量C. RAM 和ROM 的容量D.硬盘的容量3、下面的说法正确的是:(、下面的说法正确的是:(AE AE AE))A. 存储器是计算机中存放程序和数据的记忆部件。

存储器是计算机中存放程序和数据的记忆部件。

B. 存储器中的信息被读出后即从存储器中消失。

存储器中的信息被读出后即从存储器中消失。

C. 存储器中如果已经存有数据,则不能再向其中写入新的数据。

D. 半导体存储器的存取速度比CD-ROM 的存取速度要慢。

的存取速度要慢。

E. 辅助存储器需要CPU 通过I/O 接口访问,因而速度较慢。

4、下面属于系统软件的有(、下面属于系统软件的有(A A )A. WINDOWS A. WINDOWSB. MASMC. Visual C++D. WORD 5. 5. 汇编语言的优点不包括汇编语言的优点不包括汇编语言的优点不包括__D_____D_____D___。

A A 直接有效地控制硬件直接有效地控制硬件直接有效地控制硬件B B B 生成的代码序列短小生成的代码序列短小生成的代码序列短小C C 运行速度快运行速度快运行速度快D D 编程容易6. 6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB) A 、AX AX,,BX BX,,CX CX,,DX B 、BX BX,,BP BP,,SI SI,,DI C 、SP SP,,IP IP,,BP BP,,DX D 、CS CS,,DS DS,,ES ES,,SS7. 7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D D))。

南京师范大学汇编语言期末试卷

南京师范大学汇编语言期末试卷

南京师范大学汇编语言期末试卷南京师范大学汇编期末试卷一.单项选择题。

(15*1=15)1.如果存储器分段时,一个段最多允许16K个子节单元,那么表示一个段内偏移地址的二进制位数至少是(C)A.14 位B.15位C.16位D.17位2.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是(A)A. 20640HB. 2063EHC.2063FHD.21900H3.使用DOS功能调用时,子程序编号应放在(B)A.AL B.AH C.AX D.任意指定4.下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是( D)A.AX,BX,CX,DXB.SP,BP,SI,DIC.CS,ES,DS,SSD.BX,BP,SI,DI5.设DF=1,每次执行CMPSW指令时,SI和DI均要分别(B)A.减1 B.减2 C.加1 D.加26.要使BL中的低四位变反,高四位不变,应执行指令(D )A.NOT BLB.OR BL,OFHC.AMD BL,OFHD.XOR BL,0FH7.下列指令执行时操作数在数据段的是(D )A.MOV AX,32768HB.ADD AL,AHC.NEG BXD.INC [DI]8.下列指令中有语法错误的是(C)A.ADD AX,12HB.SUB[BX],CXC.MOV 20H[BX],[SI]D.INC PTR BYTE [BP]9.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B)A.MOV AX,89B.MOV AX,0809HC.MOV AX,89HD.MOV AX,080910.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是(B)A.4321HB.OFFFFHC.8000HD.0001H11.DA1 DW 2A05HDA2 DB 0FAH…MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是( D)A.0DAHB.0FAHC.0F5HD.0D0H12. MOV AL,79ADD AL,0B1H上述指令执行后,设置的标志位CF和OF的值是(D )A.CF=0,0F=1B.CF=1,0F=1C.CF=0,0F=0D.CF=1,OF=013.重复前缀指令REPNE/REPNZ重复执行串操作的条件是(A)A.CX≠0 AND ZF=0B.CX≠0 AND ZF=1C.CX=0 AND ZF=0D.CX=0 AND ZF=114.汇编语言源程序,可以是(D)A.可以直接由机器执行B.必须由编译程序生成目标程序才能执行C.必须由解释程序生成目标程序才能执行D.必须由汇编程序汇编成目标程序才能执行15.下列有语法错误的语句是(A)A.DB 1234H B.DW 4567HC. DD ‘AB’,‘CD’D.DB ‘ABCD’二.填空题(10*1=10)1.DW ‘AB’将依次在内存中从低字节到高字节存入数据42H,41H 。

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

南京师范大学汇编期末试卷一.单项选择题。

(15*1=15)1.如果存储器分段时,一个段最多允许16K个子节单元,那么表示一个段内偏移地址的二进制位数至少是(C)A.14 位B.15位C.16位D.17位2.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是(A)A. 20640HB. 2063EHC.2063FHD.21900H3.使用DOS功能调用时,子程序编号应放在(B)A.AL B.AH C.AX D.任意指定4.下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是( D)A.AX,BX,CX,DXB.SP,BP,SI,DIC.CS,ES,DS,SSD.BX,BP,SI,DI5.设DF=1,每次执行CMPSW指令时,SI和DI均要分别(B)A.减1 B.减2 C.加1 D.加26.要使BL中的低四位变反,高四位不变,应执行指令(D )A.NOT BLB.OR BL,OFHC.AMD BL,OFHD.XOR BL,0FH7.下列指令执行时操作数在数据段的是(D )A.MOV AX,32768HB.ADD AL,AHC.NEG BXD.INC [DI]8.下列指令中有语法错误的是(C)A.ADD AX,12HB.SUB[BX],CXC.MOV 20H[BX],[SI]D.INC PTR BYTE [BP]9.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B)A.MOV AX,89B.MOV AX,0809HC.MOV AX,89HD.MOV AX,080910.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是(B)A.4321HB.OFFFFHC.8000HD.0001H11.DA1 DW 2A05HDA2 DB 0FAH…MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是( D)A.0DAHB.0FAHC.0F5HD.0D0H12. MOV AL,79ADD AL,0B1H上述指令执行后,设置的标志位CF和OF的值是(D )A.CF=0,0F=1B.CF=1,0F=1C.CF=0,0F=0D.CF=1,OF=013.重复前缀指令REPNE/REPNZ重复执行串操作的条件是(A)A.CX≠0 AND ZF=0B.CX≠0 AND ZF=1C.CX=0 AND ZF=0D.CX=0 AND ZF=114.汇编语言源程序,可以是(D)A.可以直接由机器执行B.必须由编译程序生成目标程序才能执行C.必须由解释程序生成目标程序才能执行D.必须由汇编程序汇编成目标程序才能执行15.下列有语法错误的语句是(A)A.DB 1234H B.DW 4567HC. DD ‘AB’,‘CD’D.DB ‘ABCD’二.填空题(10*1=10)1.DW ‘AB’将依次在内存中从低字节到高字节存入数据42H,41H 。

2.汇编语言程序设计中每个语句的注释项的开始必须用符号 ;。

3.比较两个字符串,找出它们不匹配的位置,在CMPSB指令前应使用的重复前缀指令是REPZ/REPE。

4.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为20A8H ,其物理地址为11488H 。

5.BUF DW 4,6,$+2,若汇编时BUF分配的偏移地址是0042H,则汇编后BUF数组中第三个字的值是$ 。

6.在汇编源程序时,语句INC [BX]出现语法错误,这时在语句的操作数项中应添加的操作符是 Byte PTR 。

7.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是偏移地址。

而后两个字节存放的是段基址。

8.VAR1 DD 10H DUP(?)语句实现留空64 个字节单元。

三.简答题(5*5=25)1.简述DOS系统功能调用方法,写出在屏幕上显示字符A的指令语句。

答:(1)DOS功能调用使用INT 21H指令,AH中存放功能号,表示需要完成的功能。

(2)MOV DL,‘A’MOV AH,2INT 21H2.假设某数据段的段名为DATA,段内有一变量BUF,请分别用MOV指令写出与下述两条语句等效的语句。

(1)MOV AX,DATA(2)LEA BX,BUF答:(1) MOV AX,SEG DATA(2) MOV BX,OFFSET BUF3,定义数据段DATA_SEG:数据段中的数据按下列要求依次存储。

(1)第一个字节是整数5(2)变量BUF,大小为25个字节,初值为0(3)变量ARRAY,类型为字,初值为12H,56H,78H,0AH(4)变量MSG存储字符串‘yes’答:DATA_SEG SEGMENTDB 5BUF DB 25 DUP(?)ARRAY DW 12H,56H,78H,0AHMSG DB ‘yes’DATA_SEG ENDS4.下面指令有无错误?若有错,是什么错误?(1)MOV AX,[SI][DI](2)CMP [SI],[BX]答:(1)SI与DI不能搭配进行间接寻址(2)不能确定操作数类型5.两个同符号的有符号数相减时,会发生溢出吗?为什么?答:不会,结果小于被减数。

四.程序分析题(5*4=20)1.若48H和93H是无符号数。

SOUR DB 48H,93HMZ DB?…MOV AL,SOURCMP AL,SOUR+1JA K1MOV AL,SOUR+1K1:MOV MZ,AL试问:(1)(MZ)= 93H .(2) 48H和93H是有符号数,JA K1指令应改为什么指令?2. BUF1 DB ‘1234ABCDEF’COUNT 10BUF2 DB COUNT DUP(0)…LEA SI,BUF1LEA DI,BUF2MOV CX,COUNTCLDLOP:LODSBCMP AL,39HJBE KSUB AL,7K:AND AL,0FHSTOSBLOOPLOP问:这段程序执行后,BUF2各字节中存入什么数据?1H,2H,3H,4H,0AH,0BH,0CH,0DH,0EH,0FH 3.阅读下面程序段,回答问题。

X1 DB 95H,19HX2 DB 76H,32HX3 DB 2 DUP(?)MOV AL,X1ADD AL,X2DAA ;BCD码调整指令MOV X3,ALMOV AL,X1+1ADC AL,X2+1DAA ; BCD码调整指令MOV X3+1,AL问题:(1)本程序段完成的任务。

非压缩BCD加法运算(2)程序执行后,X3,X3+1单元的内容是什么?71H,51H4.假定有数据定义。

BUF DB -30,24,42,-13,-57,0,-3COUNT 7PLUS DB?阅读下面程序段,回答问题。

MOV DL,0MOV SI,0FFSET BUFMOV CX,0LOP1:MOV AL,[SI]CMP AL,O,JNG NEXTINC DLNEXT:INC SIINC CXCMP CX,COUNTJL LOP1 LOOP LOP1MOV PLUS,DL…试回答:(1)程序段执行后PLUS单元中存放的内容是多少?2(2)如第三条指令改为:MOV CX,COUNT;那程序应如何修改?LOP1:MOV AL,[SI]CMP AL,O,JNG NEXTINC DLNEXT:INC SIDEC CXJL LOP1 LOOP LOP1MOV PLUS,DL…5.分别指出下列指令中源操作数的寻址方式:A.MOV SI,100 直接寻址B.MOV CX,DATA[SI] 寄存器相对寻址C.MOV [SI],AX 寄存器间接寻址D.ADD AX,[BX][DI] 基址变址寻址E.MOV AX,DATA[SI][BX] 相对基址变址寻址五.程序填空题(3*6=18)1.从2000H单元开始,存放着14H个数据,找出最大一个,并将其存在2000H中,请在方框中各填一条指令。

GATMAX:MOV BX,2000HMOV AL,[BX]MOV CX,14HP1: INC BX 。

CMP AL,[BX]JAE P2MOV AL,[BX]P2: INC BX 。

JNZ P1MOV BX,2000HMOV [BX],ALHLT2.下面程序段完成用串指令在DA1开始的26个字节单元中依次存放A-Z的ASC Ⅱ码,在DA2开始的26个字节单元中依次存放Z-A的ASCⅡ码,请在横线处各填一条指令。

DA1 DB 26 DUP(?)DA2 DB 26 DUP(?)…LEA DI,DA1MOV AL,‘A’MOV CX,26CLDLOP1:STOSBINC AL 。

LOOP LOP1MOV CX,26LOP2: DEC ALSTOSBLOOP LOP2注:LOD SB DS:[SI] →ALSI+1→SISTOSB AL→ES:[DI]DI+1→DICLD 0F=03.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!)试在空白处填上适当的一条指令。

STRING DB‘COMPUTER’,‘$’…MOV BX,0FFSET STRINGLOP:MOV DL,[BX]MOV AH,02HINT 21HINC BXCMP BX,‘$’JNE LOP六.编制程序题。

在数据段中,WEEK是星期一~星期日的英语缩写:WEEK DB ‘MON’,‘TUE’,‘WED’,‘THU’,‘FRI’,‘SAT’,‘SUN’试编写程序,做一个循环,在循环中调用DOS读入功能,读入的字符‘1’~‘7’,再根据读入的字符内容,用单个字符显示功能调用(2号功能)去显示对应的英文缩写(‘1’对应‘MON’,以此类推)。

当读到的字符不在‘1’~‘7’,循环结束。

要求:源程序格式完整。

答:DATA SEGMENTWEEK DB MON’,‘TUE’,‘WED’,‘THU’,‘FRI’,‘SAT’,‘SUN’D3 DB 3DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX BG: MOV AH,01H INT 21H CMP AL,31HJL ENDDCMP AL,37HJG ENDDMOV AH,00HSUB AX,31HMUL D3LEA BX,WEEKADD BX,AXMOV CX,0003HTOSCR:MOV DL,WEEKMOV AH,2INT 21HINC BXLOOP TOSCRJMP BGENDD:MOV AX,4C00HINT 21HCODE ENDSEND START。

相关文档
最新文档