BUF DB 30H,31H,32H,33H,34H,35H ...
MOV AX,SEG BUF MOV DS,AX
MOV BX,OFFSET BUF MOV AL,3 XLAT
3、阅读下列程序段,并总结该程序段的功能是什么? ……
LEA BX,N; N为某内存单元地址 MOV CX,16 MOV DL,00H
AGAIN:SHL WORD PTR [BX],1 JNC NEXT1 INC DL
NEXT1:DEC CX JNZ AGAIN
MOV NUM,DL ……
统计以N开始16位二进制数中1的个数
4、执行下列程序段后,AL=( 05H )、AH=( 09H )。
MOV AX,59 MOV BL,10 DIV BL
5、下列程序段执行后,AL=( 88H ) MOV AL,38H MOV BL,49H CALL AddBCD INC AL
……
AddBCD PROC NEAR ADD AL,BL DAA RET AddBCD ENDP
6、阅读下列程序段,并判断该程序段运行后,AL= ( 43H ) ……
MOV BX,1000H MOV DX,103FH ADD DX,3
MOV [BX],DX INC WORD PTR [BX]
A卷 共(16) 页 第 (6) 页
MOV AL,[BX] ……
7、已知AX=1234H,BX=0F0FH , 以下程序段执行后,BX=( C5FDH )
AND BL,AH 02H XOR BH,AL 3BH NEG BH C5H
NOT BL FDH
8、现有程序段如下,执行完该程序段后ZF=0,DI=( ) CLD
SUB DI,DI MOV AL,20H MOV CX,100 REPNZ SCASB 9、已知SP=1000H, BX=0FFFFH,下列指令序列执行后,DX=( 0 ),SP=( STC
PUSH BX ADC BX,0 PUSH BX POP DX
10、有程序段如下,执行该程序后,AL=( 8AH ),COUNT=( 5 )
SUB BL, BL MOV DL, 8 MOV AL, DATA1 AGAIN: ROL AL, 1 JC NEXT INC BL NEXT: DEC DL JNZ AGAIN MOV COUNT, BL HLT
DATA1 DB 8AH COUNT DB ?
11、阅读下面程序,回答问题。
START: MOV AH, 1 INT 21H
CMP AL, ?A? JB STOP
CMP AL, ?Z? JA STOP
ADD AL, 20H MOV DL, AL MOV AH, 2 INT 21H JMP START STOP: INT 3
A卷 共(16) 页 第 (7) 页
0FFEH )。 键入D后,CRT显示为: d ;
键入h后,CRT显示为: 无显示 。 12、60H为输入端口地址,写出如下程序运行后的结果 START:IN AL,60H TEST AL,80H JZ BR MOV AH, 0 JMP STOP BR: MOV AH,1 STOP: INT 3
执行结果:当AL的D7=0时,AH= ;
当AL的D7=1时,AH= 。
13、下列程序段的功能是将DX:AX中的32位数 。 SHL ax,1 RCL dx,1
14、有程序段如下,执行该程序后,BL=( )
TEST AL, 80H ;检查AL中D7=1?
JZ PLUS ;是0(正数),转PLUS NEG AL ;否则 -AL => AL PLUS: MOV BL, AL 15、执行下面程序段后,AX=( )
MOV AX, 0 MOV CX, 100
NEXT: ADD AX, CX
LOOP NEXT
16、阅读下列程序段,并总结该程序段的功能是什么?
MOV AX, DS
MOV ES, AX LEA SI, BUF1 LEA DI, BUF2 MOV CX, 200 CLD
REP MOVSB
17、阅读下列程序段,并总结该程序段的功能是什么?
MOV AX, SEG BUF
MOV ES, AX
MOV DI, OFFSET BUF
MOV AX, 0 MOV CX, 1024 CLD REP STOSB
18、 执行下面程序段后, CX= 0000 H ,ZF= 1 ,CF= 0
CLC MOV CX,0FFFFH INC CX
19、已知 SS=0B2F0H,SP=00D0H,AX=8031H,CX=0F012H
PUSH AX
A卷 共(16) 页 第 (8) 页
PUSH CX POP AX POP CX
执行上面程序段后:SS= , SP= ,AX= , CX= 20、执行下列程序段后,AL=( )、AH=( )。
MOV AL,5 MOV BL,16 MUL BL
四、简答题:(每小题5分,共20分)
1、已知中断类型为10H,其中断服务程序的入口地址为C000H:0506H,请在中断向量表中为中断类型10H设置中断向量(即分别指出C000H和0506H的在内存中的存放地址)。
2、已知AX=1234H,BX=2345H,执行指令CMP AX,BX后,请问CF、SF、PF、AF、ZF、OF标志分别是多少?
3、当8086CPU的INTR引脚上产生中断信号时,其中断响应过程是怎样的?。 4、画出异步通信的数据格式,并简要解释其原理。
5、假如想从100中减去AL中的内容,用SUB 100,AL是否正确?如果不正确,应如何实现? 6、某8086微机系统中,若计算出的中断向量表地址为0000H:0020H,则中断控制器8259A发出的中断类型码是多少?
7、8255A有几种控制命令字?分别称为什么控制字?初始化时必须写入的是哪个控制字? 8、假设程序中的数据定义如下:
PARTNO DW ?
PNAME DB 16 DUP(?) COUNT DD ?
PLENTH EQU $-PARTNO PLENTH的值为多少?它表示什么意义?
9、试简单说明8086将逻辑地址转换成物理地址的过程。
10、8086CPU的标志寄存器中有三个控制标志,简述IF和DF标志为0和1时分别代表的意义?
11、80486有哪几种工作模式?各有什么特点?
12、假设AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现下列要求:
A、若CX的内容超过了DX的内容,则转到L1; B、若BX的内容小于等于AX的内容,则转到L2。 13、CPU与外设之间主要传送的信息有哪些? 14、简述变量的3个属性。
15、向子程序传递参数的常用方法有哪几种?
A卷 共(16) 页 第 (9) 页
16、一个完整的中断处理应包含哪5个过程? 17、微型计算机中的IO传输控制主要有哪3种方式? 18、8259A的全嵌套与特殊全嵌套方式有何区别?
19、简述8255A的方式控制字与C口按位置位复位控制字的作用与识别方法。 20、已知某数据段定义如下,画出内存分配图、标明各内存单元的偏移地址及内容。 DSEG SEGMENT ORG 2000H A1 DB 7,2 dup(1,2),0
DSEG ENDS
21、简述8086CPU中断类型码的作用?
五、应用题:(每小题10分,共30分)
1、从BUF单元开始的内存中存放了一个ASCII码字符串,找出其中的最大字符送屏幕显示。程序代码如下,请完善划线处的代码。
DATA SEGMENT USE16 BUF DB 'QWERTYUIOP123' COUNT EQU $-BUF
MAX DB 'MAX=', ?, 0DH, 0AH, '$'
DATA ENDS CODE SEGMENT USE16
ASSUME CS: CODE, DS: DATA BEG: ① ; 初始化数据段地址 MOV DS, AX LEA SI, BUF MOV AL, [SI] INC SI
MOV CX, COUNT-1 L1: CMP AL, [SI] JAE NEXT
MOV AL, [SI]
NEXT: ② ; 指向下一个字符 LOOP L1
MOV MAX+4, ③ ;保存结果 MOV AH, 9 LEA DX, MAX
④ ;DOS功能调用 MOV AH, 4CH INT 21H CODE ENDS
END ⑤ ;程序入口
2、下面是用除10取余法将AX中的十六位无符号数转换成十进制数字符串的子程序,请完善划线处的代码。
A卷 共(16) 页 第 (10) 页