(6) MOV [BX+SI+3], IP (7) MOV AX, [BX][BP] (8) MOV AL, ES:[BP] (9) MOV DL, [SI][DI]
(10) MOV AX, OFFSET 0A20H (11) MOV AL, OFFSET TABLE (12)XCHG AL, 50H (13) IN BL, 05H
(14) OUT AL, 0FFEH
3. 判断下列指令书写是否正确,如有错误,指出错在何处并用正确的指令实现
原错误指令期望实现的操作。 (1)MOV AL,BX (2)MOV AL,SL
(3)INC BYTE PTR [BX] (4)MOV 5,AL (5)MOV [BX],[SI] (6)MOV DX,2000H
六、简答题
1. 微型计算机包括哪几个主要组成部分?各部分的基本功能是什么? 2. 微处理器、微型计算机和微型计算机系统之间有什么关系?
3. 8086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么? 4. 8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的
寻址?完成逻辑地址到物理地址转换的部件是什么?
5. 8086 CPU指令部件(队列)的作用是什么?地址加法器的作用是什么? 6. 标志寄存器FR的6个状态标志位和它们代表什么? 7. 复位信号RESET到来后,8086/8088 CPU的内部状态有何特征?系统从何处
开始执行指令 ?
8. 8086/8088系统中为什么要有地址锁存器?需要锁存哪些信息? 9. MOV BX, [SI]是什么寻址方式,其物理地址是多少? 10. 若立即数是16位时,字节储存时如何分配? 11. 8086/8088 CPU有哪些寻址方式,各举一例说明。 12. 数据传送指令包括哪几种? 13. 算术运算指令包括哪几种?
14. 指出下列指令中源操作数和目的操作数的寻址方式。
(1) MOV SI,[1000H] (2) MOV [BP],AX
(3) MOV [SI+10H],1000 (4) MOV BP,[DI]
(5) AND DL,[BX+SI+20H]
15. 汇编语言进行程序开发需经过哪几个步骤?
16. 简述子程序调用的过程。设IP=3A42H,CS=8765H,SP=1234H,求执行
CALL 1000:2345H后,堆栈区数据存储的情况。
17. 汇编语言源程序和汇编程序有什么区别?两者的作用是什么?
18. 现在实际的微型计算机是多总线系统还是单总线系统?微型计算机采用多
总线系统有什么优点? 19. 什么是总线仲裁?
20. 总线操作有什么限制?这些限制对于微型计算机的性能有什么影响? 21. 半导体存储器的结构分为哪几部分?
22. 相对于查询传送方式,中断传送方式有什么优点? 23. 什么是I/O接口电路?
24. 端口的寻址方式通常有哪几种?各有什么特点? 25. 简述查询传送方式的一般流程。
七、程序题
1. 试用简单的几条指令完成对 AL 寄存器中的无符号数乘以 12 的操作。要求
只能用移位、加法及 MOV 指令。
2. 如下8086/8088 CPU程序完成什么功能? MOV AX,5000H MOV DS,AX MOV CX,100 MOV AX,0 MOV SI,AX
START:ADD AX,[SI+1000H] ADD SI,2 LOOP START MOV [200H],AX
3. 如TABLE为数据段中偏移地址为0032H单元的符号名,其中存放的内容为
1234H,试问以下两条指令有什么区别?指令执行完后AX 寄存器的内容是什么?
MOV AX,TABLE 和 LEA AX,TABLE
4. 以下程序段完成对附加数据段中从偏移地址3000H开始的99个连续的内容
字节单元请0:
5. 完成将AL中的数乘5的操作,开始AL=7 6. 完成指令将十进制数7与9的乘法。 7. 已知8086/8088CPU程序如下:
MOV AL, 6 MOV BL, 16 MUL BL INC AL SHL AL, 1
问:执行完每条指令后的结果及CF=? SF=?OF=?(设在执行第一条指令前,CF=SF=OF=0)
8. 已知8086/8088CPU程序段如下: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX
MOV CX,4 MUL CX
问:执行完每条指令后,AX=? CF=? SF=? ZF=?(设在执行第一条指令前CF=SF=ZF=0)。
9. 有一首地址为2000H的10个字数组,试编写一段程序,求出该数组的内容之
和,并把结果存入3000H中。
10. 若(BX)= 0002H,且有如下变量定义: DBT1 DW 0400H
DBT2 DD 01000020H
TAB DW 0600H, 0640H, 06A0H, 06C0H 请指出下列指令的寻址方式及转向地址: (1)JMP BX (2)JMP DBT1 (3)JMP DBT2
(4)JMP TAB [BX + 2]
11. 试用指令实现:(1) AL寄存器低4位清0;(2) 测试DL寄存器的最低2位是
否为0,若是,则将0送入AL寄存器;否则将1送AL 寄存器。 12. 说明指定语句的作用
DATA SEGMENT ORG 200H
BUF DW 356AH DATA ENDS
MOV AX, DATA
MOV DS, AX ; (1) MOV AX, BUF ; (2) MOV AX, SEG BUF; (3) MOV AX, OFFSET BUF; (4) 13. 对于下面的8086/8088 CPU汇编数据定义,写出其后的各条指令的执行结
果。
DATA SEGMENT ORG 0100H AAAA DW 0A244H
BBBB DB 33H,66H,92H,29H
CCCC EQU WORD PTR BBBB DDDD DB 'ABCD' EEEE EQU $-DDDD DATA ENDS
(1) MOV AX , AAAA AL=( ) (2) MOV BX , CCCC BH=( ) (3) MOV DX , OFFSET DDDD DL=( ) (4) MOV CL , EEEE CL=( ) 14. 根据下面8086/8088 CPU汇编程序片段,分析程序回答程序段后的问题。
START: MOV AX , 2000H
MOV SS , AX
MOV SP , 000FH MOV AX , 1000H PUSH AX
MOV BX , 5439H PUSH BX
CALL NEAR PTR SUBRT
STOP0: HLT
SUBRT PROC NEAR
PUSH BP MOV BP , SP
VA A X: MOV AX , [BP+4]
ADD AX , 456AH MOV [BP+4] , AX POP BP RET 4
SUBRT ENDP
问:(1)程序执行完指令PUSH BX后,SP=?
(2)程序执行到标号为SUBRT处的指令时,SP =? (3)程序执行完指令MOV BP , SP后,BP=?
(4)程序执行完指令MOV AX , [BP+4]后,AX =? BX=?
(5)程序执行到标号为STOP0处的指令时,SP=? AX =?BX = ?
CF= ?SF= ?OF= ?
15. 试写一子程序,完成对一个 8 位无符号数乘 6 的操作。要求:(1)只能用传
送、加法及移位指令;(2)入口参数(即 8 位无符号数)放于 AL 中,出口参数(即乘 6 后的结果)放于 AX。
16. 从符号地址为MARK开始的内存缓冲区中,存有100个学生的某门课的考
试成绩。试找出成绩不低于80分以及成绩低于60分的学生个数,同时求出最高的成绩分数及最低的成绩分数,并将它们分别存于符号地址为PST,FST,MAXMK及MINMK的四个单元中。要求写出完整的数据段及代码段。 17. 分支程序设计
(1)编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT 单元。Z=|X-Y|。
答案:参考程序段如下: DATA SEGMENT BUF1 DB 05H BUF2 DB 02H RESULT DB ? DATA ENDS
STACK SEGMENT STACK 'STACK
DB 100H DUP(?)
STACK ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS: STACK
START: MOV AX, DATA
MOV DS, AX MOV AL, BUF1 MOV BL, BUF2 SUB AL, BL JNC GREAT NEG AL
GREAT: MOV RESULT, AL EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
(2)编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。Z=5X,X<10 ;Z=X-5,X>=10。
答案:参考程序段如下: DATA SEGMENT BUF DB 8 RESULT DB ? DATA ENDS
STACK SEGMENT STACK 'STACK
DB 100H DUP(?)
STACK ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS: STACK
START: MOV AX, DATA MOV DS, AX MOV AL, BUF CMP AL, 10 JAE GRE MOV BL, AL ADD AL, AL ADD AL, AL ADD AL, BL JMP DONE GRE: SUB AL, 5
DONE: MOV RESULT, AL MOV AH, 4CH INT 21H CODE ENDS
END START
(3)在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函