微机原理第9章习题与答案.docx
- 文档编号:28562298
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:52.27KB
微机原理第9章习题与答案.docx
《微机原理第9章习题与答案.docx》由会员分享,可在线阅读,更多相关《微机原理第9章习题与答案.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理第9章习题与答案
习题
一、选择题
1.对8255A的C口执行按位置位/复位操作时,写入的端口地址是______。
A.端口AB.端口BC.端口CD.控制口
答案:
D
2.要将8255A的3个8位的I/O端口全部设定为方式0的输入,其设置的方式控制字为____。
答案:
D
3.当8255A的A口工作在方式1,B口工作在方式1时,C口仍然可按基本的输入输出方式工作的端口线有_________条。
答案:
B
4.当8255A端口PA、PB分别工作在方式2、方式1时,其PC端口引脚为_______。
答案:
C
5.如果8255A的端口A工作在双向方式,这时还有_____根I/O线可作其他用。
答案:
A
4~PC7全部为输出线时,表明8255A的A端口工作方式是______。
答案:
A
7.8255A中既可以作为数据输入、输出端口,又可以提供控制信息、状态信息的端口是____。
A.端口AB.端口BC.端口CD.控制口
答案:
C
8.8255A的端口A和端口B工作在方式1输出时,与外部设备的联络信号将使用____信号。
A.INTRB.
C.INTED.IBF
答案:
B
二、填空题
1.当8255A的A口工作于方式1输入,B口工作于方式0时,C口的_____位可以作为输入输出口使用。
答案:
5位
2.若要求8255A的A、B口工作在方式1,作为输入,C口作为输出,则输入8255A控制口的控制字为______。
答案:
B6H
3.若8255A的端口B工作在方式1,并为输出口,置位PC2的作用为______。
答案:
允许端口B输出中断
4.当数据从8255A的端口C往数据总线上读出时,8255的几个控制信号
、A1、A0、
、
分别是__________________。
答案:
01001
5.8255A在方式0工作时,端口A、B和C的输入输出可以有_______种组合。
答案:
16
三、问答题
8255A和外设之间有几个数据端口?
在结构上有什么区别?
答案:
3个数据端口
这3个端口与外设的数据接口都是8位,但功能不完全相同。
A口有3种工作方式,B口有2种工作方式,C口有1种工作方式。
C口可以分两部分使用,常用来配合A口和B口工作,C口的高四位PC7~PC4常用来配合A口工作,C口的低四位PC3~PC0常用来配合B口工作。
各端口在结构上有所不同:
端口A包含1个8位的数据输入锁存器,1个8位的数据输出锁存器;
端口B包含1个8位的数据输入缓冲器,1个8位的数据输出锁存器;
端口C包含1个8位的数据输入缓冲器,1个8位的数据输出锁存器。
2.8255A的地址信号线是什么?
共占用几个端口地址?
答案:
地址信号端A1、A0,有4种组合:
A1A0=00,选中端口A的寄存器;
A1A0=01,选中端口B的寄存器;
A1A0=10,选中端口C的寄存器;
A1A0=11,选中控制字寄存器。
3.A口工作于方式0,输入,B口工作于方式1,输出,C口的PC1作为输出联络口,PC2作为输入联络口,8255A占用的4个端口地址为80H~83H,编写初始化程序,画出端口地址的译码电路。
答案:
控制字:
1001010094H
MOVAL,94H
OUT83H,AL
4.8255A的A口和B口都工作于方式0,PC6作为输入联络口,PC2作为输出联络口。
当检测到PC6为“1”时,A口输出数据46H,并且PC2输出“1”。
设8255A的4个端口地址为108H~10EH,试编写以上操作程序段。
答案:
控制字:
1000100088HA口方式0输出C口高4位输入
PC2输出10000010105H
MOVDX,10EH
MOVAL,88H
OUTDX,AL;控制字
DECDX
NEXT:
INAL,DX
TESTAL,40H;测试PC6
JZNEXT;为0,继续查询
MOVDX,108H
MOVAL,46H
OUTDX,AL;A口输出
MOVAL,05H
MOVDX,10EH
OUTDX,AL;PC2输出
5.如题图9.1所示电路,当A口连接的开关闭合时,相应的B口连接的发光二极管亮。
(1)写出8255A的4个端口地址;
(2)编写程序完成以上操作。
题图9.1硬件电路连接
答案:
地址:
208H~20BH
控制字:
10010000A口发生0输入B口方式0输出
MOVDX,20BH
MOVAL,90H
OUTDX,AL
MOVDX,108H
INAL,DX;读A口
INCDX
OUTDX,AL;写B口
6.如题图9.2所示电路,B口工作于方式1输出,作为CPU和打印机之间的并行接口电路。
设8255A的端口地址为90H~93H,编写程序完成将RUF开始的1000个字节的数据打印。
题图9.2B口方式1输出
答案:
控制字1000010084HB口方式1输出
允许B口中断,可以查询中断指示状态:
PC2置1,00000101
MOVAL,84H
OUT93H,AL;写控制字
MOVAL,05H
OUT93H,AL;写中断允许
LEASI,RUF
MOVCX,1000
L1:
MOVAL,[SI];将数据传送至AL
OUT91H,AL;从A口输出数据,
使
变为低电平
L2:
INAL,92H;从C口读取状态字
;打印机取走数据后,
变为低电平,并将
变为高电平
ANDAL,01H;判断B口是否提出中断申请
JZL2;如果没有,继续检测状态字
INCSI;
DECCX
JNZL1
HLT
习题3答案
1.指出下列指令的错误原因。
(1)ANDAX,DL;类型不匹配
(2)ADDCS,DX;CS不能作为目的操作数
(3)MOVAX,IP;IP不能作为指令的操作数
(4)MOV[BP][SI],[SI];两个操作数不能同时为内存操作数
(5)SUB[BP][SI],ES:
DX;段超越前缀只能用在内存操作数之前
(6)XCHGAL,[SI][DI];没有[SI][DI]这种操作数形式
(7)JGEAX;条件转移指令的操作数只能是标号
(8)PUSHDL;对堆栈不能进行字节操作
2.用一条指令将BX清0。
(请给出3种方法)
方法1:
MOVBX,0
方法2:
SUBBX,BX
方法3:
ANDBX,0;将BX和0做与,可以将BX清零
方法4:
XORBX,BX
3.写出实现下列功能的指令序列。
(1)判断AX的值,若AX等于0,则转到标号LABEL处。
(请写出3种方法)
方法1:
CMPAX,0
JZLABEL;如果ZF=0,说明AX为0,因为CMP指令是做减法,但是不写回结果
;因此指令执行后AX内容不会受到破坏
方法2:
TESTAX,0FFH
JZLABEL;如果ZF=0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。
;和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已
;经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏
方法3:
ANDAX,0FFH;这个方法的原理和方法2其实是完全一致的
JZLABEL
(2)将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。
MOVAH,AL
ANDAL,0FH;AL高4位通过与清零,而低4位保持不变
MOVCL,4
SHRAH,CL;这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零
(3)若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。
TESTAX,01H;TEST做与运算,通过与来检测AX的最低位
JNZCONTINUE;如果ZF=1,说明AX的最低位是0,那么AX中的数是偶数,就跳转,否则,
;说明AX中的是奇数,而BX中的是偶数,符合结果要求,不用动了
XCHGAX,BX
CONTINUE:
….
4.分析下列指令序列完成什么功能。
MOVCL,4
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
答案:
将DX.AX中的32位数整体逻辑左移4位。
5.给出下列各条指令执行后AL以及CF、OF、SF、和ZF的值。
指令
AL
CF
OF
SF
ZF
备注
MOVAL,100
100/64H
XORAL,AL
100/64H
0
0
1
0
XOR后CF=OF=0,其余据结果设置
MOVAL,-1
-1/0FFH
0
0
1
0
MOV指令不影响标志位
INCAL
0
0
0
0
1
INC不影响CF,其余据结果设置
NOTAL
0FFH
0
0
0
1
NOT指令不影响标志位
SHLAL,1
0FEH
1
0
1
0
SHL据移出的位设CF,据结果设SF,ZF,一位移动,据移位前后最高位是否变化设置,有变化OF=1,无变化OF=0
CMPAL,10
0FEH
0
0
1
0
CMP指令根据结果设置6个标志位
SUBAL,7FH
7FH
0
0
0
0
SUB根据俄结果设置6个标志位
SHLAL,1
0FEH
0
1
1
0
解释同上
6.比较AX,BX和CX中无符号数的大小,将最小数放入AX中。
答案:
CMPAX,BX
JCBBB;如果AX<=BX,跳转
XCHGAX,BX;否则,交换AX和BX的值,将两者中的小值放到AX中去
BBB:
CMPAX,CX
JCCCC;如果AX<=CX,跳转
XCHGAX,CX;否则,交换AX和CX的值,将两者中的小值放到CX中去
CCC:
INT20H;返回DOS
7.变量定义伪指令与符号定义伪指令的主要作用是什么?
答案:
变量定义伪指令:
主要用来为某种类型(比如字节型、字型)的内存单元的地址指定一个可以引用的名字标识。
符号定义伪指令:
其实就是定义一个宏替换常量,用定义的符号代表一个文本串或者一个数值,在程序中遇到定义的符号时用相应的文本串或者数值去替换。
8.设有下列段定义:
DSEGSEGMENT
XDW1,3
DSEGENDS
给出下列两组指令序列分别执行后AX的值。
(1)MOVAX,DSEG
MOVDS,AX
MOVAX,X+1
(2)MOVAX,SEGX
MOVES,AX
MOVAX,ES:
X
INCAX
答案:
(1)(AX)=2
(2)(AX)=2
备注:
这两小段程序实现的功能是相同的,都是给子类型的变量X的值加1。
第二段程序采用了段超越方式来寻址操作数。
9.设有如下定义的数据段:
DATASEGMENT
ORG100
V1DW2DUP(20),$+10
BUF1DB‘100’,5
DD0
BUF2DW1,2,2A9H
LENEQUBUF2–BUF1
VADWBUF1
DATAENDS
则V1+1中存放的字节数据为(0),V1+4中存放的字数据为(114/72H),VA的内容为(106/6AH),LEN的值为(8)。
10.在数据段定义的两个变量S1和S2,要求设计一个完整的程序,将以S1为首地址的50个字节依次传送到以S2为首地址的内存单元中。
datasgsegment
s1db25dup('12')
s2db50dup(0)
datasgends
codesgsegment
assumecs:
codesg,ds:
datasg
start:
movax,datasg
movds,ax
moves,ax
movsi,offsets1
movdi,offsets2
movcx,50
repmovsb
movax,4c00h
int21h
codesgends
endstart
11.从键盘读入一个字符串(长度<50),统计其字母、数字及其他字符的个数。
F
datasgsegment
buff1db50;最大能容纳的字符个数
countdb(?
);实际输入的字符个数
buff2db50dup(?
);实际字符缓冲区
lettersdb0;输入的字母个数
digitsdb0;输入的数字个数
othersdb0;输入的其他字符的个数
datasgends
codesgsegment
assumecs:
codesg,ds:
codesg
start:
movax,datasg
movds,ax
movdx,offsetbuff1;为0AH号系统功能调用准备输入参数DS:
DX指向输入缓冲区的首地址
movah,0ah
int21h
xoral,al
movch,0
movcl,count;CX中存放循环次数
movsi,offsetbuff2;为lodsb准备源地址,DS:
SI指向实际的字符串地址
cld
check:
lodsb;取一个数据到AL
cmpal,'A'
jcx1
cmpal,'Z'
jncx1
incletters;将字符串中的大写字母个数统计到letters变量中
jmpnext
x1:
cmpal,'a'
jcx2
cmpal,'z'
jncx2
incletters;将字符串中的小写字母个数统计到letters变量中
jmpnext
x2:
cmpal,'1'
jcx3
cmpal,'9'
jncx3
incdigits;将字符串中的数字字符统计到digits变量中
jmpnext
x3:
incothers;统计其他字符个数
next:
loopcheck
movax,4c00h
int21h
codesgends
endstart
12.设计一个程序,求10个无符号数中的最大值。
并将最大值存入变量MAX中。
datasgsegment
arraydb20,12,16,14,13,90,45,32,67,100;字节型数组
maxdb0
datasgends
codesgsegment
assumecs:
codesg,ds:
datasg
start:
movax,datasg
movds,ax
leasi,array;数组首地址
movcx,10;数组元素个数
cld;让地址值不断增大
lodsb;将第一个数组元素放到AL中
movmax,al
deccx
next:
lodsb;取下一个数组元素到AL中
cmpal,max
jcgoon;(al)<=max则max中的值不变
movmax,al;否则max=(al)
goon:
loopnext
movax,4c00h
int21h
codesgends
endstart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)