《第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=1,
2、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)CLD
4、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查表指令 XLAT 规定,待查表的首址应存入()中。(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 若汇编时 VAR 分配的偏移地址是 2010 和,则汇编后2014H 单元的内容是()。(A)6H(B)14H(C)5H(D)16H 37若某数据段位于存储区 68000H7FFFFH,则该数据段的段基址是()。(A)68000H(B)7FFFFH(C)6000H(D)6800H
10、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 50伪
13、指令 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 和 NO
14、T,只能用于数字表达式。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指令采用()寻址方式时操作数是在代码段中。153F30H 2 0 ;0;0;1 3操作码;操作数 4 ZF=0 5SS 6 1234H,0FFEH 7立即 四、阅读程序 1 程序中数据定义如下:欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删
17、除!我们将竭诚为您提供优质的文档!DATA1 DW?DATA2 DB 32 DUP(?)DATA3 DD?COUNT EQU$-DATA1 此时 COUNT 的值是()。2分析下列程序段,说出其功能。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
18、,ARRAY MOV CX,100 XOR BL,BL LP:CMP,01H JNZ LP1 INC 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,0702
19、H MOV BH,09H AAD DIV BH 8下面程序段执行后 AL=?ABC DW 2152H,3416H,5731H,4684H MOV BX,OFFSET ABC MOV AL,3 XLAT 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
20、 EQU$-ARRAY XOR AX,AX MOV CX,COUNT MOV SI,OFFSET ARRAY 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,
21、0FFH HLT 寄存器 BH 的值是,寄存器 BL 的值是。14 分析下列程序段 MOV AL,N XOR AH,AH MOV CL,4 DIV CL 当 N=3CH 时,程序执行完后 AX=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
22、:MOV AH,2 INT 21H INC DL LOOP NEXT1 18执行下列指令后 MOV 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 问
23、在这三种情况下,当程序执行完后,AX、BX、CX、DX 四个寄存器中的内容分别是什么?START:MOV AX,04 MOV BX,02 MOV CX,03 MOV DX,05 XH:INC AX ADD BX,AX SHR DX,1()HLT 21阅读程序,请说出该程序的功能是什么?MOV AX,DATA 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,否则
24、继续等待,到输入“Y”或“N”为止。程序段如下:MOV AL,N AND AL,0FH ADD AL,90H DAA ADC AL,40H MOV RUT,AL HLT 问:若 N=5,下列程序执行后 AL=?该程序段的功能是什么?23执行下列程序段后:欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!DATA SEGMENT DT1 LABLE WORD DT2 DB 12H,34H DATA ENDS MOV AL,DT2 MOV DX,DT1 寄存器 AL 的值是 ,寄存器 DX 的值是 。24读下列程序,请说出该程序的功能是什么?DATA S
25、EGMENT SUM DW 0 DATA ENDS STACK SEGMENT DB 200 DUP(?)STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA 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
26、(C)29(B)30(D)31(B)32(C)33(C)34(A)35(C)36(D)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,0FF
27、EH 7立即 四、阅读程序 1 38(或 26H)2将以 10100H 起始的 50 个单元的内容传送至以 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 将从键盘接受到
28、的两个字符拼在一起 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 个奇数之和。