微机原理与接口设计试题.docx
- 文档编号:4592137
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:13
- 大小:292.64KB
微机原理与接口设计试题.docx
《微机原理与接口设计试题.docx》由会员分享,可在线阅读,更多相关《微机原理与接口设计试题.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理与接口设计试题
13年1月试卷
一、填空题(16分,每小题2分)
2.8086地址总线中的AD0~AD1(低15位)位与数据总线公用。
使
用总线周期控制信号来锁存地址信号。
3.8086的标志寄存器中有6个控制标志位和3个状态标志位。
4.执行指令“JGDS时,需判断标志位SF、OFZF的内容。
5.中断向量表的地址范围是00000H〜03FFFIH物理地址),中断类型码为35H的中断向量所占用的物理地址是000D4H〜000D7JH
6.8253的6种工作方式中,有2种能够自动重装计数初值,有2种是
采用硬件方式启动计数过程。
7.一直8255的端口地址为40H〜43H贝U“OUT43H08H'所执行的
操作是将C端口的PC4置0。
8.某内存地址范围是A0000H〜C7FF,其存储容量为160Kbyte,需—
要20片8KX8位的内存芯片才能构成该存储区。
二、计算器
1.某堆栈区地址为2000H:
0000H〜2000H:
0100HSP=0080H计算:
1)栈顶的物理地址为20080H栈底的物理地址为20000H
2)执行“RET指令(段间调用)后,栈顶的物理地址为20084H
2.MOVSI,0100H
MOVAL,08H
MOVCX,35H
L1:
MOV[SI],AL
DECAL
INCSI
LOOPL1
运行结果:
AL=D3SI=0135H,QS:
0105H=03H
3.MOVAX,6587H
MOVBX,3412H
NEGBX
CBW
IDIVBH
执行结果:
AX=F702HBX=CBE。
4.根据数据定义给出结果
DATASEGMENT
D1DB1,2,3,4,5DUP(0'7:
89
D2D‘hisisacomputer:
0DH,0AH
CNTEQU$-D1
LEABX,D2
MOVAX,SIZED1
CNT=26-BX=7AX=7-
三、程序设计
编写完整的汇编程序,并使用二个子程序分别实现以下功能:
1)从键盘输入一个32位(双字)的16进制无符号数-存储在变量
NUM中;
2)将NUM与16位数NUM21乘,乘积存储在变量NUM中;
3)统计NUM中16进制数字“0”的个数,并显示输出。
答:
我觉得2)太难了,应该不会考,从周明德的书上看到一道差不多的写了两大篇儿,,
DATASEGMENT
NUM1DD?
NUM2DB1AH
NUM3DD?
DATAENDS
STACKSEGMENT
STADB100DUP⑺
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,SS:
STACK,ES:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AXMOVAX,STACK
MOVSS,AX
MOVTOP
MOVSI,OFFSETNUM1
MOVBX,OFFSETNUM2
MOVDI,OFFSETNUM3
;初始化
MOVCX,04;设定输入数字时循环的次数
CALLENT;调用输入数字子程序
CALLMULT调用乘法子程序
MOVSIQFFSETNUM3
MOVCX,04H
CALLDISPLAY调用输出子程序
MOVAH,4CH
INT21H
;输入子程序
ENTNPROCNEAR
CLD
ADDSI,CX从最高位开始输入
LOP:
MOVAH,1
INT21H;高位输入
CMPAL,40H判断是0〜9还是A〜F
JANEXT若字母,则跳
SUBAL,30H减去30H转为16进制
JMPFINISH
NEXT:
SUBAL,31H若为字母则减去31H转为16进制
FINISH:
MOVBH,AL暂存至BH
MOVAH,1
INT21H;低位输入
CMPAL,40H判断是0〜9还是A〜F
JANEXT若字母,则跳
SUBAL,30H减去30H转为16进制
JMPFINISH
NEXT:
SUBAL,31H若为字母则减去31H转为16进制
FINISH:
MOVBL,AL暂存至BL
MOV[SI],BX;将BX移至NUM1
DECSI偏移地址-1
LOOPLOP
RET
ENTNENDP
;统计“0”的个数并输出子程序
DISPLAYPROCNEAR
MOVBL,0存在BL中
AGAIN:
MOVAX,[SI];取NUM放在AX中
TESTAL,0FFH低八位判0
JNZNEXT1
INCBL
NEXT1:
TESTAH,OFF高八位判0
JNZNEXT2
INCBL
NEXT2:
INCSI
LOOPAGAIN
ADDBL,30H将BL转换为ASCI(小于等于8)
MOVDL,AL
MOVAH,02H
INT21H;屏幕显示
RET
DISPLAYENDP
CODEENDS
ENDSTART
四、可编程接口芯片的应用技术
8253的CLK0输入脉冲F=1MH,255的A口连接OUT1和按键,
8255的B口接8个LED
要求:
1.依据接线图写出8255的A口、B口、C口及控制寄存器的端口地址,8253的计数器CNT0CNT1CNT2及控制寄存器的端口地址。
2.当PAO的按键按下,使B口的“LED0点亮1秒后熄灭,下一次按键使“LED0点亮0.5秒后熄灭,按以下顺序反复循环:
“LED0,
“LED1,“LED7,LED0,LED1,”,如键盘有输入就
结束循环并退出。
试编写完整的汇编程序。
答:
1.8255:
034CH〜034FH8253:
0344H〜0347H
2.我没看懂题,就都按亮1秒写了==
DATASEGMENT
mesdbenteranykeyexittodo$Ah)h,
DATAENDS
STACKSEGMENT
STADW100DUP⑺
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVTOP
MOVDX,OFFSETMES
MOVAH,09H
INT21H
MOVDX,O34FH
MOVAL,90H
OUTDX,AL
LOOPA:
MOVDX,034CH
INAL,DX
NOTAX
13年5月重修试卷
一、填空题
1.若[X]=35H,[丫]=F7H,则[X+Y]=。
看不清原反补,反正会==
2.8086/8088汇编语言中,操作数具有,和三种属f
没找到什么属性,倒是分立即数、寄存器、存储器三种类型,,
3.8086/8088的CPU有6个状态标识位和3个控制标志位。
4.要把AL的D2〜D5位置1,其他位保持不变,应使用的指令是:
OR
AL,3CH
5.将不带符号数进行比较是,应根据标志位ZF和CF来判断比较_
结果。
6.若某外部中断的类型码为仆H则该中断向量(在中断向量表中)
的物理地址是0007CH〜00080H
7.一片中断控制器8259A可以管理8级外部中断,两片8259A通过
主从方式可以管理15级处部中断。
(这题蒙的,,)
8.某RAM芯片的存储容量是16KX8bit,则该芯片有8根数据线和—14根地址线。
二、计算题
1•已知各寄存器内容,确定下列指令中存储器操作数的物理地址。
DS=4000HSS=6000HBX=1000HBP=2000HDI=3000H
1)MOVAX,[1234H]41234H
2)MOVAX,[BX]41000H
3)MOVAX,5678H[BP]67678H
4)MOVAX,1000H[BX][DI]45000H
5)MOVAX,[BP][DI]65000H
2.MOVAX,6789H
MOVBX,ABCDH
NOTBX
DIVBL
执行结果:
AX=6789HBX=5432H(我算商大于FF,产生中断?
)
3.MOVAX,1234H
MOVBX,5678H
SUBAX,BX
HLT
执行后各标志位状态分别为:
CF=1SF=JZF=0,OF=0PF=Q
4.根据数据定义给出结果:
DATASEGMENT
D1DW230BH,1,2,3,4,4DUP(0)
D2DBBCD0ABH
CNTEQU$-D1CNT=15—
LEABX,D2BX=10—
MOVAX,TYPED1AX=2-
三、程序设计
1BU正
1
负
的个数
0分
Nu
字节的用原码表示
将
B
答:
F
tAsegment
中
的JFDBQX1OO
正
PLUSDB1OODUP⑺
负
数NUM中。
M1NUSDB1OODUP⑺
分
NUmpdb?
P
UUMMDB?
S
DATAENDS
M
的tacksegment数,要求:
STADB1OODUP(?
)
S
中OPEQULENGTHSTA
计
STACKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,SS:
STACK,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
MOVSTOP
MOVSI,OFFSETBUF1
MOVDI,OFFSETPLUS
MOVBX,OFFSETMINUS
MOVDX,00;记录正负数个数清零
MOVCX,64;设置循环次数
LOP:
MOVAL,[SI];取一个数
TESTAL,08H判断正负
JNZNEXT负数跳
MOV[DI],AL;正数挪到PLUS
INCDI
INCDH正数个数+1
NEXT:
MOV[BX],AL负数挪到MINUS
INCBX
INCDL;负数个数+1
LOOPLOP
MOVAX,OFFSETNUMP
MOV[AX],DH放正数个数
MOVAX,OFFSETNUMM
MOV[AX],DL;放负数个数
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2
使
用1
子2
程答:
中NUM的累加和存放在AX中。
DAtasegment
现D
上数UM1DBX?
X10
缩CD数,试编写完整的汇编程序,并
两并UM2DB5DUP⑺
:
存
放ATAENDS
NUM中;
STACKSEGMENT
STADB100DUP⑺
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK;ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
MOVSTOP
MOVSI,OFFSETNUM1
MOVDI,OFFSETNUM2
MOVCX,05;设置循环次数
CALLTRN;调用转换子程序
MOVSI,OFFSETNUM2
MOVCX,05;设置循环次数
CALLPLSS调用加法子程序
MOVAH,4CH
INT21H
TRNSPROCNEA转换子程序
LOP:
PUSHCX保护CX
MOVAL,[SI];取一个非压缩BCD马
INCSI
MOVAH,SI再取一个
INCSI
MOVCL,04H设置左移次数
SHLAH,CL第二个BCD马左移四位
ORAL,AH第二个与第一个相或
MOV[DI],AL;存至UNUM2
INCDI
POPCX恢复CX
LOOPLOP
RET
TRNSENDP
PLSSPROCNEA相加子程序
MOVAX,00;AX清零
CLCCF清零
LOP:
PUSHCX保护CX
MOVBL,[SI];取一个压缩BCD码
INCSI
MOVBH,BL
ANDBL,0FH第一个取低四位
ADCAL,BL加到AL
AAA非压缩BCD码加法调整
ANDBH,0F0H第二个取高四位
MOVCL,O4H
SHRBH,CL右移四位
ADCAL,BH加到AL
AAA
POPCX
LOOPLOP
RET
PLSSPROCENDS
CODEENDS
ENDSTART
四、可编程接口芯片应用技术
8253的CLK0输入脉冲F=500KHzOUT1接8255的A口,8255
的B口接6个LED
要求:
1.依据接线图写出8255的A口,B口,C口及控制寄存器的端口地址,8253的计数器CNTO、CNT1CNT2及控制寄存器的端口地址。
2.使B口的LED按以下顺序循环点亮:
“LED(”,LEDf,,,,“LED5,LED0,'LED1',”,每个LED点亮1秒后切换,反复
循环,如键盘有按键就停止。
试编写完整的汇编程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 设计 试题