微机原理与接口设计试题.docx

上传人:b****3 文档编号:4592137 上传时间:2022-12-07 格式:DOCX 页数:13 大小:292.64KB
下载 相关 举报
微机原理与接口设计试题.docx_第1页
第1页 / 共13页
微机原理与接口设计试题.docx_第2页
第2页 / 共13页
微机原理与接口设计试题.docx_第3页
第3页 / 共13页
微机原理与接口设计试题.docx_第4页
第4页 / 共13页
微机原理与接口设计试题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

微机原理与接口设计试题.docx

《微机原理与接口设计试题.docx》由会员分享,可在线阅读,更多相关《微机原理与接口设计试题.docx(13页珍藏版)》请在冰豆网上搜索。

微机原理与接口设计试题.docx

微机原理与接口设计试题

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秒后切换,反复

循环,如键盘有按键就停止。

试编写完整的汇编程序。

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1