《汇编语言程序设计》模拟试卷C (闭卷)
一、选择题(选择惟一正确的答案填在括号内,每题2分,共20分) 1.操作数地址存放在寄存器的寻址方式称为( B )。 A、相对寻址
B、寄存器间接寻址
C、变址寻址
D、寄存器寻址
2.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( A )。 A、BX,BP,SI,DI B、AX,BX,CX,DX C、SP,IP,BP,DX D、CS,DS,ES,SS 3.CBW指令的功能是( B )。
A、把源操作数的符号位扩展到目的操作数中 B、把AL中的符号位扩展到AH中 C、把AH中的符号位扩展到AL中
D、把AX中的符号位扩展到DX中
4.设CL=3,AL=36H,执行ROL AL,CL后,AL中的数据是( D )。 A、36H
B、63H
C、C6H
D、B1H
5.设SP初值为3000H,执行指令POP DX后,SP的值是( B )。 A、3001H
B、3002H
C、2FFFH
D、2FFEH
6.CPU发出的访问存储器的地址是( C )。 A、逻辑地址
B、偏移地址
C、物理地址
D、段地址
7.若AX=100要得到AX=-100应执行的指令是( D )。 A、DEC AX
C、INC AX
B、NOT AX D、NEG AX
8.下列各寄存器中,即能以字的形式访问,又能以字节的形式访问的是( B )。 A、CS,DS,ES,SS C、SP,BP,SI,DI
B、AX,BX,CX,DX D、IP,PSW
9.把CL中的数据输出到端口10H中正确指令是( D )。 A、IN 10H,CL C、MOV AL,CL IN 10H,AL
B、OUT 10H,CL D、MOV AL,CL OUT 10H,AL
10.在汇编语言程序的开发过程中使用宏功能的顺序是( C )。 A、宏定义,宏展开,宏调用 C、宏定义,宏调用,宏展开
B、宏定义,宏调用 D、宏定义,宏展开
3-1
二、填空题(每空1分,共10分)
1.十进制数21对应的压缩BCD码是 (二进制形式)。
2.在做乘法运算时,如果是做字运算,乘积放在 和 两个寄存器中,做除法运算时,若
做字节运算,余数放在 中,商放在 中。 3.VAR1 DW 7 DUP(?)语句实现留空 个字节单元。
4.用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存器 的
内容作为存储器操作数的段地址。
5.在应用串处理指令MOVSB时,源串首地址存放在寄存器 中,目的串首地址存放在寄存
器 中,并且目的串必须在附加段中,执行串处理指令时,用方向标志位DF控制地址自动增减,串的长度存放在寄存器 中。
三、判断题(每题2分,共10分)
要求:正确的在括号内打∨号;错误的在括号内打×号。 1.SUB AX,BX
( )2.MOV DS,AX ( )4.CMP [CX],BX
( ) ( )
3.MOV [100],2
5.MOV WORD PTR [DI],0 ( ) 四、计算题(每题5分,共10分)
根据所给信息计算目的操作数的有效地址和物理地址。
已知:(BX)=0BBH,(BP)=5000H,(SI)=4000H,(DI)=6000H,
(ES)=2000H,(SS)=3000H,(DS)=1000H 1. SUB 200H[BX],DX 2. ADC DS:[BP],AX
五、按要求写程序段(每题5分,共10分)
1.定义数据段DATA,数据段中的数据按下列要求依次存储: (1)变量X,类型为双字,初值为2FH
(2)数组变量ARR,类型为字节,所占空间为45个单元 (3)变量CHR,存储字符串\"LUCKY\"
2.计算/9,商存于BL中,余数存于CL中。 六、编程题(共40分) 要求:程序要完整。
3-2
1.编写程序,求出变量A的绝对值,并将该绝对值放于变量B中,不允许使用NEG指令。(15分) 2.编写程序,从键盘输入大写字母显示其前导字符(不考虑输入字母是A的情况)。(10分) 3.从键盘输入一位非零的十进制数,并在屏幕上输出相应个数的字符“A”。(15分
3-3