作业参考答案47章8086硬件.docx
- 文档编号:6944051
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:11
- 大小:29.95KB
作业参考答案47章8086硬件.docx
《作业参考答案47章8086硬件.docx》由会员分享,可在线阅读,更多相关《作业参考答案47章8086硬件.docx(11页珍藏版)》请在冰豆网上搜索。
作业参考答案47章8086硬件
参考答案
4-1BLOCKDB20H,30H,40H,50H,60H,70H,80H,90H
BLOCKDW3020H,5040H,7060H,9080H
BLOCKDD50403020H,90807060H
4-2设VAR1=2000H:
0000H
VAR1(0000H)
0C
EE
00
FF
00
FF
00
FF
VAR2(0008H)
00
01
02
01
02
00
000EH
03
0008~000EH单元
重复3次
VAR3(1000H)
‘W’
‘E’
‘L’
‘C’
‘O’
‘M’
‘E’
‘’
‘T’
0109H
‘O’
VAR4
06H
10H
VAR5
00H
10H
DS
4-3
(1)DATA1DB86H,27H,23H,00H,24H,1AH
(2)DATA2DW0B430H,1062H
(3)DATA3DB4DUP(20H),20,0,6DUP(1,2)
4-4
(1)BX=2
(2)AL=2(3)CX=1(4)DL=10
4-5
(1)VAR1的偏移量是30H;VAR2的偏移量是3AH
(2)CNT=16=10H
(3)VAR2+2单元的内容是02H
4-9MOVBX,OFFSETARRAY;OFFSET取数组ARRAY的偏移地址
MOVCX,LENGTHARRAY;LENGTH取长度CX=100
MOVSI,0
MOVSI,TYPEARRAY;TYPE取类型SI=2
4-10方法一
XDBx,x,x,x
YDBx,x,x,x
ZDB5DUP(?
)
………
MOVSI,OFFSETX
MOVDI,OFFSETZ
MOVBX,OFFSETY
MOVCX,4
CLD
CLC
L1:
LODSB;AL←[SI],SI←SI+1
ADCAL,[BX]
INCBX
STOSB;[DI]←AL,DI←DI+1
LOOPL1
MOVAL,0
ADCAL,0
STOSB
………
方法二
MOVSI,OFFSETX
MOVBX,OFFSETY
MOVDI,OFFSETZ
MOVCX,5
CLC
CLD
L1:
LODSB
ADCAL,[BX]
INCBX
STOSB
LOOPL1
………
4-11………
MOVAX,X
MOVBX,X+2
SUBAX,Y
SBBBX,Y+2
MOVZ,AX
MOVZ+2,BX
JOL1
MOVDL,0
JMPL2
L1:
MOVDL,-1
L2:
………
4-15………
LEABX,FIRST
MOVCL,0
L3:
CMPBYTEPTR[BX],’$’
JZL2
CMP[BX],‘A’
JNZL1
INCCL
L1:
INCBX
JMPL3
L2:
4-16………
XORCX,CX
AGAIN:
CMPAX,0
JZDONE
SHLAX,1
JNCL1
INCCL
JMPAGAIN
DONE:
MOVCH,CL
SUBCH,16
NEGCH
4-17………
LEASI,DATA-W
MOVCX,COUNT
MOVAX,0
MOVBX,0
MOVDL,0
L3:
CMP[SI],AX
JNGL1
INCBL
L1:
CMP[SI],AX
JZL2
INCBH
L2:
INCDL
INCSI
INCSI
LOOPL3
MOVCOUT1,BL
MOVCOUT2,BH
MOVCOUT3,DL
4-19………
MOVSI,OFFSETBLOCK
MOVCX,COUNT
MOVBL,0
LP1:
MOVAL,[SI]
ANDAL,AL
JNSJUS
NEGAL
JUS:
CMPBL,AL
JAELP2
MOVBL,AL
MOVDL,[SI]
LP2:
INCSI
LOOPLP1
MOVMAX,DL
RET
………
4-22STRINGDB………80个字符
COUNTEQU80
MOVDI,OFFSETSTRING
MOVCX,80
MOVAL,20H;空格’□’=20H
CLD
REPNZSCASB;不同,则找
JZL1;找到
MOVCL,-1
RET
L1:
MOVAL,80-1
SUBAL,CL
MOVCL,AL
RET
4-23MOVCX,80
MOVDI,OFFSETSTRING
MOVAH,0
MOVAL,0DH;’CR’=0DH
REP:
SCASB
JZFOUND
INCAH
LOOPREP
FOUND:
MOVCH,AH
RET
5-5首地址末地址
1K×81000H1000H+(0400H-1)=13FFH
2K×81000H17FFH
4K×81000H1FFFH
8K×81000H2FFFH
5-7A15→G1=”1”
→
=”1”
A15A14A13A12A11A10~A0地址范围
1#10000(Y0)00000000000~111111111118000~87FFH
2#10001(Y1)00000000000~111111111118800~8FFFH
3#10010(Y2)00000000000~111111111119000~97FFH
A15A14A13A12A11A10~A0地址范围
4#10100(Y4)00000000000~11111111111A000~A3FFH
5#10100(Y4)10000000000~11111111111A400~A7FFH
6#10101(Y5)00000000000~11111111111A800~ABFFH
7#10101(Y5)10000000000~11111111111AC00~AFFFH
5.9
四片存储器的读写信号相连,接CPU的读写信号;地址线A0~A10相连,接至CPU的A0~A10;数据线D0~D7相连,接至CPU的D0~D7
5.10与上题相似,具体连线:
A18接至G1,A18接至/G2A,/G2B,A17~A15对应C,B,A,/Y0接存储器的片选信号/CE;地址线A0~A14接至CPU的A0~A14;数据线D0~D7接至CPU的D0~D7。
5.13存储器总容量128k,M0:
C0000H~DFFFEH(偶地址);M1:
C0001h~DFFFFH(奇地址)
5.14存储器为随即存储器,每片容量16K,总容量为64K(但仅用到48K)。
对应地址范围
0#:
B2000H~B3FFFH
1#:
B4000H~B7FFFH
2#:
B8000H~BBFFFH
3#:
BC000H~BDFFFH
6-4MOVDX,PORT_IN
INAL,DX
NOTAL
CMPAL,01H
JNZK1
MOVAL,01H;K0键按下
MOVCX,8
LP1:
OUTDX,AL
CALLDELAY
SHLAL,1
LOOPLP1
RET
K1:
CMPAL,02H
JNZK2
MOVAL,80H;K1键按下
MOVCX,8
LP2:
OUTDX,AL
CALLDELAY
SHRAL,1
LOOPLP2
RET
K2:
MOVAL,00H
OUTDX,AL
RET
6-6DATABUFDB100DUP(?
)
COUNTEQU100
MOVCX,COUNT
MOVBX,OFFSETDATABUF
IN_TEST:
INAL,STATUS
TESTAL,80H
JZIN_TEST
INAL,DATAS;DATAS数据端口地址
MOV[BX],AL
INCBX
LOOPIN_TEST
6-13中断类型号为8,在中断向量表中指针=4*8=32=20H即8号中断的中断处理子程序入口地址在00020~00023H中,即为0100H:
0040H
(SP)=0100H-6=00FAH;(SS)=0300H;(IP)=0040H;(CS)=0100H;(PSW)=0040H
7-1因为使用0通道、周期性、工作方式2,所以控制字为00110100=34H
外时钟Φ=2MHz=2*106Hz得到T1=0.5μs,TC=1ms/0.5μs=2000
脉冲周期为1ms,所以计数初值N=2000=07D0H
初始化程序:
MOVDX,2A3H;控制端口2A3H
MOVAL,34H;控制字
OUTDX,AL;控制字送控制端口
MOVDX,2A0H;通道0端口地址
MOVAL,0D0H
OUTDX,AL;先写低8位计数值到0通道
MOVAL,07H
OUTDX,AL;再写高8位计数值到0通道
7-7端口地址为60H~63H
(1)A组:
方式0、入C:
入B:
方式0,出
控制字:
10011001B=99H
初始化程序:
MOVDX,63H;控制端口地址63H
MOVAL,99H
OUTDX,AL;方式选择控制字送控制端口
(2)A组:
方式2B:
方式1、出
控制字:
11000100B=C4H
初始化程序:
MOVDX,63H
MOVAL,0C4H
OUTDX,AL
(3)A组:
方式1、入PC6、PC7出B组:
方式1、入
控制字:
10110110=B6H
初始化程序:
MOVDX,63H
MOVAL,0B6H
OUTDX,AL
7-9端口C工作方式0;PC上半部输入、下半部输出
首先PC7输入、读;PC0输出、发出脉冲
控制字:
100*1**0设8255地址为80~83H
初始化程序:
MOVAL,88H
OUT83H,AL
PC0以一定频率输出0101……,即送出0后延时一段时间再送1
中断服务程序:
LOP:
MOVAL,0
OUT82H,AL
CALLDELAY
INCAL
OUT82H,AL
CALLDELAY
JMPLOP
DELAYPROC
PUSHCX
MOVCX,080H
AGAIN:
CALLDELAY
LOOPAGAIN
POPCX
RET
DELAYENDP
7-11端口A:
输出、工作方式0;端口B输入
控制字:
1000*01*B=82H
初始化编程:
MOVDX,3C3H;控制口地址
MOVAL,82H;控制字
OUTDX,AL
MOVAL,0FFH;使继电器全断开
OUTDX,AL
检测:
MOVDX,3C1H;B口地址
INAL,DX;从B口读开关状态
NOTAL;求反
DECDX;得到PA口地址
OUTDX,AL;从A口输出,使相应的继电器工作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 参考答案 47 8086 硬件