汇编模拟题1(3页).doc
-自测模拟题(一)一、单选题(24分) 1、重复前缀指令REPNE/REPNZ继续重复执行串操作的条件是 。(A)(CX)=0且ZF=1 (B)(CX)0或ZF=0(C)(CX)0且ZF=0 (D)(CX)0或ZF=1 2、指令“MOV AX,0FH XOR 1111B”执行后的结果是 。 (A)0FFFFHAX (B)0FHAX (C)1111B AX (D)0AX 3、已知DF=0, (SI)=3FH, (DI)=60H, 指令CMPSB执行后,SI和DI的值分别是 。(A)(SI)=40H, (DI)=60H (B)(SI)=3EH, (DI)=5FH(C)(SI)=41H, (DI)=62H (D)(SI)=40H, (DI)=61H 4、语句 DA DB 4 DUP(2 DUP(8),6)表示重复的数据序列和次数是 。 (A)数据序列2,8,6重复4次 (B)数据序列4,8,6重复2次 (C)数据序列4,2,6重复2次 (D)数据序列8,8,6重复4次 5、执行SUB AX,BPDI指令,取源操作数时,使用的物理地址表达式是 。(A)16*(SS)+(BP)+(DI) (B)16*(ES)+(BP)+(DI)(C)16*(DS)+(BP)+(DI) (D)16*(CS)+(BP)+(DI) 6、有伪指令SS DW AB,则SS+1字节单元中的内容是 。 (A)B (B)A (C)不确定 (D)AB 7、将堆栈段中偏移量值为BX的存储单元中的内容送入AX寄存器的指令是 。(A)MOV AX, BX (B)MOV AX, BX(C)POP AX (D)MOV AX, SS:BX8、 ORG 100HNUM EQU 8042HDA1 DB 56H MOV BX,0FFSET DA1上述程序段执行后BX中的值是 。(A)56H(B)100H (C)101H(D)102H 9、指令DIV BX执行后,商和余数分别在寄存器 中。(A)AX和DX (B)DX和BX (C)DX和AX (D)AL和AH 10、执行指令ADD AX,0 后,不受影响的标志位是 。(A)CF (B)ZF (C)PF (D)DF 11、关于内存单元地址的说法,错误的是 。(A)一个内存单元的物理地址是唯一的(B)一个内存单元的逻辑地址是唯一的(C)一个物理地址可以对应多个逻辑地址(D)物理地址段基值×16偏移地址12、设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是 。(A)33CECH(B)33CF2H (C)33CF4H(D)33CE8H 二、问题简答(16分)1、已知(AL)=9AH, (BH)=0C2H, 执行语句ADD AL,BH后,分析6个状态标志位的值分别是什么?2、简述指令语句和伪指令语句的不同,并各给出两个例子。 3、以下程序段中,有数据2000H的字单元有几个?它们的偏移量分别是多少?ORG 20H VAR1 DB 0,0,20H,0,20HDW VAR14、写出完成下列操作的指令或指令序列。 将2BC0H减去1A05H 将变量DAB1的段地址送AX三、程序分析题(30分)1、TSTR DB Extra*innings LEN EQU $-TSTR : CLD MOV AL, * MOV CX,LEN LEA DI, TSTR REPNE SCASB JNE NEXT MOV BYTE PTR DI-1,$NEXT: :简要说明程序段的功能。2、程序段: MOV BX,AX NOT BX XOR AX,BX执行后,(AX)= ,将XOR指令换成OR指令后,(AX)= 。 3、AB DW 3 DUP(?) MOV AL,A LEA BX,AB MOV CX,6 LOP:MOV BYTE PTR BX,AL INC AL INC BX LOOP LOP 画出该程序段执行后内存中相应各单元的内容 4、 MOV AX,7452HADD AL,AHDAAXCHG AH,ALSUB AL,AHDAS程序段运行后,(AX)=_,CF=_。5、已知AX=7865H,BX=89AAHCLCADD AX,BXOR BX,AXRCR AX,1RCL BX,1程序执行后,(AX)=_(BX)=_(CF)=_四、程序填空(14分)1、下面程序执行后,AL的内容为ARRAY数组中的最小数,请在空白处各填上一条指令。ARRAY DB 3,5,-3,-2,4,5,-8,6MOV CX,7MOV DI,0MOV AL,ARRAYA1: INC DI JLE A2 A2: 2、下面程序段是判AL和BL中的数据是否同号,若是,则把AL中的数据变负并送到AH中,否则0AH。横线处填入适当指令(每处仅填一条指令)。_JNS KMOV AH,0JMP END0 K:_MOV AH,ALEND0:五、程序设计(16分)1、编写程序段:已知在AX、BX中放有一32位带符号二进制数,求其绝对值送入CX、DX之中,其中AX,CX存放高位。2、编写程序段:已知在数据段中有如下定义的一个字节缓冲区BUF,其中存放有一些带符号数:BUF DB xx,xx,xx, LEN EQU $BUF MAX DB ? MIN DB ?要求找出缓冲区中的最大数和最小数,分别放于MAX和MIN单元中。-第 3 页-