《第2章 指令系统及汇编语言程序设计 题库和答案.pdf》由会员分享,可在线阅读,更多相关《第2章 指令系统及汇编语言程序设计 题库和答案.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 2 章 指令系统及汇编语言程序设计 _ 一选择题 1指令 ADD CX,55H 的源操作数的寻址方式是()。(A)寄存器寻址(B)直接寻址(C)寄存器间接寻址(D)寄存器相对寻址 2 设(SS)=3300H,(SP)=1140H,在堆栈中压入 5 个字数据后,又弹出两个字数据,则(SP)=()。(A)113AH(B)114AH(C)1144H(D)1140H 3若 SI=0053H,BP=0054H,执行 SUB SI,BP 后,则()。(A)CF=0,OF=0(B)CF=0,OF=1(C)CF=
2、1,OF=0(D)CF=1,OF=1 4 已 知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令 MOV BX,执行后,(BX)=()。(A)0102H(B)0201H(C)245AH(D)5A24H 5实模式下 80486CPU 对指令的寻址由()决定。(A)CS,IP(B)DS,IP(C)SS,IP(D)ES,IP 6 使用 80486 汇编语言的伪操作指令定义:VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)则在 VAL 存储区内前十个字节
3、单元的数据是()。(A)1,2,3,3,2,1,0,1,2,3(B)1,2,3,3,3,3,2,1,0,1 (C)2,1,2,3,3,2,1,0(D)1,2,3,3,3,1,0,1,0,1 7下列四条指令都可用来使累加器清0,但其中不能清进位位的是()。(A)XOR AL,AL(B)AND AL,0(C)MOV AL,0(D)SUB AL,AL 8若(AX)=96H,(BX)=65H,依次执行 ADD AX,BX 指令和 DAA 指令后,(AL)=()。(A)0FBH(B)01H(C)61H(D)0BH 9下列能使 CF 标志置 1 的指令是()。(A)CMC(B)CLC(C)STC(D)CL
4、D 10MOV AX,BP+SI隐含使用的段寄存器是()。(A)CS(B)DS(C)ES(D)SS 11设 AL=7FH,要使 AL=80H,应使用下列哪一条指令()。(A)AND AL,80H(B)OR AL,80H(C)XOR AL,80H(D)NOT AL 12在执行十进制调整指令 DAA,DAS 之前必须将结果存放于()中。(A)AX(B)AH(C)AL(D)BL 13下列指令执行后影响标志位的是()。(A)MOV(B)PUSH(C)ADD(D)XCHG 14唯一能对应存储单元的地址是()。(A)物理地址(B)端口地址(C)有效地址(D)逻辑地址 15计算机能直接执行的语言是()。(A
5、)机器语言(B)汇编语言(C)高级语言(D)程序设计语言 16需采用先进后出原则操作的存储区是()。(A)寄存器组(B)地址缓冲器(C)数据寄存器(D)堆栈区 17寄存器 SP 用于对()的操作。(A)空闲单元(B)堆栈单元(C)数据单元(D)指令单元 18若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行 LEA SI,指令后,SI 寄存器的内容是()。(A)1234H(B)3412H(C)1000H(D)0010H 19若(AL)=80H,执行 NEG AL 指令后,CF 和 OF 标志位的状态分别为()。欢迎您阅读并下载本文档,本文档来
6、源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!(A)0 和 0(B)0 和 1(C)1 和 0(D)1 和 1 20若要完成(AX)*7/2 运算,则在下列四条指令之后添加()指令。MOV BX,AX;MOV CL,3;SAL AX,CL;SUB AX,BX()。(A)ROR AX,1(B)SAL AX,1(C)SAR AX,1(D)DIV AX,2 21在保护模式下,代码段的段基址存在于()中。(A)段选择符(B)指令指针寄存器(C)段寄存器(D)段描述符 22查表指令 XLA T 规定,待查表的首址应存入()中。(A)BP(B)SI(C)DI(D)BX 23将要取的某一条指
7、令的偏移地址由()提供。(A)SI(B)BP(C)SP(D)IP 24寄存器间接寻址方式中,操作数在()中。(A)通用寄存器(B)堆栈(C)主存单元(D)段寄存器 25运算型指令的寻址和转移型指令的寻址,其不同点在于()。(A)前者取操作数,后者决定程序的转移地址 (B)后者取操作数,前者决定程序的转移地址 (C)两者都是取操作数(D)两者都是决定程序的转移地址 26JMP WORD PTR 是()。(A)段内间接转移(B)段间间接转移(C)段内直接转移(D)段间直接转移 27INC 指令不影响()标志。(A)OF(B)CF(C)SF(D)ZF 28逻辑移位指令 SHL 用于()。(A)带符号
8、数乘 2(B)带符号数除 2(C)无符号数乘 2(D)无符号数除 2 29算术移位指令 SAR 用于()。(A)带符号数乘 2(B)带符号数除 2(C)无符号数乘 2(D)无符号数除 2 30下列指令中,有语法错误的是()。(A)MOV,AX(B)IN AL,DX (C)XOR AX,1234H(D)OUT 210H,AL 31在下列伪指令中定义字变量的是()。(A)DD(B)DW(C)DQ(D)DT 32下列指令中,能使 AL 的内容固定为偶数的是()。(A)ADD AL,01 H(B)OR AL,0FEH(C)AND AL,0FEH(D)XOR AL,0FEH 33改变()寄存器的值,可改
9、变堆栈中栈顶元素的位置。(A)BP(B)IP(C)SP(D)BX 34加减类运算指令对标志位的状态()。(A)有影响(B)部分影响(C)无影响(D)任意 35当 AH=()时,执行 INT 21H 指令可在屏幕上显示一组字符。(A)01H(B)02H(C)09H(D)0AH 36已知 VAR DW 1,2,$+2,5,6 若汇编时 V AR 分配的偏移地址是 2010 和,则汇编后2014H单元的内容是()。(A)6H(B)14H(C)5H(D)16H 37若某数据段位于存储区 68000H7FFFFH,则该数据段的段基址是()。(A)68000H(B)7FFFFH(C)6000H(D)680
10、0H 38SP 的作用是用来指示()。(A)栈顶元素的有效地址(B)下一条要执行指令的地址 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!(C)下一条要取的指令的地址(D)栈底元素的有效地址 39在数据传送指令执行过程中,不能直接与立即数进行传送的是()。(A)通用寄存器(B)段寄存器(C)存储器(D)通用寄存器和存储器 40转移类指令对标志位的状态()。(A)有影响(B)部分影响(C)无影响(D)随意 41欲从存储单元取某操作数,可采用()。(A)寄存器寻址、寄存器间接寻址(B)立即寻址、直接寻址(C)立即寻址、寄存器间接寻址(D)寄存器间接寻
11、址、直接寻址 42在指令 MOV AX,0 执行后,CPU 状态标志位 ZF 的取值()。(A)为 0(B)为 1(C)不确定(D)不改变 43已知 AL=10010111H,BL=00010101H,执行 ADD AL,BL 指令后,OF、SF、CF、ZF标志的状态为()。(A)1、0、1、1(B)1、1、0、0(C)0、0、1、1(D)0、1、0、1 44下列指令中,错误的是()。(A)MOV BX,OFFSET BUF(B)LEA SI,BUF(C)LEA DI,OFFSET BUF(D)MOV BP,SEG BUF 45输入/输出指令对标志位的状态()。(A)有影响(B)部分影响(C)
12、无影响(D)任意 46下列描述正确的是()。(A)汇编语言仅由指令性语句组成 (B)汇编语言包括指令性语句和伪指令语句(C)指令性语句和伪指令语句的格式是完全相同的 (D)指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行 47下列指令中不属于逻辑运算指令的是()。(A)XOR(B)CWD(C)NOT(D)OR 48假定 DX=10111001B,CL=3,CF=1,则执行指令 SHL DX,CL 后,DX 的值为()。(A)005CH(B)0017H(C)1700H(D)05C8H 49下列指令中不会改变指令指针寄存器内容的是()。(A)MOV(B)JMP(C)CALL(D)RET
13、50伪指令 ENDP 告诉汇编程序()。(A)宏定义结束(B)过程定义结束(C)段定义结束(D)过程运行结束 51利用 DOS 系统功能调用的 9 号(AH=9)功能,显示一个字符串,其入口参数应为()。(A)DS:DX=字符串首地址(B)DS:DX=字符串末地址(C)CS:DX=字符串首地址(D)CS:DX=字符串末地址 52在下列伪指令中定义双字变量的是()。(A)DB(B)DW(C)DD(D)DT 二、判断题 1指令 MOV AX,的源操作数是寄存器寻址方式。2对堆栈区的操作必须遵循先进先出的原则。3比较两个带符号数的大小,可根据 CF 标志来判断。4逻辑操作符 AND,OR,XOR 和
14、 NOT,只能用于数字表达式。5不能给段寄存器赋立即数。6OF 位可用来表示有符号数的溢出。欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!7无条件转移指令只能用于段内直接转移。8MOV AX,的源操作数的物理地址为 16*(DS)+(BP)。9指令 MOV DI,OFFSET 是正确的。10指令 MOV CS,BX 是非法的。11指令 NOT AX,BX 是合法的。12MOV,AX 是对的。1380486 中对堆栈单元的存取操作是以字节为单位的。14JMP 指令要影响标志位。15INC 指令影响所有状态标志。16欲交换寄存器 SI,DI 的内容,
15、可用指令 XCHG SI,DI 实现。17CPU 中的程序计数器 IP 中存放的是指令的逻辑地址。18两个符号相同的数相减不会产生溢出。19汇编程序就是汇编语言程序。20相对寻址中的位移量只能用 16 位表示。21CLD 指令是 MOVSB指令的使用条件之一。22段寄存器间不能直接进行数据传送。23要把变量 BUFF 的有效地址送给 BX,可用 MOV BX,BUFF 指令。24当对堆栈段的数据进行操作时,其操作数的有效地址可保存在 BP 中。25TEST 指令属于逻辑运算指令。26CS 和 IP 都不能作传送指令的目的操作数。三、填空题 1若 SS=5310H,SP=0E30H,其物理地址为
16、()。2若 CH=07H,CL=08H,执行指令 ADD CH,CL 后,AF=(),CF=(),OF=(),PF=()。3指令由()和()两个字段构成。4 条件转移指令 JNE 的测试条件是()。5若用指针(BP)访问存储器,则数据包含在()段中。6 若 AX=1234H,SP=1000H,指令 PUSH AX 执行后 AX=(),SP=()。7指令采用()寻址方式时操作数是在代码段中。四、阅读程序 1 程序中数据定义如下:DA TA1 DW?DA TA2 DB 32 DUP(?)DA TA3 DD?COUNT EQU$-DA TA1 此时 COUNT 的值是()。2分析下列程序段,说出其功
17、能。MOV AX,1000H MOV DS,AX MOV ES,AX MOV SI,0100H MOV DI,0200H MOV CX,50D REP MOVSB 3 写出下列程序段的功能 MOV BX,2000H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!MOV DS,BX XOR AL,AL MOV CX,100 AGAIN:MOV,AL INC BX LOOP AGAIN 4写出下列程序段的功能 LEA SI,BUFFER LEA DI,ARRAY MOV CX,100 XOR BL,BL LP:CMP,01H JNZ LP1 INC
18、BL LP1:INC SI LOOP LP MOV,BL 5写出下列程序段的功能 MOV CX,16 MOV AX,N MOV BH,0 LP0:SHL AX,1 JC LP INC BH LP:LOOP LP0 MOV SUM,BH 6写出下列程序段的功能 MOV AL,N AND N,0FH MOV BL,N SHR AL,4 MOV BH,AL 7执行下列程序段后,AX=?MOV AX,0702H MOV BH,09H AAD DIV BH 8下面程序段执行后 AL=?ABC DW 2152H,3416H,5731H,4684H MOV BX,OFFSET ABC MOV AL,3 XL
19、A T 9执行下面的程序段后 AX=?MOV CX,5 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!MOV AX,50 NEXT:SUB AX,CX LOOP NEXT HLT 10 执行下面的程序段后 AX=?TAB DW 1,2,3,4,5,6 ENTRY EQU 6 MOV BX,OFFSET TAB ADD BX,ENTRY MOV AX,11 执行下面程序段后 AX=ARRAY DW 1,2,3,4,5,6,7,8,9,10 COUNT EQU$-ARRAY XOR AX,AX MOV CX,COUNT MOV SI,OFFSET A
20、RRAY NEXT:ADD AX,INC SI LOOP NEXT 12写出下列程序段的功能 MOV AH,1 INT 21H AND AL,0FH MOV BL,AL MOV AH,1 INT 21H SHL AL,4 AND AL,BL 将从键盘接受到的两个字符拼在一起 13执行下列程序段后 N DB 07H XOR BH,BH MOV BL,N RCL BL,1 ADD BH,BL XOR BH,0FFH HLT 寄存器 BH 的值是,寄存器 BL 的值是。14 分析下列程序段 MOV AL,N XOR AH,AH MOV CL,4 DIV CL 当 N=3CH 时,程序执行完后 AX=
21、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!15程序段如下:CLC MOV AL,6 MOV BL,9 ADD AL,BL MOV BL,AL DAA 执行上面程序段后,AL=,AF=,BL=16执行下列指令后 TABLE DB 19H,55H,9CH LEA BX,TABLE MOV AL,XOR AL,89H MOV,AL 寄存器 AL 的值是 17分析下列程序段,说明该程序段执行何种功能。MOV CX,10 MOV DL,30H NEXT1:MOV AH,2 INT 21H INC DL LOOP NEXT1 18执行下列指令后 MOV
22、AX,1245H MOV BX,5689H ADD AL,BL MOV CL,AL MOV AL,AH ADC AL,BH DAA 寄存器 AL 的值是,寄存器 CL 的值是 19分析下列程序段:MOV AL,N XOR AH,AH MOV BL,16 DIV BL 当 N=57H 时,程序执行完后 AX=?20在下面程序的括号中分别填入如下指令:LOOP XH LOOPNE XH LOOPE XH 问在这三种情况下,当程序执行完后,AX、BX、CX、DX 四个寄存器中的内容分别是什么?START:MOV AX,04 MOV BX,02 MOV CX,03 MOV DX,05 欢迎您阅读并下载
23、本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!XH:INC AX ADD BX,AX SHR DX,1()HLT 21阅读程序,请说出该程序的功能是什么?MOV AX,DA TA MOV DS,AX LEA SI,BUFFER XOR BL,BL MOV CX,100 AGAIN:MOV AL,TEST AL,1 JNZ NEXT INC BL NEXT:INC SI LOOP AGAIN HLT 22从键盘上接收一字符,若是“Y”转 YES,是“N”转 NO,否则继续等待,到输入“Y”或“N”为止。程序段如下:MOV AL,N AND AL,0FH ADD A
24、L,90H DAA ADC AL,40H MOV RUT,AL HLT 问:若 N=5,下列程序执行后 AL=?该程序段的功能是什么?23执行下列程序段后:DA TA SEGMENT DT1 LABLE WORD DT2 DB 12H,34H DA TA ENDS MOV AL,DT2 MOV DX,DT1 寄存器 AL 的值是 ,寄存器 DX 的值是 。24读下列程序,请说出该程序的功能是什么?DA TA SEGMENT SUM DW 0 DA TA ENDS STACK SEGMENT DB 200 DUP(?)欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您
25、提供优质的文档!STACK ENDS CODE SEGMENT ASSUME DS:DA TA,SS:STACK,CS:CODE START:MOV AX,DA TA MOV DS,AX MOV CX,50 第 2 章 指令系统及汇编语言程序设计 一选择题 1(D)2(A)3(C)4(D)5(A)6(D)7(C)8(C)9(C)10(D)11(D)12(C)13(C)14(A)15(A)16(D)17(B)18(C)19(C)20(C)21(D)22(D)23(D)24(C)25(A)26(A)27(B)28(C)29(B)30(D)31(B)32(C)33(C)34(A)35(C)36(D)
26、37(D)38(A)39(B)40(C)41(D)42(D)43(B)44(C)45(C)46(B)47(B)48(D)49(A)50(B)51(A)52(C)二、判断题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 20 21 22 23 24 25 26 三、填空题 153F30H 2 0 ;0;0;1 3操作码;操作数 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!4 ZF=0 5SS 6 1234H,0FFEH 7立即 四、阅读程序 1 38(或 26H)2将以 10100H起始的 50 个
27、单元的内容传送至以 10200H起始的 50 个单元中 3 将数据段中以 2000H 起始的 100 个单元中的内容清零 4统计以 BUFFER 为首址的 100 个单元中数字为 1 的个数存入 ARRAY 单元 5统计 N 字中 0 的个数 6将 N 的内容拆为两部分分别存入 BH,BL 中 7AX=0008H 8AL=34H 9AX=23H 10 AX=0004H 11 AX=0055H 12 将从键盘接受到的两个字符拼在一起 13BH=0FFH,BL=0EH 14 AX=000FH 15AL=15H,AF=1,BL=0FH 1690H 17向屏幕上依次输出 0,1,。9 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!18AL=68H,CL=CEH 19AX=0705H 20 AX=0007H,BX=0014H,CX=0,DX=0 AX=0007H,BX=0014H,CX=0,DX=0 AX=0005H,BX=0007H,CX=0002H,DX=0002H 21程序的功能是:统计以 BUFFER 为起始地址的 100 个单元中偶数的个数。22 35H 将十六进制数转换为 ASCII 码 23 12H 3412H 24程序的功能是:求从 1 开始的 50 个奇数之和。