微机原理及应用复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、8086CPU中,若DS的内容为4300H,则数据段的首单元物理地址为左移四位43000 H,数据段最后单元物理地址为43000H+FFFFH=52FFFH
2、8086CPU中,若物理地址为063C74H,地址偏移量为4344H,则段地址为5E93 H。 063C74H-4344H=5E930H,再右移四位.为5E93H
3、8086指令系统的串传送指令中,目的操作数的物理地址由寄存器ES*16 与 DI 相加得到,源操作数的物理地址由寄存器 DS*16 与 SI 相加得到。
4、CPU与接口间传送的信号类型主要有控制信息、数据信息和状态信息。
5、使用 AND AX,0FFH 指令可使寄存器AX的高8位清零,其他位不变,
使用 OR AL,0F0H 指令可使寄存器AL高4位置1,其他位不变,
使用 XOR AX,OFFH 指令可使寄存器AX的低8位取反,其他位不变。
6、可用 MOV AX,SS:[560H] 指令将SS:560H单元内容传送到AX寄存器中,
用 MOV [560H],CX 指令将寄存器CX的内容传送到DS:560H单元中,
用 MOV CX,6734 指令将数据6734送入CX寄存器中。
7、中断类型码为42H的中断服务程序入口地址的偏移地址存放在中断向量表中的 108H,109H 单元,段地址存放在 10AH,10BH 单元。
8、将下列各指令中操作数寻址所使用的段寄存器分别填写在各指令后空格中:
MOV AL, [3000H] DS
ADD [BP],AX SS
SUB AX,EX:[BX+DI] ES
SCASB ES
1、写出将DS:3766H单元内容送AL中的指令
写出将BX内容送ES:3766H单元的指令
写出将2340H送CX的指令。
MOV AL,[3766H]
MOV ES:[3766H],BX
MOV CX,2340H
2、将BX的D8~D12位清0
AND BX,1110000011111111B
(或者AND BX,0E0FFH)
3、写出指令中操作数寻址所使用的段寄存器
MOVAL,[357H] DS
ADD [DI],BX DS
ANDCL,[BP+69H] SS
STOSB ES
地址计算:
1、巳知8086CPU中下列各寄存器的内容分别为:
CS=5340H,DS=0030H,SS=1230H,
IP=5220H ,AX=3240H,BX=7240H,
BP=4B0H,SP=4690H,
ES=3330H
1〉求当前指令单元地址和堆栈栈顶单元物理地址。
2〉求下列各指令中操作数所在存储单元的物理地址。
a. MOVAX,[4730H]
b. MOV [BX+4730H],AX
C. MOVAX,[BP+473H]
答案:
1>当前指令单元地址:
CS+IP:5340H+5220H=58620H
堆栈栈顶单元物理地址:
SS+SP=12300H+4690H=16990H
2>
a.DS+4730H
=00300H+4730H
=04A30H
b.DS+BX+4730H
=00300+7240H+4730H
=0BC70H
c.SS+BP+473H
=12300H+4B0H+473H
=12C23H
2、巳知8086CPU中下列各寄存器的内容分别为:
CS=4300H,DS=5000H,SS=640H,ES=7800H
IP=C400H,DI=320H,BP=2600H,
SP=330H
1〉给出当前指令单元和堆栈栈顶单元的偏移地址和物理地址。
2〉求下列各指令中操作数所在存储单元的偏移地址和物理地址。
a. MOV CX,[700H]
b. MOV ES:[DI+4300H],DX
C. MOV [BP+300H] ,DX
解:
1)指令单元偏移地址:0C400H 物理地址:4F400H
栈顶单元偏移地址:330H 物理地址: 6700H
2)a. 偏移地址:700H 物理地址:50700H.
b. 偏移地址:4620H 物理地址:7C620H.
c. 偏移地址:2900H 物理地址:8D00H.
1、写出下列程序段执行完后,AL,DL的内容,并指出程序完成的功能。
MOVCL,04
MOVAL,87H
MOVDL,AL
ANDAL,0FH
ORAL,30H
SHRDL,CL
ORDL,30H
解:
(AL)=37H(DL)=38H
将BCD码87的个位和十位转换成对应的ASCII码,并存放在AL,DL中。
2、执行完下列程序段后,寄存器AX,BX,CX,DX的内容分别是多少?
(6分)
MOVAX,3C0H
XORCX,CX
MOV[200H],AX
MOVBX,[200H]
MOVCL,[201H]
MOVDX,2220H
ADDBX,DX
答案:AX=3C0H,BX=25E0H,CX=0003H, DX=2220H
四、接口芯片设置及编程:
1、假设8253占用的端口地址为180H-183H,CLK0和CLK2接8MHZ时钟,要求:
1)将计数器0设置时钟周期为1ms分频器,计数器2的设置为软件触发的选通信号发生器,设置完计数初值0.2ms后OUT2输出选通信号。
2)将OUT0接到计数器1的CLK1,计数器0工作方式同上,计数器1输出频率为1HZ的方波信号。
1)计数器0:方式字 00 11 010 0 (34H)
初值:8000
计数器2:方式字 10 11 100 0 (0B8H)
初值:1600
MOV DX,183H
MOV AL,34H
OUT DX,AL
MOV AL,0B8H
OUT DX,AL
MOV DX,180H
MOV AX,8000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,182H
MOV AX,1600