[0413]《汇编语言》
第一次作业
[单选题]数据传送指令对标志位的影响为( ) A:都不影响
B:都影响
C:除了SAHF,POPF,其它均不影响
D:除了控制标志位,其它均不影响
参考答案:D
[单选题]比较指令CMP( ) A:专用于有符号数比较
B:专用于无符号数比较
C:专用于串比较
D:不区分比较的对象是有符号数还是无符号数
参考答案:D
[单选题]若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A:SF=0,ZF=0,CF=1,OF=1,PF=0
B:SF=1,ZF=0,CF=1,OF=0,PF=1
C:SF=0,ZF=0,CF=0,OF=1,PF=0
D:SF=1,ZF=0,CF=1,OF=1,PF=1
参考答案:C
[单选题]能定义ASCII码字符串的数据定义语句有( ) A:DB,DW,DD,DQ,DT
B:DB,DW,DD
C:DB, DW D:DB
参考答案:D
- 1 -
[单选题]8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A:段内的任何地方
B:距该指令偏移地址为-32768~+32767的地方
C:距该指令偏移地址为-128~+127的地方 D:段外
参考答案:A
[单选题]中断矢量表中存放的是( ) A:中断类型号
B:断点地址
C:中断服务程序
D:中断服务程序入口地址
参考答案:D
[单选题]在指令 MOV AX,[1000H]中,源操作数的寻址方式为( ) A:立即寻址
B:直接寻址
C:段内间接寻址
D:寄存器寻址
参考答案:B
[单选题]设字长N=16,有符号数7AE9H的补码表示为( ) A:9EA7H B:76C4H C:8417H D:7AE9H
参考答案:D
[单选题]比较有符号数3260H与0B425H的大小关系为( ) A:相等 B:小于
- 2 -
C:大于
D:不能比较
参考答案:C
[单选题]指令JMP WORD PTR [BX][DI]中转移的目标地址为( ) A:16 d x(DS)+(BX)+(DI)
B:16d x(ES)+(BX)+(DI)
C:16d x(SS)+(BX)+(DI)
D:16d x(CS)+(BX)+(DI)
参考答案:A 第二次作业
[单选题]使用DOS系统功能调用时,使用的软中断指令是( ) A:INT 21
B:INT 10H
C:INT 16H
D:INT 21H
参考答案:D
[单选题]DA1 DW‘AB',‘CD',‘EF',‘GH'( ) ...... MOV AX,DA1+3 A:‘EF’
B:‘CD’
C:‘BC’
D:‘FC’
参考答案:D
[单选题]设AL=0AH,下列指令执行后能使AL=05H的是( ) A:NOT AL
B:AND AL,0FH
C:XOR AL,0FH
- 3 -
D:OR AL,0FH
参考答案:C
[单选题]在下列串操作指令中,同时使用源串和目的串地址指针的指令是( ) A:STOSW B:LODSW
C:SCASW D:CMPSW
参考答案:D
[单选题]比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( ) A:ZF=1 B:ZF=0 C:SF=1 D:SF=0
参考答案:A
[单选题]下面程序段执行后,AL中的内容是( ) MOV AX,8833H ADD AL,AH DAA A:21 B:21H C:0C1H D:0DDH
参考答案:B
[单选题]REPZ CMPSW指令,重复执行的终止条件是( ) A:CX=0或ZF=0
B:CX=0且ZF=0
C:CX=0或ZF=1
D:CX=0且ZF=1
参考答案:A
- 4 -
[单选题]要实现使BETA的值为56,应采用语句为( ) A:BETA DB 56
B:BETA DB 56H
C:BETA EQU 56
D:BETA EQU 56H
参考答案:C
[单选题]汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( ) A:名字的第一个字符可以是大写英文字母及小写英文字母
B:名字的第一个字符可以是字母、数字及、@、_
C:名字的有效长度≤31个字符
D:在名字中不允许出现$
参考答案:B
[单选题]检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在\"CMP AL,BL”指令后应跟的分支指令是( ) A:JNC LOP1
B:JA LOP1
C:JC LOP1
D:JGE LOP1
参考答案:A 第三次作业
[单选题]当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是( ) A:JLE B:JNL C:JNLE D:JL
参考答案:C
[单选题]下面的数据传送指令中,错误的操作是( ) A:MOV SS:[BX+DI],1000H
- 5 -
B:MOV DX,1000H
C:MOV WORD PTR[BX],1000H
D:MOV DS,2000H
参考答案:D
[单选题]将数据5618H存放在存储单元中的伪指令是( ) A:DATA1 DW 1856H
B:DATA1 DB 18H,56H
C:DATA1 EQU 5618H
D:DATA1 DB 18H,00H,56H,00H
参考答案:B
[单选题]MOV SP,3210H PUSH AX 执行上述指令序列后,SP寄存器的值是( ) A:3211H B:320EH C:320FH D:3212H
参考答案:B
[单选题]为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是( ) A:INC CX JZ MINUS
B:SUB CX,OFFFFH JZ MINUS
C:AND CX,OFFFFH JZ MINUS
D:XOR CX,OFFFFH JZ MINUS
参考答案:C 第四次作业
[论述题]将AX寄存器中的16位数分成四组,每组四位,然后把这四组数分别放在AL、BL、CL和DL中。 参考答案:
dseg segment store db 4 dup (?)
- 6 -
dseg ends
begin: mov cl, 4 mov ch, 4 lea bx, store a10: mov dx, ax and dx, 0fh
mov byte ptr[bx], dl inc bx shr ax, cl dec ch jnz a10 b10: mov dl, store mov cl, store+1 mov bl, store+2 mov al, store+3 ret 第五次作业 [论述题]
编写程序:从键盘接收一个小写字母,然后找出它的前导字符和后续字符,并按顺序输出这三个字符。
参考答案:
begin: mov ah, 1 int 21h cmp al, 'a' jb stop
- 7 -
cmp al, 'z' ja stop dec al mov dl, al mov cx, 3 display: mov ah, 2 int 21h inc dl loop display ret 第六次作业 [论述题]
设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放了0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。 数据段如下: DATA SEGMENT DAT DB XXH
SQRTAB DB 0,1,4,9,...81 SQR DB? DATA ENDS
参考答案:
DATA SEGMENT DAT DB XXH
SQRTAB DB 0,1,4,9,…,81 SQR DB? DATA EMDS
STACK 1 SEGMENT PARA STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX
- 8 -
┇
CALL SUBROT ┇
MOV AH,4CH INT 21H
SUBROT PROC PUSH AX PUSH BX
LEA BX,SQRTAB MOV AL,DAT TEST AL,80H JNS NEXT NEG AL
NEXT: XLAT SQRTAB MOV SQR,AL POP BX POP AX RET
SUBROT ENDP CODE ENDS
END SRART
- 9 -
因篇幅问题不能全部显示,请点此查看更多更全内容