微机原理及接口设计试题Word文件下载.docx
- 文档编号:15693821
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:12
- 大小:128.62KB
微机原理及接口设计试题Word文件下载.docx
《微机原理及接口设计试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理及接口设计试题Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
INCSI
LOOPL1
运行结果:
AL=D3,SI=0135H,(DS:
0105H)=03H
3.MOVAX,6587H
MOVBX,3412H
NEGBX
CBW
IDIVBH
执行结果:
AX=F702H,BX=CBEEH。
4.根据数据定义给出结果
DATASEGMENT
D1DB1,2,3,4,5DUP(0),’67’,89
D2DB‘Thisisacomputer’,0DH,0AH
CNTEQU$-D1
LEABX,D2
MOVAX,SIZED1
CNT=26,BX=7,AX=7。
三、程序设计
编写完整的汇编程序,并使用三个子程序分别实现以下功能:
1)从键盘输入一个32位(双字)的16进制无符号数,存储在变量NUM1中;
2)将NUM1与16位数NUM2相乘,乘积存储在变量NUM3中;
3)统计NUM3中16进制数字“0”的个数,并显示输出。
答:
我觉得2)太难了,应该不会考,从周明德的书上看到一道差不多的写了两大篇儿……
NUM1DD
NUM2DB1AH
NUM3DD
DATAENDS
STACKSEGMENT
STADB100DUP()
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,SS:
STACK,ES:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
MOVSP,TOP
MOVSI,OFFSETNUM1
MOVBX,OFFSETNUM2
MOVDI,OFFSETNUM3
;
初始化
MOVCX,04H;
设定输入数字时循环的次数
CALLENTN;
调用输入数字子程序
CALLMULT;
调用乘法子程序
MOVSI,OFFSETNUM3
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
低位输入
MOVBL,AL;
暂存至BL
MOV[SI],BX;
将BX移至NUM1
DECSI;
偏移地址-1
LOOPLOP
RET
ENTNENDP
统计“0”的个数并输出子程序
DISPLAYPROCNEAR
MOVBL,0;
存在BL中
AGAIN:
MOVAX,[SI];
取NUM3放在AX中
TESTAL,0FFH;
低八位判0
JNZNEXT1
INCBL
NEXT1:
TESTAH,0FFH;
高八位判0
JNZNEXT2
NEXT2:
INCSI
LOOPAGAIN
ADDBL,30H;
将BL转换为ASCII(小于等于8)
MOVDL,AL
MOVAH,02H
屏幕显示
DISPLAYENDP
CODEENDS
ENDSTART
四、可编程接口芯片的应用技术
8253的CLK0输入脉冲F=1MHz,8255的A口连接OUT1和按键,8255的B口接8个LED。
要求:
1.依据接线图写出8255的A口、B口、C口及控制寄存器的端口地址,8253的计数器CNT0,CNT1,CNT2及控制寄存器的端口地址。
2.当PA0的按键按下,使B口的“LED0”点亮1秒后熄灭,下一次按键使“LED0”点亮秒后熄灭,按以下顺序反复循环:
“LED0”,“LED1”,……,“LED7”,“LED0”,“LED1”,……,如键盘有输入就结束循环并退出。
试编写完整的汇编程序。
1.8255:
034CH~034FH;
8253:
0344H~0347H。
2.我没看懂题,就都按亮1秒写了==
MESDBENTERANYKEYEXITTODOS,0DH,0AH,‘$’
DATAENDS
STADW100DUP()
STACKENDS
ASSUMECS:
CODE,DS:
DATA,SS:
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVSP,TOP
MOVDX,OFFSETMES
MOVAH,09H
INT21H
MOVDX,034FH
MOVAL,90H
OUTDX,AL
LOOPA:
MOVDX,034CH
INAL,DX
NOTAX
13年5月重修试卷
一、填空题
1.若[X]=35H,[Y]=F7H,则[X+Y]=。
看不清原反补,反正会==
2.8086/8088汇编语言中,操作数具有,和三种属性。
没找到什么属性,倒是分立即数、寄存器、存储器三种类型……
3.8086/8088的CPU有6个状态标识位和3个控制标志位。
4.要把AL的D2~D5位置1,其他位保持不变,应使用的指令是:
ORAL,3CH。
5.将不带符号数进行比较是,应根据标志位ZF和CF来判断比较的结果。
6.若某外部中断的类型码为1FH,则该中断向量(在中断向量表中)的物理地址是0007CH~00080H。
7.一片中断控制器8259A可以管理8级外部中断,两片8259A通过主从方式可以管理15级外部中断。
(这题蒙的……)
8.某RAM芯片的存储容量是16K×
8bit,则该芯片有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=6789H,BX=5432H(我算商大于FF,产生中断)
3.MOVAX,1234H
MOVBX,5678H
SUBAX,BX
HLT
执行后各标志位状态分别为:
CF=1,SF=1,ZF=0,OF=0,PF=0。
4.根据数据定义给出结果:
DATASEGMENT
D1DW230BH,1,2,3,4,4DUP(0)
D2DB‘ABCD’,0ABH
CNTEQU$-D1CNT=15
LEABX,D2BX=10
MOVAX,TYPED1AX=2
1.数组BUF1中存放着100个字节的用原码表示的带符号数,要求:
将BUF1中的正、负数分别复制到数组PLUS和MINUS中,并统计正、负数的个数,分别放在NUMP和NUMM中。
答:
BUFDBX1,…,X100
PLUSDB100DUP()
MINUSDB100DUP()
NUMPDB
NUMMDB
DATA
MOVSI,OFFSETBUF1
MOVDI,OFFSETPLUS
MOVBX,OFFSETMINUS
MOVDX,00H;
记录正负数个数清零
MOVCX,64H;
设置循环次数
LOP:
MOVAL,[SI];
取一个数
TESTAL,08H;
判断正负
JNZNEXT;
负数跳
MOV[DI],AL;
正数挪到PLUS
INCDI
INCDH;
正数个数+1
NEXT:
MOV[BX],AL;
负数挪到MI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 设计 试题