C.MOV CS,DATA D.MOV AX,DATA
MOV DS,CS MOV DS,AX
65. 下列描述错误的是______B_____。
A.LOOP指令以CX为循环计数器
B.LOOPE指令循环的条件是CX不等于0且ZF=0 C.LOOPE指令循环的条件是CX等于0且ZF=1 D.LOOPNE指令循环的条件是CX不等于0且ZF=0
66. 串处理操作需要循环重复执行,__D____不能出现在串处理指令中。 A.REP B.REPZ C.REPNZ D.LOOP
源串必须在数据段,目的串必须在附加段
67. 在串传送指令中,串的转送方向由_A_____标志位决定。 A.DF B.CF C.ZF D.OF
68. 串传送指令中,源串和目的串的偏移地址由____C__寄存器指出。 A.BX和DX B.DS和DX C.SI和DI D.SI和CX 69. 串扫描SCAS指令要求目的串放在_D_____中。 A.数据段 B.代码段 C.堆栈段 D.附加段 70. 串扫描SCASW指令隐含地将___A___寄存器作为查找的内容。 A.AX B.BX C.CX D.AL
71. LOOPNE指令的循环计数值放在___C___寄存器中。 A.CL B.BX C.CX D.IP
72. 循环指令的控制条件除CX寄存器之外,还可把标志位____C__作为控制条件。 A.CF B.SF C.ZF D.OF 73. 循环指令LOOPNZ终止循环的条件是__B____。 A.CX=0且ZF=0 B.CX=0或ZF=1
C.CX产0且ZF=0 D.CXv~0或ZF=0
74. 串传送指令MOVSW,执行CLD指令后,每传送一次,串的___B___。
A.偏移地址+1 B.偏移地址+2 C偏移地址-1 D.偏移地址-2
75. 在串处理指令中,设置方向标志为1的指令是__A____。
A.STD B.CLD C.HLT D.CWD
第六章 子程序结构
76. 如果子程序的属性为FAR,下列说法错误的是_A____。
A.可以段内直接调用 B.可以段间间接调用 C.可以段间直接调用 D.只能段间调用
77. 在子程序调用过程中,断点指的是___C___。
A.CALL指令本身 B.CALL的下一条指令 C.CALL的下一条指令的地址 D.子程序名
6
78. 执行CALL SUBRl指令后,完成的操作是_B_____。
A.将SUBRl的偏移地址入栈保存 B.将断点的偏移地址入栈保存 C将断点的偏移地址→IP D.将SUBRl的段地址→CS,偏移地址→IP
79. 子程序的属性是用___B__定义的。+06
A.CALL指令 B.PROC过程定义伪指令 C.FARPTR D.RET指令
80. 执行段间返回RET指令时,从堆栈中___AA___。
A.先弹出断点的偏移地址,再弹出段地址 B.先弹出断点的段地址,再弹出偏移地址 C.弹出断点的偏移地址 D.弹出断点的段地址
81. 子程序结构中,保存现场指的是_B____。
A.保存CALL指令 B.保存断点的地址
C.保存主程序用到的寄存器 D.保存子程序用到的寄存器
82. 用CALL指令调用子程序时,从子程序返回到主程序___C__。
A.用JMP指令 B.用INT21H指令
C.只能用RET指令 D.既可以用RET又可以用JMP
83. 如果在子程序中进行了现场保护,那么子程序中__A___。
A.恢复现场在RET指令之前 B.恢复现场在RET指令之后
C.直接用RET指令返回 D.直接用JMP指令返回
第七章 宏汇编
84. 有关宏的作用,下列说法不正确的是______。
A.宏可以被多次调用 B.宏调用时不用保存断点 C.宏定义体中不可以有标号 D.宏展开是汇编程序完成的
85. 宏定义时,是通过_A_____实现参数传递的。
A.哑元和实元 B.堆栈 C.寄存器 D.存储单元
86. 宏调用是通过___C__实现的。
A.汇编指令 B.宏指令 C.宏展开 D.机器指令
87. 宏定义的伪指令是___A__。
A.PROC..ENDP B.macRO..ENDM C.SEGMENT..ENDS D.STRUC...ENDS
88. 宏定义体中的标号通过______伪指令用来指定。
A.PUBLIC B.MACRO C.EXTRN D.LOCAL
89. 有关宏展开的说法正确的是______。
A.在宏展开时,所有的伪指令被加入 B.用宏定义体替换宏指令 C.哑元表中的哑元仍然保留 D.可以将宏指令变为机器代码
90. 宏与子程序的区别是______。
7
A.宏可以被多次调用 B.宏是一段程序 C.宏可以实现参数传递 D.宏调用时不用返回
第八章 输入输出程序设计
91. 下面哪个指令的是将一个字符数据输出到端口25H的正确指令。A.out 25h, al B.out al, 25h C.mov 25h,al D.mov al,25h
92. 下面哪个指令的是将一个字数据从端口1000H输入的正确指令。Mov dx,1000h In ax,dx
A.in 1000h, al
B.in al, 1000h
C.mov 1000h,al D.mov al,1000h
93. CPU对软件中断的处理,下列说法正确的是______。
A.中断允许标志IP必须为1
B.通过8259A中断控制器管理中断 C.不需要得知中断类型号
D.执行INTn指令时立即转入中断处理
94. 在中断处理系统中,中断向量指的是___C___。
A.中断类型号 B.中断子程序 C.中断子程序的入口地址 D.中断源
95. 有关中断向量表的说法正确的是__C____。
A.中断向量表就是中断向量
B.中断向量表中保存的是中断向量 C中断向量表中保存的是中断类型号 D.中断向量表中保存的是中断子程序
96. 在8086指令系统中,取出中断向量的指令是______。
A.MOV AH,35H B.MOV AH,25H INT 21H INT 21H
C.MOV AH,31H D.MOV AH,4CH INT 21H INT 21H
97. 编写中断子程序时,下列说法错误的是___B___。
8
A.允许中断嵌套 B.不允许开中断
C.应该保护和恢复现场 D.必须用IRET指令返回
第九章 BIOS和DOS中断
98. 从键盘输入一串字符使用DOS功能调用的__D__。
A.1号功能 B.2号功能 C 9号功能 D.10号功能
99. DOS功能调用中,功能号应写入__B___寄存器中。
A.AL B.AH C DL D.DH
100.显示一个字符的DOS功能调用要求将字符放入___D__。
A.DS:DX B.DS:BX C.BL D.DL
第二部分 概念及简答
1. 请将左边的词汇和右边的说明联系起来,括号内填入所选的A,B,C…。
(1) CPU M. 分析、控制并执行指令的部件,由算逻单元(ALU)和寄存器组等组成。 (2) 存储器 C.存储程序、数据等信息的记忆装置,PC机有RAM和ROM两种。 (3) 堆栈 D.以后进先出方式工作的存储器空间。 (4) IP B.指示下一条要执行的指令的地址。 (5) SP A.保存当前栈顶地址的寄存器。
(6)状态标志 L. 记录指令操作结果的标志,共六位:OF、SF、ZF、AF、 PF、CF (7) 控制标志 K.控制操作的标志,如DF位
(8) 段寄存器 J.保存各逻辑段的起始地址的寄存器。PC机有四个寄存器CS、DS、
SS、ES。
(9) 物理地址 F. 唯一代表存储器空间中的每个字节单元的地址。 (10)汇编语言 H. 用指令的助记符、符号地址、标号等符号书写程序的语言。 (11) 机器语言G.能被计算机直接识别的语言。
(12) 汇编程序E.把汇编语言程序翻译成机器语言程序的系统程序。 (13) 连接程序I.把若干个模块连接起来成为可执行文件的系统程序。
(14) 指令 O. 告诉CPU要执行的操作(一般还要指出操作数地址),在程序运行时执
行。
(15) 伪指令 N.由汇编程序在汇编过程中执行的指令。
2.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
(1)MOV AX,0ABH (2)MOV AX,BX (3)MOV AX,[100] (4)MOV AX,VAL (5)MOV AX,[BX] (6)MOV AX,ES:[BX] (7)MOV AX,[BP] (8)MOV AX,[SI]
9
(9)MOV AX,[BX+10] (10)MOV AX,VAL[BX] (11)MOV AX,[BX][SI] (12)MOV AX,VAL[BX][SI]
3.1 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,
(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。 (1) MOV AX, 1200H (2) MOV AX, BX (3) MOV AX, [1200H] (4) MOV AX, [BX] (5) MOV AX, 1100[BX] (6) MOV AX, [BX][SI] (7) MOV AX, 1100[BX][SI] 答:(1) (AX)=1200H
(2) (AX)=0100H (3) (AX)=4C2AH (4) (AX)=3412H (5) (AX)=4C2AH (6) (AX)=7856H (7) (AX)=65B7H
3.2 试根据以下要求写出相应的汇编语言指令
(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。
(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送
到AL寄存器中。
(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回
存储器中。
(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。 (5) 把数0B5H与(AL)相加,并把结果送回AL中。 答:(1) ADD DX, BX
(2) ADD AL, [BX][SI] (3) ADD [BX+0B2H], CX
(4) ADD WORD PTR [0524H], 2A59H (5) ADD AL, 0B5H
1B00:2000H 1B00:2001H 1B00:2002H 1B00:2003H
8000:FF10H 8000:FF11H
?→(AL) ?→(AH) 10H FFH 00H 80H
3.6题的作图表示
2. 简述存储器的逻辑地址、物理地址和有效地址。
答:用段地址和偏移地址表示存储单元的地址为逻辑地址,逻辑地址不是唯一的,同一地址可以有不同的表示,用20位的二进制表示存储单元的地址称为物理地址,每一个地址都是唯一的,由逻辑地址形成物理地址的过程是将段地址左移4位加偏移地址。计算偏移地址是由相关项组成的,由这些相关项计算得到地址称为有效地址(EA) 3. 堆栈操作的原则是什么?堆栈操作的过程是怎样进行的?
堆栈的操作是采用后进先出的原则。堆栈操作的过程是在压栈时先将SP—2→SP,然后将要压入的字压入到SS:SP所指示的单元中;在弹栈时,先将SS:SP所指示的
10