微机原理及接口设计精彩试题.docx

上传人:b****1 文档编号:1875027 上传时间:2023-05-02 格式:DOCX 页数:14 大小:129KB
下载 相关 举报
微机原理及接口设计精彩试题.docx_第1页
第1页 / 共14页
微机原理及接口设计精彩试题.docx_第2页
第2页 / 共14页
微机原理及接口设计精彩试题.docx_第3页
第3页 / 共14页
微机原理及接口设计精彩试题.docx_第4页
第4页 / 共14页
微机原理及接口设计精彩试题.docx_第5页
第5页 / 共14页
微机原理及接口设计精彩试题.docx_第6页
第6页 / 共14页
微机原理及接口设计精彩试题.docx_第7页
第7页 / 共14页
微机原理及接口设计精彩试题.docx_第8页
第8页 / 共14页
微机原理及接口设计精彩试题.docx_第9页
第9页 / 共14页
微机原理及接口设计精彩试题.docx_第10页
第10页 / 共14页
微机原理及接口设计精彩试题.docx_第11页
第11页 / 共14页
微机原理及接口设计精彩试题.docx_第12页
第12页 / 共14页
微机原理及接口设计精彩试题.docx_第13页
第13页 / 共14页
微机原理及接口设计精彩试题.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理及接口设计精彩试题.docx

《微机原理及接口设计精彩试题.docx》由会员分享,可在线阅读,更多相关《微机原理及接口设计精彩试题.docx(14页珍藏版)》请在冰点文库上搜索。

微机原理及接口设计精彩试题.docx

微机原理及接口设计精彩试题

13年1月试卷

一、填空题(16分,每小题2分)

1.若X=-35H,Y=70H,则[X]反=11011100,[X-Y]补=10100101。

2.8086地址总线中的AD0~AD15(低15位)位与数据总线公用。

使用总线周期控制信号来锁存地址信号。

3.8086的标志寄存器中有6个控制标志位和3个状态标志位。

4.执行指令“JGDST”时,需判断标志位SF、OF、ZF的容。

5.中断向量表的地址围是00000H~03FFFH(物理地址),中断类型码为35H的中断向量所占用的物理地址是000D4H~000D7H。

6.8253的6种工作方式中,有2种能够自动重装计数初值,有2种是采用硬件方式启动计数过程。

7.一直8255的端口地址为40H~43H,则“OUT43H,08H”所执行的操作是将C端口的PC4置0。

8.某存地址围是A0000H~C7FFFH,其存储容量为160Kbyte,需要20片8K×8位的存芯片才能构成该存储区。

二、计算器

1.某堆栈区地址为2000H:

0000H~2000H:

0100H,SP=0080H,计算:

1)栈顶的物理地址为20080H,栈底的物理地址为20000H。

2)执行“RET”指令(段间调用)后,栈顶的物理地址为20084H。

2.MOVSI,0100H

MOVAL,08H

MOVCX,35H

L1:

MOV[SI],AL

DECAL

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)太难了,应该不会考,从周明德的书上看到一道差不多的写了两大篇儿……

DATASEGMENT

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

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];取NUM3放在AX中

TESTAL,0FFH;低八位判0

JNZNEXT1

INCBL

NEXT1:

TESTAH,0FFH;高八位判0

JNZNEXT2

INCBL

NEXT2:

INCSI

LOOPAGAIN

ADDBL,30H;将BL转换为ASCII(小于等于8)

MOVDL,AL

MOVAH,02H

INT21H;屏幕显示

RET

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”点亮0.5秒后熄灭,按以下顺序反复循环:

“LED0”,“LED1”,……,“LED7”,“LED0”,“LED1”,……,如键盘有输入就结束循环并退出。

试编写完整的汇编程序。

答:

1.8255:

034CH~034FH;8253:

0344H~0347H。

2.我没看懂题,就都按亮1秒写了==

DATASEGMENT

MESDBENTERANYKEYEXITTODOS,0DH,0AH,‘$’

DATAENDS

STACKSEGMENT

STADW100DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

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中。

答:

DATASEGMENT

BUFDBX1,…,X100

PLUSDB100DUP(?

MINUSDB100DUP(?

NUMPDB?

NUMMDB?

DATAENDS

STACKSEGMENT

STADB100DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

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;负数挪到MINUS

INCBX

INCDL;负数个数+1

LOOPLOP

MOVAX,OFFSETNUMP

MOV[AX],DH;放正数个数

MOVAX,OFFSETNUMM

MOV[AX],DL;放负数个数

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2.数组NUM1中有10个非压缩BCD数,试编写完整的汇编程序,并使用子程序来实现上述两个功能:

1)将其转换为压缩性BCD数,并存放到数组NUM2中;

2)求数组NUM2的累加和存放在AX中。

答:

DATASEGMENT

NUM1DBX1,…,X10

NUM2DB5DUP(?

DATAENDS

STACKSEGMENT

STADB100DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK;ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

MOVSI,OFFSETNUM1

MOVDI,OFFSETNUM2

MOVCX,05H;设置循环次数

CALLTRNS;调用转换子程序

MOVSI,OFFSETNUM2

MOVCX,05H;设置循环次数

CALLPLSS;调用加法子程序

MOVAH,4CH

INT21H

TRNSPROCNEAR;转换子程序

LOP:

PUSHCX;保护CX

MOVAL,[SI];取一个非压缩BCD码

INCSI

MOVAH,SI;再取一个

INCSI

MOVCL,04H;设置左移次数

SHLAH,CL;第二个BCD码左移四位

ORAL,AH;第二个与第一个相或

MOV[DI],AL;存到NUM2

INCDI

POPCX;恢复CX

LOOPLOP

RET

TRNSENDP

PLSSPROCNEAR;相加子程序

MOVAX,00H;AX清零

CLC;CF清零

LOP:

PUSHCX;保护CX

MOVBL,[SI];取一个压缩BCD码

INCSI

MOVBH,BL

ANDBL,0FH;第一个取低四位

ADCAL,BL;加到AL

AAA;非压缩BCD码加法调整

ANDBH,0F0H;第二个取高四位

MOVCL,04H

SHRBH,CL;右移四位

ADCAL,BH;加到AL

AAA

POPCX

LOOPLOP

RET

PLSSPROCENDS

CODEENDS

ENDSTART

四、可编程接口芯片应用技术

8253的CLK0输入脉冲F=500KHz,OUT1接8255的A口,8255的B口接6个LED。

要求:

1.依据接线图写出8255的A口,B口,C口及控制寄存器的端口地址,8253的计数器CNT0,、CNT1、CNT2及控制寄存器的端口地址。

2.使B口的LED按以下顺序循环点亮:

“LED0”,“LED1”,……,“LED5”,“LED0”,“LED1”,……,每个LED点亮1秒后切换,反复循环,如键盘有按键就停止。

试编写完整的汇编程序。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2