微计算机技术作业1
第1章 绪 论
1. 计算机分哪几类?各有什么特点?
2. 简述微处理器、微计算机及微计算机系统三个术语的内涵
3. 80X86微处理器有几代?各代的名称是什么?
第2章
微处理器结构及微计算机的组成
1.8086是多少位的微处理器?为什么?
2. EU与BIU各自的功能是什么?如何协同工作?
3. 8086/8088与其前一代微处理器8085相比,内部操作有什么改进?
4. 8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?
5.8086对存储器的管理为什么采用分段的办法?
6.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。
7.8086/8088为什么采用地址/数据引线复用技术?
8.8086与8088的主要区别是什么?
9.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?
10.8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
11.8086基本总线周期是如何组成的?各状态中完成什么基本操作?
12.结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。
13.8086中断分哪两类?8086可处理多少种中断?
14.8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?
15.8086的中断向量表如何组成?作用是什么?
16.8086如何响应一个可屏蔽中断请求?简述响应过程。
17.什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么?
18.“8086执行了一个总线周期”是指8086做了那些可能的操作?基本总线周期如何组成?在一个典型的读存储器总线周期中,地址信号、ALE信号、RD#信号、数据信号分别在何时产生?
微计算机技术作业2
第3章 8086指令系统及寻址方式
1.根据下列要求编写一个汇编语言程序:
(1)代码段的段名为COD_SG
(2)数据段的段名为DAT_SG
(3)堆栈段的段名为STK_SG
(4)变量HIGH_DAT所包含的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH和DL
(6)程序运行的入口地址为START
2.指出下列程序中的错误:
STAKSG SEGMENT
DB 100DUP(?)
STA_SGENDS
DTSEG SEGMENT
DATAl DB ?
DTSEG END
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DATSEG
MOV AL,34H
ADD AL,4FH
MOV DATA,AL
START ENDP
CDSEG ENDS
END
3.将下列文件类型填入空格:
(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map
编辑程序输出的文件有______________________;
汇编程序输出的文件有______________________;
连接程序输出的文件有______________________。
4.下列标号为什么是非法的?
(1) GET.DATA (2) 1_NUM (3) TEST-DATA
5.下面的数据项定义了多少个字节?
DATA_1 DB 6 DUP(4 DUP(0FFH))
6.对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?
DTSEG SEGMENT DTSEG SEGMENT
ORG 10H ORG 10H
DATAN DB 72H DATAl DW 7204H
DB 04H ENDS
DTSEG ENDS
7.下面的数据项设置了多少个字节?
(1)ASC_DATA DB ‘1234’ (2) HEX_DATA DB l234H
8.执行下列指令后,AX寄存器中的内容是什么?
TABLE DW 10,20,30,40,50
ENTRY DW 3
.
.
.
MOV BX,OFFSET TABLE
ADD BX,ENTRY
MOV AX,[BX]
9.指出下列指令的错误:
(1) MOV AH,BX
(2) MOV [SI],[BX]
(3) MOV AX,[SI][DI]
(4) MOV AX,[BX][BP]
(5) MOV [BX],ES:AX
(6) MOV BYTE PTR[BX],1000
(7) MOV AX,OFFSET [SI]
(8) MOV CS,AX
10. DATA SEGMENT
TABLE_ADDR DW 1234H
DATA ENDS
.
.
MOV BX,TABLE_ADDR
LEA BX,TABLE_ADDR
请写出上述两条指令执行后,BX寄存器中的内容。
11. 设(DS)=1B00H,(ES)=2B00H,有关存储器地址及其内容如下图所示,请用两条指令把X装入AX寄存器。
|
|
|
|
1B00:2000H |
8000H |
|
1B00:2002H |
2B00H |
|
|
. |
|
|
. |
|
2B00:8000H |
X |
|
|
|
12.假如在程序的括号中分别填入指令:
(1)LOOP L20 (2)LOOPNE L20 (3)LOOPE L20
试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?
TITLE EXLOOP.COM
CODESG SEGMENT
ASSUME CS:CODESG, DS:CODESG, SS:CODESG
ORG 100H
BEGIN: MOV AX,01
MOV BX,02
MOV DX,03
MOV CX,04
L20: INC AX
ADD BX,AX
SHR DX,1
( )
RET
CODESG ENDS
END BEGIN
13. 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H,(33000H)=0F802H, (25060)=00B00H, (SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响条件码请给出条件码SF、ZF、OF、CF的值。
(1) SBB AX,BX (2) CMP AX,WORD PTR[SI+OFA0H]
(3) MUL BYTE PTR[BX] (4)AAM
(5)DIV BH (6)SAR AX,CL
(7))XOR,AX, OFFE7H (8)REP STOSB
(9)JMP ,WORD PTR[BX]
(10)XCHGAX,ES:[BX十SI]
微计算机技术作业3
第1章 绪 论
第4章 汇编语言程序设计基础
1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
2. 编写程序,比较两个字符串STRINGl和STRING2所含字符是否完全相同,若相同则显示 “MATCH",若不同则显示"NOMATCH"。
3.试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:
(1)如果3个数都不相等则显示0;
(2)如果3个数中有2个数相等则显示2;
(3)如果3个数都相等则显示3。
4. 分析下列程序的功能,写出堆栈最满时各单元的地址及内容。
SSEG SEGMENT 'STACK' AT 1000H ;堆栈的段地址为1000H
DW 128 DUP(?)
TOS LABEL WORD
SSEG ENDS
;
DSEG SEGMENT
DW 32 DUP(?)
DSEG ENDS
;
CSEG SEGMENT
MAIN PROC FAR
ASSUME. CS:CSEG, DS.DSEG,SS:SSEG
START: MOV AX, SSEG
MOV SS,AX
MOV AX, DSEG
MOV DS, AX
MOV AX, 4321H
CALL HTOA
RETN: MOV AH,4CH
INT 21H
MAIN ENDP
;
HTOA PROC NEAR
CMP AX, 15
JLE B1
PUSH ' AX. '
PUSH BP
MOV BP, SP
MOV BX, [BP + 2 ]
AND BX, 0FH
MOV [BP + 2 ], BX
POP BP
MOV CL, 4
SHR AX, CL
CALL HTOA
B1: POP AX
B2: ADD AL, 30H
JL PRT
ADD AL, 07
PRT: MOV DL, AL
MOV AH, 2
INT 21H
RET
HTOA ENDP
CSEG ENDS
;
END START
5.写出分配给下列中断类型号在中断向量表中的物理地址。
(1)INT 12H (2)INT 8
6.试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFFl和BUFF2的存储区中。
第5章 输入输出系统
1. 试说明一般中断系统的组成和功能。
2. 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?
3. 什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同?
4. 试叙述基于8086/8088的微机系统处理硬件中断的过程。
5. 在PC机中如何使用“用户中断”入口请求中断和进行编程?
6. 8259A中断控制器的功能是什么?
7. 8259A初始化编程过程完成哪些功能?这些功能由哪些ICW设定?
8.8259A在初始化编程时设置为非中断自动结束方式,中断服务程序编写时应注意什么?
9. 8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中哪些内部寄存器?
10.若8086系统采用单片8259A中断控制器控制中断,中断类型码给定为20H,中断源的请求线与8259A的IR4相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为4FE24H,则对应该中断源的中断向量表内容是什么,如何定位?
11.试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H~27H,8259A的端口地址为BOH和B1H。
12.比较中断与DMA两种传输方式的特点。
13.DMA控制器应具有哪些功能?
14.8237A只有8位数据线,为什么能完成16位数据的DMA传送?
15.8237A的地址线为什么是双向的?
16.说明8237A单字节DMA传送数据的全过程。
微计算机技术作业4
第6章
常用可编程外围接口芯片
1. 设8254三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。
2. 设8254三个计数