微机考试资料
- 格式:doc
- 大小:1.16 MB
- 文档页数:73
程序题
下列程序段要求在 100 个带符号数中找出其中最大的一个数。设该数据区首址的偏移地址=2000H,最后要求将最大值存入偏移地址=2100H 的单元中,试填空完成该程序。
MOV BX, ________
MOV AX, [BX]
MOV CX, ________
LOP1: INC BX
CMP AL, [BX]
_____ LOP2
MOV AL,_______
LOP2: LOOP ______
MOV ______,AL
三、
MOV BX, 2000H
MOV AX, [BX]
MOV CX, 100
LOP1:INC BX
CMP AL, [BX]
JNG LOP2
MOV AL, [BX]
LOP2:LOOP LOP1
MOV [2100H],AL
阅读程序,并写出结果
1、 MOV AL, 05H
MOV BX, 1050H
XOR AX, AX
ADD AL, BL
执行结果; AX=_________, CF=_________。
2、 MOV BL, 15H
MOV AL, BL
MOV CL, 2
SAL AL,CL
ADD AL,BL
执行结果: AL=_________,CF=__________。
三、 阅读程序,并写出结果
1、AX=0050H CF=0
2、AL=69H CF=0
、分析下列指令和伪指令
1.已知下列四条等值语句。
S1 EQU 50H
S2 EQU 200H
S3 EQU 1000H
S4 EQU 2000H
下列指令哪些是错的?哪些是对的?
(1)ADD AL,S1+S2 ( )
(2)MOV BL,S4-S3 ( )
(3)SUB BX,S2-S1 ( )
(4)SUB AH,S4-S3-S3 ( )
(5)ADD AL,S1 ( )
2.指出下列标志位的含义
(1)CF
(2)OF
(3)AF
(4)ZF
(5)DF
3.指出下列伪指令的含义
(1)ASSUME
(2)=
(3)DB
(4)DW
(5)DD
四、
若STR是字符串的首地址,指出下列程序的功能。并加上注解。
LEA BX,STR
MOV CX,30
LP: CMP [BX],‘$’
JNZ NEXT
MOV [BX],‘&’
NEXT: INC BX
LOOP LP
HLT
三、 (1)错
(2)错
(3)对
(4)错
(5)对
2.
(1)进位标志。若运算结果的最高位产生一个进位或借位,则CF=1,否则CF=0。
(2)溢出标志。若在算术运算中带符号数的运算结果,当字节运算时大于+127或小于一128;字运算时大于十32767或小于一32768,则OF=1,否则OF=0。
(3)辅助进位标志。若在字节操作时,由低半字节向高半字节有进位或借位;或在字操作时,由低位字节向高位字节有进位或借位,则AF=1,否则AF=0。
(4)零标志。若运算结果为0,则ZF=1,否则ZF=0
(5)方向标志。若用指令置DF=1,则串操作指令就为自动减量指令,也就是从高地址向低地址处理串;若使DF=0,则串操作指令就为自动增量指令,也就是从低地址向高地址处理串。
3.
(1)指定段址。
(2)将“=”右侧表达式的值赋给左侧的符号名。在程序中允许重复定义。
(3)定义字节。
(4)定义字。
(5)定义双字。
四、
程序功能:将字符串STR(长度30字节)中所有’$’用’&’代替。
LEA BX,STR ;置地址指针
MOV CX,30 ;置计数器初值
LP: CMP [BX],’$’ ;取字符与’$’比较
JUZ NEXT ;不是’$’转NEXT
MOV [BX],’&’;是’$’则用’&’替换
NEXT: INC BX ;地址加1
LOOP LP ;CX一1为0继续
HLT
、分析下列指令和伪指令
1.指出下列指令源操作数的寻址方式
(1)MOV BX,100H
(2)MOV AX,DAT[BX][DI]
(3)MOVSE
(4)ADD AX,BX
(5)MOV BX,[100]
2.指出下列指令的错误
(1)MOV AH,BX
(2)ADD 15H,BX
(3)MOV CS,AX
(4)MOV AX,[SI][DI]
(5)MOV BYTE PTR[BX],1000
3.指出下列伪指令的含义
(1)ABC EQU 300
(2)C DB ‘HELLO’
(3)D DB (2+3)*4
(4)AA DW 25 DUP(?)
(5) ASSUME CS:CODE 四、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。
LEA BX,STR
MOV CX,20
LP: CMP [BX],‘&’
JNZ NEXT
MOV [BX],‘$’
NEXT: INC BX
LOOP LP
HLT
、分析下列指令和伪指令
1.指出下列指令源操作数的寻址方式
(1)MOV BX,100H
(2)MOV AX,DAT[BX][DI]
(3)MOVSE
(4)ADD AX,BX
(5)MOV BX,[100]
2.指出下列指令的错误
(1)MOV AH,BX
(2)ADD 15H,BX
(3)MOV CS,AX
(4)MOV AX,[SI][DI]
(5)MOV BYTE PTR[BX],1000
3.指出下列伪指令的含义
(1)ABC EQU 300
(2)C DB ‘HELLO’
(3)D DB (2+3)*4
(4)AA DW 25 DUP(?)
(5) ASSUME CS:CODE
四、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。
LEA BX,STR
MOV CX,20
LP: CMP [BX],‘&’
JNZ NEXT
MOV [BX],‘$’
NEXT: INC BX
LOOP LP
HLT
五、读程序填空 1. MOV BL,68H
MOV CL,0B7H
MOV AL,0
ADD CL,BL
JNO L1 MOV AL,0FFH
L1:HLT
上述程序段完成后
(AL)=_______,
(CL)=_______。
2. ORG 0010H
DA1 DB 3 DUP(0)
„
MOV AL,10H
LEA BX,DA1
MOV CX,3
LOP:MOV 〔BX〕,AL ADD AL,BL
INC BL
LOOP LOP
上述程序段执行后,以DA1为首地址的前两个字节存储单元中依次存放的内容为______,_______。
3. ORG 0200H
DA1 DW 1289H,7543H
„
MOV AX,DA1 MOV BX,OFFSET DA1
试问上述指令序列运行后,AX=_______,BX=_______。
4. XOR AL,AL
MOV AH,AL
ADD AH,9
JZ NEXT
XCHG AH,AL
JMP K1
NEXT:MOV AH,0FFH
K1:„
上述程序段执行后
(AH)=_______,(AL)=_______。
5.CODE SEGMENT
ASSUME CS:CODE
START:MOV CX,1
MOV BX,2
AGAIN:MOV AL,BL
INC BL
MUL BL
ADD CX,AX
CMP AX,002AH
JB AGAIN
MOV AH,4CH
INC 21H
CODE:ENDS
END START
试问(1)该程序完成的功能可用算术表达式表示为_______;
(2)程序完成后,(CX)=_______。
、读程序填空
1. 0 1FH
2. 10H 20H
3. 1289H 0200H
4. 0 9
5. CX←—1+2×3+3×4+4×5+5×6+6×7
(CX)=6FH 或111
(CS)=1000H,(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=100H,(BX)=200H,(SI)=1,(20200H)=400H,(30200H)=1400H,(20202H)=0004,(20204H)=202H,(21400H)=1234H,(21405H)=5678H。
执行下列程序段(注意:不是单条指令),填空回答问题:
MOV BP,256 ;源字段的寻址方式是
;指令执行后(BP)= H
PUSH E5:[BX] ;源操作数物理地址= H
MOV DI,3[BX][SI] ;(DI)= H