《汇编语言》在线测试及答案共10页
- 格式:doc
- 大小:40.00 KB
- 文档页数:9
第 1 页 习题一 1.在计算机内部,计算机能够直接执行的程序语言是。 A.汇编语言B.C++语言 C.机器语言D.高级语言 2.在堆栈段中,存放栈顶地址的寄存器是。 A.IP B.SP C.BX D.BP 3.指令指针寄存器IP用来存放代码段中的偏移地址。在程序运行的过程中,它始终指向 。 A.下一条指令的首地址 B.下一条指令的地址 C.当前指令的首地址 D.当前指令的地址 4.编译程序的功能是。 A.检查源程序中的语法错误和逻辑错误 B.将源程序编译成目标程序 C.改正源程序中的语法错误 D.将高级语言源程序翻译成汇编语言源程序 5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。 A.目标程序 B.源程序 C.可执行程序 D.汇编程序 6.计算机中用来存储程序、数据等信息的记忆装置是。 A.控制器B.运算器C.CPU D.存储器 7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。 习题二 1 当 SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址 是( ) A.30100H B.30098H C.30102H D.300FEH 2 设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是( ) A.-82、-126、-2 B.-2、-125、126 C.-2、-126、-125 D.-82、-125、125 3 标志寄存器中属于控制标志位的是( ) A. DF,OF,SF B. DF,IF,TF C. OF,CF,PF D. AF,OF,SF 第 2 页
4 设(AX)=4544H,在执行指令”SUB AH,AL”之后,( ) A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0 D.CF=1,OF=1 5 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为______19____________。 6 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为 _2222H________。 7 设(AL)=70H,分析在SUB AL,9AH后,标志寄存器中CF、OF、ZF、PF、SF的状态。 CF=1,OF=1,,ZF=0,PF=0,SF=1
习题三 1、下列指令中,正确的一条是。 A)MOV BYTE PTR [BX],1000 B)MOV AX,[SI][DI] C)LEA BX,4[BX] D)MOV AX,ARRAY1+ARRAY2 2、指令 SUB AX,5[BX+DI]的源操作数的寻址方式是。 A) 寄存器寻址 B) 基址+变址寻址 C) 变址寻址 D) 直接寻址 3、假设V1和V2是用DW定义的变量,下列指令中正确的是。 A)MOV V1,V2 B)MOV V1,20H C)MOV 2000H,V2 D)MOV AL,V1 4、设在内存单元(0010H)= 12H, (0011H)= 34H,对于从0010H处取一个字的叙述正确 的是________。 A) 读出的字的值为1234H,需要访问两次存储器 B) 读出的字的值为3412H,需要访问两次存储器 C) 读出的字的值为3412H,需要访问一次存储器 D) 读出的字的值为1234H,需要访问一次存储器 5、有指令 “MOV SI,OFFSET DATA”,和它等效的指令是___LEA SI,DATA_________。 6、对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:
TABLE1 DB ? TABLE2 DW 20 DUP(?) TABLE3 DB ‘ABCD’ MOV AX,TYPE TABLE1 ; AX=① MOV BX,TYPE TABLE2 ; BX=② MOV CX,LENGTH TABLE2 ;CX=③ MOV DX,SIZE TABLE2 ; DX=④ MOV SI,LENGTH TABLE3 ; SI=⑤ AX=1,BX=2,CX=20,DX=40,SI=1.
习题四
1. MOV AL,20H 第 3 页
MOV BL,AL ADD AL,BL SBB AL,10H CBW DIV BL 上述程序段执行后,(AH)=___10H________,(AL)=___01H_______ 2. 语句”BUF DB 25”的含义是( ) A.用BUF 表示25 B.定义BUF为字节变量,初始值为25 C.从标号BUF对应的地址起分配25个单元 D.定义BUF为变量,其地址为25
3.除法指令DIV的格式中,只有一个源操作数。若其类型属性为字节,则目的操作数在_______AX__________中。 4.执行一列三条指令后,AX寄存器中的内容是( )。 MOV AX,‘8’ ADD AL,‘9’ AAA A.0071H B.0107H C.0017H D.0077H 5.逻辑移位指令SHL用于( ) A.带符号数乘2 B.带符号数除2 C.无符号数乘2 D.无符号数除2 6. CWD指令的功能是() A.把源操作数的符号位扩展到目的操作数中 B.把AL中的符号位扩展到AH中 C.把AH中的符号位扩展到AL中 D.把AX中的符号位扩展到DX中 7.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是( ) A. DIV BX B. CWD IDIV BX C. XOR DX,DX D. CBW DIV BX IDIV BX 8. 使AL中的操作数0,1位变反,其它位不变的指令是_____XOR_03H_______________。 9. 写出将寄存器BX,AX 的内容互换的正确指令是____XCHG_AX,BX___________________。 第 4 页
10. 设(AX)=2019H,执行CMP AX,2019H 后 (AX)= __2019H_________。 习题五 (1)设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是( )。 A.33CECH B.33CF2H C.33CF4H D.33CE8H
(2)若(AX )=-15,要得到(AX) =15应执行的指令是( )。 A.NEG AX B.NOT AX C.INC AX D.DEC AX (3)将累加器AX 内容清零的错误指令是( )。 A.AND AX,0 B.XOR AX,AX C.SUB AX,AX D.CMP AX,AX (4)填写执行下列程序段后的结果。 MOV DX,8F70H MOV AX,54EAH OR AX,DX AND AX,DX NOT AX XOR AX,DX TEST AX,DX (AX)=__________ 、 (DX)=__________ 、 SF=__________ OF=________、 CF=_________、 PF=_________ 、 ZF=__________ (AX)=0FFFFH,(DX)=8F70H,SF=1,OF=0,CF=0,PF=0,ZF=0 (5) DAT1 DW 12H,23H,34H,46H,57H DAT2 DW 03H LEA BX, DAT1 ADD BX, DAT2 MOV DX,[BX] MOV AX,4[BX] SUB AX,DX 执行上列程序段后,AX的内容为。 (AX)=2300H (6)执行下列程序段后,AX和CF中的值是多少? STC MOV CX,0403H MOV AX,0A433H SAR AX,CL XCHG CH,CL SHL AX,CL (AX)=4860H,CF=1
习题六 第 5 页
1. 已知AX=0FFFFH,DX=0001H MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOPLOP 上述程序段执行后,(DX)=0007H,(AX)=0FFFCH 2. 已知AX=78H,BX=0804H SHR BX,1 AND BX,0F0FH MOV CX,4 LOP:XCHG BH,BL DIV BL SAL AX,1 LOOP LOP 上述程序段执行后,(AX)=001EH,(BX)=0402H 3.CODE SEGMENT ASSUME CS: CODE, DS: CODE, SS: CODE ORG 100H BEGIN: MOV AX, 01H MOV BX, 02H MOV DX, 03H MOV CX, 04H L20: INC AX ADD BX, AX SHR DX, 1 LOOPNE L20 RET CODE ENDS END BEGIN 当执行以上程序后,AX、BX、CX、DX中的值分别是多少?: AX=① BX=② CX=③ DX=④ (AX)=03H,(BX)=07H,(CX)=02H,(DX)=0 4.已定义了两个字变量A和B,补充下列程序段使之完成下列功能: A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。 B.若两个数均为奇数,则将两数均加1后存回原变量。 C.若两个数均为偶数,则两个变量均不改变。 MOV AX,A TEST AX,_0001H_____ JZ A_EVEN MOV BX,B