浓缩版复习题.doc_第1页
浓缩版复习题.doc_第2页
浓缩版复习题.doc_第3页
浓缩版复习题.doc_第4页
浓缩版复习题.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习 题一、选择题1. 以8086/8088为CPU的微机内存最大容量为(B)。B. 1MB2. 下列四个寄存器中,不允许用传送指令赋值的寄存器是(A)。A. CS3. 指令MOV AX,10SI的源操作数字段的寻址方式是(C)。C. 寄存器相对寻址4. 指令MOV 100SIBP,AX的目标操作数的隐含段为(B)。B. 堆栈段5. 一个字节所能表示的无符号整数数据范围为( B)。B. 02558. 当执行完下列指令序列后,标志位OF和CF的值为(D)。D. 1,1 MOVAL,0C4H ;ADDAL,9DH9. 当执行完下列指令序列后,标志位OF和CF的值为(B) B. 0,1 MOVAH, 00H; SUBAH,32H10. 当执行完下列指令序列后,标志位OF和CF的值为(D)。D. 1,1 MOVAH,80H;NEGAH11. 已知AL,BX为无符号数计算AL*BX的乘积用下述程序段(C )。C.XOR AH,AH;MULBX14. 指令JMP WORD PTRBX 转移的目标地址是 ( D )D. BX指出的内存单元之内容15. 当AB时转移的条件转移指令为(A、B为带符号数) ( D )D. JGE16. 已知X,Y为带符号数, 两数比较后, 欲判断XY发生转移, 应使用指令 ( C )C. JNG 17. 当执行完下述指令序列后标志位CF和OF的值为 ( B ) B. 0, 1 MOV AH,73H;ADD AH,AH20. NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行。 ( C )C. MOV BX, NEXT ;JMP BX 21. 循环控制指令隐含指定哪个寄存器作为循环计数器。 ( B )B. CX22. 循环控制指令与循环体入口指令的距离只能在什么范围内。( A )A. -12612923. 在循环次数已知的情况下,采用哪种方法控制循环程序最方便。( B )B. 倒计数法24. 当CX=0时,REP MOVSB执行的次数为。 ( B )B. 0次25. 已知CALL BX执行前SP=100H, 执行后SP的内容为 ( D )D. 0FEH 26. 已知CALL DWORD PTRBX执行前SP=100H, 执行后SP的内容为 ( B )B. 0FCH 27. 已知SUBR是一个属性NEAR的子程序, 下述调用SUBR子程序的指令序列中, 哪一个不能实现调用SUBR的目的。 ( C ) C. MOV BX, OFFSET SUBR ;CALL NEAR PTRBX 28. 已知RET指令是属性为NEAR子程序中的返回指令, 执行RET前SP=100H,执行后SP的内容为 ( A )A. 102H 29. 已知RET指令是属性为NEAR子程序中的返回指令, 执行RET 4前SP=100H,执行后SP的内容为( B )B. 106H 30. 8086/8088 CPU的I/O指令可以采用的寻址方式为( D )。D. 直接寻址与间接寻址31. 8086/8088 CPU的I/O指令,采用间接寻址时,可用的间址寄存器是( B )。B. DX32. 8086/8088 CPU的I/O指令用直接寻址访问端口的地址空间为( A )。A. 00FFH33. 十进制数-100的8位二进制数的补码为( C)。C. 1001110034. 下列是8位二进制数的补码,其中真值最大的是(D)。D. 0000000135. 16位有符号数的补码所表示的十进制数的范围是(B)。B. -32768+3276738. 下列指令中,执行后对标志未发生影响的是_ A,B,E,F,H,I,M,O _。 A. MOV AX,BX;B. PUSH AX;E. JB NEXT;F. CALL SUBB;H. MOVSB;I. LEA DX,BUF;M. NOT CX;O. XCHG AX,BX39. 下列指令中,执行后,不改变标志位ZF的是(D)。D. ROR AL,CL40十六进制数88H可表示成下面几种形式请找出错误的表示(D )D。8位二进制数8的补码表示41指令指针寄存器是(A )。AIP42当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是(D )。D表示结果中低八位含1的个数为偶数43完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(A )。AMOV AL,00H44下列指令执行后总是使CF0,OF0的是(A )。AAND45完成同指令XCHG AX,BX相同功能的指令或指令序列是(D )。DMOV CX,AX;MOV AX,BX;MOV BX,CX46设AH0,AL06H,BL09H,执行指令ADD AL,BL;AAA 之后,其结果应是(A )AAH01,AL0547. 有数据定义NUM DB 12345,经汇编后,NUM占有(B )字节存储单元。B5 48在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(C )。CCX0或ZF0 49下面指令中,合理而有意义的指令是(D )。DREP MOVSB50在汇编语言程序中对END语句的叙述正确的是(C )CEND语句表示源程序到此结束51下面的数据传送指令中,错误的操作是(A )。AMOV SS:BX+DI,1000H52下面指令执行后,变量DAB中的内容是(C )。C0F5HDAW DW2A05H;DAB DB 0FAH;:;MOV AL,BYTE PTR DAW;SUB DAB,AL53执行下列指令后,正确的结果是(B )。BAL64H;BL0FEHMOV AL,100;MOV BL,254设数据段中已有:DA1 DB 12H,34H;DA2 DW 56H,78H下面有语法错误的语句是(B )。BMOV DA11,AX55实现将DX:AX中存放的32位数扩大四倍,正确的程序段是(C )。CMOV CX,2;LOP:SHL AX,1;RCL DX,1;LOOP LOP56 DATA SEGMENT;TA1 DW 0102H,0304H,0506H;TA2 DB 02H,03H,04H;:;MOV BX,DS:0006H;AND BX,0FFH;OR BH,BX上述指令序列运行后,BX的内容是(B )。B0402H 57当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是(C )。CJNLE 58下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为(A )。指令:TEST BH,01H;K1 ; 答案: AJNE ; 59测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是(B )。BXOR BL,4FH; JZ NEXT91BUF1 DB 3 DUP(0,2 DUP(1,2),3); COUNT EQU $-BUF1;符号COUNT等价的值是(B )B1892DA1 DW 2A05H;DA2 DB 0FAH;MOV AL,BYTE PTR DA1;SUB DA2,AL 上述指令执行后,DA2中的内容是(C )C. 0F5H 93设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是( A )A.33CECH 102.有指令MOV AX,1234H,指令中的立即数1234H是存储在(B )B.代码段 103要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C )CBUF DB 9 DUP(?)104已知AL56H,BL34H,都是压缩BCD码,要执行两数相加,正确的指令是(A )AADD AL,BL ;DAA 二、判断题。1. MOV AX,DX F ;2. MOV BX,SI F3. CMP DX,15 T ;4. SHR AX,4 F5. MOV BX,AL F ;6. MOV DS,1000H F7. TEST AX,21H T ;8. MOV AL,BX T9. MOV SI,35H F ;10. MOV AL,512 F11. 乘法指令MUL中被乘数在AX或DX:AX中存放 F12. LOOP指令是与寄存器CX相关联的 T13. CS代码段与DS数据段不可以指向同一位置 F14. 在汇编语句中,“299”并不一定就是十进制 T15. OF为1时,说明溢出,计算出现错误 F16. 指令“MOV AX,WORD PTR 2000H”是正确的 T18. “MOV AX,0”与“XOR AX,AX”结果一致 T17. I/O接口地址是8位的 F 19. OUT BX,AX F 20. MOV SI,SI T 21. OUT DX,AX T22. MOV 10,AL F 23. OUT 2F8H,AL F24. PUSHAL F 25. MOV DS,CS F26. ADDSI,BX F 27. ADD AX,100 T28. ADDAX,BL F 29. ADD SI,100 F30. MUL5 F 31. DIV5 F32. SHRAX,CX F 33. SHR CX,1 T34. SHRAX,3 F 35. IN AL,DX F三、填空题1. 已知某内存单元的段值和偏移分别为2010H和100H,则该单元的物理地址为(20200H )。2. 已知BX=1000H,SI=2000H,DI=3000H,BP=4000H,则地址表达式BX+100H、DIBP和2000HSI的值分别为(1100H)、(7000H)和(4000H)。4. 8088/8086CPU内部寄存器有(14)个 ,其中的(AX,BX,CX,DX )是通用寄存器,( BP,SP,SI,DI )是基址和变址寄存器,(CS,DS,SS,ES )是段寄存器,此外还有指令指针寄存器(IP)和标志位寄存器(PSW )两个控制寄存器,所有寄存器都是(16)位寄存器,每个寄存器可以存放(16)位二进制数。5. 8088/8086CPU的标志位寄存器中有(9)个标志位,其中的(IF,TF,DF )是控制标志,(SP,PF,OF,CF,ZF,AF)是状态标志。7. 8088/8086CPU的存储器采用分段方式管理,每个段最多可以有(64K)字节,全部存储空间可以分成(16)个大小为64K且互相不重叠的段。8. 采用分段方式管理的存储单元的地址分成(物理地址)和逻辑地址两种,逻辑地址由(段地址)和(偏移地址)两部分构成,段地址是每个存储器段的(首地址);偏移地址则是相对于每个段第一个存储单元的(位移量)。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的(高16)位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是(物理地址段地址10H偏移地址)。9. 存储器中,数据是以(字节)为单位存放的,它是一个(8位)二进制数,16位二进制数是(2个字节),又称为(字);每个存储单元可以存放一个(字节);一个字则占用两个存储单元,存放时要将(低字节)放在地址较小的存储单元中。12. 汇编语言程序语句构成,汇编语言的语句分成(指令、伪指令和宏指令)三类。语句通常由(名字项,操作项,操作数项,注释项)四部分构成。13. 指令语句在汇编时被翻译成(机器)指令,指示语句则在汇编时由(汇编程序解释)执行,而不被翻译成机器语言指令。14. 数据定义伪指令的功能是(为一个数据项分配存储单元),通常使用的数据定义伪指令是(DB,DW,DD)。15. 符号定义伪指令EQU的功能是(为一个能求出常数的表达式或助记符定义一个别名),通常用它定义常数。16. 用汇编语言编写的程序称为(汇编源程序),它必须用(汇编)程序将它转换成二进制的机器语言程序,这种机器语言程序称为(目标程序),而转换的过程称为(汇编)。它还必须用(连接)程序连接,才能生成可执行的程序。17汇编语言源程序扩展名是(ASM)目标程序的扩展名是(OBJ)可执行程序的扩展名是(EXE)。20. 执行指令CALL SUBB时,所要保护的断点在(IP)寄存器中,而执行指令CALL FAR PTR SUBB时,所要保护的断点在(CS,IP)寄存器中。21. 请用一条指令实现如下操作:(1)将AX中划X的位清0; 指令:(AND AX,0FFCFH)15 5 4 0(2)寄存器的低四位取反:(XOR AL,0FH)22. 三个重复前缀指令为(REP REPE REPNE)。23. DB指令以(1个字节)为单位分配存贮;DD指令以(4个字节)为单位分配存贮。故如下数据定义:V1DB4DUP(2),2;COUNTEQU10;V2DDCOUNT DUP(?)为变量V1分配(5)个字节存贮;为变量V2分配(40)个字节存贮。24. 设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,则(1)指令MOVAX,BP+SI+2的源操作数有效地址为(02E2H),物理地址为(253E2H)(2)指令MOVAX,DI+100H的源操作数有效地址为(0306H),物理地址为(21706H).25. 8086/8088CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为(1M)个字节;另一个为(I/0空间),其大小为(64K)字节.26.设(AX)=1000H,(BX)=2340H执行了指令CMPAX,BX后,CF标志值为(1),ZF标志值为(0)。27汇编语言是一种面向(机器)的语言把源程序翻译成机器语言目标程序由(汇编程序)完成2.80868088指令系统可分为六大类,其中 (控制转移类)指令执行后,不会影响状态标志。29在80868088CPU控制寄存器中,(CS:IP)寄存器内容始终指向下一条指令的首地址,此时该指令物理地址计算式是 (CS10H+IP)。30已知 DS2000H,BX0D00H,(20D00H)0,(20D01H)92H, (1)执行 DEC BYTE PTRBX (20D00H)(0FFH),(2)执行 ROL WORD PTRBX,1 (20D00H)(01H),(20D02H)= (24H)。31已知 DS3000H,DI1200H,(31200H)64,(31201H)=93H,执行 NEG WORD PTR DI后,(31200H)(9CH),(31201H)=(6CH)。32己知 DS1A00H,ES2D00H,SS=1B80H,BX=100H,BP=40H,DI20H,计算下列源操作数物理地址.(1)OR AX,BP 物理地址 (1B840H); (2)SUB AX,ES:BX+DI 物理地址 (2D120H)。33己知X1 DW 0ABCDH将X1用 DB定义原来数据区中内容保持不变X1 DB (0CDH),(0ABH)。34己知BX1000H,执行:MOV AX,BX;NEG AX;ADD BX,AX 则程序执行后,AX(0F000H),BX(0),CF(1)。358086/8088CPU允许最大的存储空间为1MB,因此CPU的地址总线是 (20)位。36一个语句的名字项可以是标号或变量,在程序中它们两个在书写形式上的主要区别是 (标号后跟冒号,变量后为空格)。37无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如,JL指令另一个指令助记符是(JNGE)。38指令 MOV AX,SEG BUF的执行,是把 (BUF的段地址)送到AX中。41在程序调试时,显示某指令存放地址是2340:0056,则物理地址是(23456H)。42汇编语言源程序中的语句有三种类型是(硬指令)语句(伪指令)语句和(宏指令)语句。43指令 MOV AX,BX+SI+10H 源操作数寻址方式是(相对基址变址寻址)。44. 执行段间返回指令RET时将栈顶的一个字弹出到(IP)后又弹出一个字到(CS)寄存器中。45己知数据定义语句ORG 120H 执行MOV AX,VECT1 AX=(200H)VECT1 DW 200H MOV BX,VECT2 BX=(120H)。VECT2 DW VECT1四、简答题3. “PUSH AX”语句执行的操作是什么?答:AH(SP1)AL(SP2) SPSP27. CS段,DS段,ES段,SS段分别是干什么的?代码段寄存器CS:存放当前执行的程序的段地址。数据段寄存器DS:存放当前执行的程序所用操作数的段地址。堆栈段寄存器SS:存放当前执行的程序所用堆栈的段地址。附加段寄存器ES:存放当前执行程序中一个辅助数据段的段地址。8. REP的作用是什么?“MOVSB”具体是如何执行的?答:REP作用使其后面的串指令重复执行,每执行一次CX自动减1,直到CX0 MOVSB具体执行,将数据段中偏移为SI的一个字节送到附加段中偏移为DI的一个字节单元中,同时SI,DI均增1或减1(DF0时为“+” DF=1时为“-” )9. 中断向量表是什么?在存储器的什么地方?答:是中断入口地址集中存放的区域,以4个字节存放一个断入口,偏移与段地址的形式,依次存放0255号中断的中断入口。存放在存储器开始的1KB区域内,即地址为00000H003FFH10.堆栈的特点是什么?后进先出从高地址往低地址存放以字为单位存放SP永远指向栈顶。11完成下列操作选用什么指令(1)将AX的内容减去0520H和上次运算的借位;答:SBB AX,0520H (2)将变量名TABL的段地址送AX。答:MOV AX,SEG TABL12D1 DB 0H DUP(?);D2 DW D1写出用一条指令实现取D1的偏移地址SI中的三种方法。答:MOV SI,OFFSET D1;LEA SI,D1;MOV SI,D213. 定义一个宏及展开一个宏的具体做法。定义宏:macro name MACRO dummy parameter list(宏定义体)ENDM宏的调用:Macro name actual parameter list五、阅读程序,回答问题2. 写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。DATA1 DB 101B,-15,AB;DATA2 DW -15,AB;答:DATA1 DATA205H0F1H41H42H0F1H0FFH42H41H4. 下面的子程序不完整,将它补充完整。 子程序的说明文件如下:子程序名:FMAX;子程序功能: 从一组带符号的字节数据中寻找一个最大数;入口条件: DS:SI=数据的首地址, CX=数据的个数;出口条件: AL=最大数; 答案:(JGE FMAX2);(MOV AL,SI); 5. 依据下述子程序说明文件把子程序补充完整。(1)子程序名:AVE(2)子程序功能:求一组无符号字节数据的平均值(3)入口条件:数据首地址在SI中,数据个数在CL中(4)出口条件:平均值在AL中(5)受影响的寄存器:AX和F答案:(XOR AX,AX);(INC SI)6.依据下述子程序说明文件把子程序补充完整。(1)子程序名:MADD(2)子程序功能:求两个多字节数据之和(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中(4)出口条件:和的低字节地址在SI中(5)受影响的寄存器:F答案:(CLC);(ADC SI,AL );(INC SI);(INC DI);(RET)7. 依据下述子程序说明文件把子程序补充完整。(1)子程序名:MSUB(2)子程序功能:求两个多字节数据之差(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中(4)出口条件:差的低字节地址在SI中(5)受影响的寄存器:F答案:(CLC);(SBB SI,AL);(INC SI);(INC DI);(RET)10. ;MOV DX,378H;MOV AL,A;OUT DX,AL;答:该程序段的功能为:将字符“A“送到时地址为378H的IO端口中。11.;GETCH MACRO;MOV AH,1;INT 21H;ENDM答:该程序段为:定义宏GETCH ;其功能为:功能为从键盘接收一个字符送到AL中。12. ;DATA1 DQ ?;DATA2 DQ ?;MOV CX,4;SUB BX,BX;NEXT:;MOV AX,DATA2BX;SBB DATA1BX,AX;INC BX;INC BX;DEC CX;JNZ NEXT;答:该程序段的功能为:将四字数DATA1减去四字数DATA2,其差放DATA1中。13.;OLD20H DD ?;NEW20H:;CMP AL,“Q”;JNZ NEXT;JMP DWORD PTR OLD20H;NEXT:;MOV AH,4CH;INT 21H 答:程序段功能:AL不为Q则返回DOS否则跳转到OLDIOH中存放的数为偏移及段的另一段中16.MOV AL,0;MOV BL,0;MOV CX,10;L1:INC BL;INC BL;ADD AL,BL;LOOP LI;HLT答:程序的功能是将20以内的偶数相加。17.X DB 14;Y DB 4 DUP(?);MOV SI,OFFSET Y;MOV AH,0;MOV AL,X;MUL AL;MUL AX;MOV WORD PTRSI,AX;INC SI;INC SI;MOV WORD PTRSI,DX;HLT答:程序执行后X和Y的关系是YX4。18.MOV AX,4BD5H;MOV BL,0;MOV DL,0;MOV CX,16;L1: SHL AX,1;JCL2;INC BL;JMP L3;L2: INC DL;L3: LOOP L1;HLT答:程序的功能计算AX中0与1的个数,0个数放BL中,1个数放DL中,程序执行后BL=7,DL=9,AX=0。21现有下列程序段:MOV AX,6540H;MOV DX,3210H;MOV CL,04;SHL DX,CL;MOV BL,AH;SHL AX,CL;SHR BL,CL;OR DL,BL答:试问上述程序段运行后,(AX)5400H (BL)06H 22分析下面程序段:MOV AL,200;SAR AL,1;MOV BL,AL;MOV CL,2;SAR AL,CL;ADD AL,BL答:试问程序段执行后(BL)0E4H (AL)=0DDH 23程序段如下:BLK1 DB 46,84,34,-5,20,122,73;MOV CX,7;LEA SI,BLK1;NEXT:MOV AL,SI;INC SI;TEST AL,81H;LOOPZ NEXT;MOV BL,SI答:请问答程序段运行后:(AL) -5(BL)2024STRING DB ABCDEFGHJ;MOV AH,01;从键盘输入字符19;INT 21H;AND AL,0FH;DEC AL;XOR AH,AH;MOV BX,OFFSET STRING;ADD BX,AX;MOV DL,BX;MOV AH,02H;显示输出;INT 21H;试回答:(1)上述程序段的功能是什么?答:从键盘上输入一位数(19),则输出字符串ABCDEFGHJ中对应的第几个字符。(2)如从键盘输入字符4,程序段有什么结果? 输出D25 AND AL,AL;JZ BRCH1;RCR AL,1;JZ BRCH2;RCL AL,1;INC AL;JZ BRCH3;上述程序运行后,试回答:(1)当(AL)=_ 0_时,程序转向BRCH1。(2)当(AL)=_ 01H _时,程序转向BRCH2。(3)当(AL)=_ 0FFH 时,程序转向BRCH3。六、写出完成下列功能的程序段11将首地址为BCD_BUF存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。MOV AL,BCDBUF;ADD AL,BCDBUF1;DAA;MOV BCDBUF2,AL12将AL中的两位BCD码分离,分别存放DL和DH中。MOV CL,4;MOV DH,AL;SHR DH,CL;MOV DL,AL;AND DL,0FH13将DL中的低4位二进制数转换成16进制数的ASCII码。AND DL,0FH;OR DL,30H;CMP DL,3AH;JB P;ADD DL,7H;P:14将AL中的8位二进制数高4位和低4位交换。MOV CL,4 ;ROL AL,CL23. 利用移位、传送和加法指令,完成AX与10的乘法运算。SHL AX,1;MOV BX,AX;SHL AX,1;SHL AX,1;ADD AX,BX24. 编写指令序列,测试DL寄存器的低4位是否为0。AND DL,0FH JZ 低4位为0处理程序的语句标号25. 用尽可能少的指令分别实现下述功能 如果AH的第4,3位为11,则将AH清0,否则置全1。 AND AH,18H;XOR AH,18H;JZ P1;MOV AH,0FFH;P1: 如果AH中的数据为偶数, 则将AL清0, 否则将AL置0FF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论