微机原理与接口技术习题集文档格式.docx
- 文档编号:16263036
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:25
- 大小:148.92KB
微机原理与接口技术习题集文档格式.docx
《微机原理与接口技术习题集文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术习题集文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
7、在最小模式时CPU访问内存储器,哪些信号有效?
什么是总线周期?
8086CPU的一个总线周期包括多少时钟周期,什么情况下要插入Tw等待周期?
插入多少个Tw等待周期取决于什么因素?
8、在最小模式时,CPU访问I/O接口,哪些信号有效?
9、什么是中断向量?
中断向量表指的是什么?
中断向量表放在什么地方?
假如中断
类型为20,它的中断服务入口地址是多少?
第三章习题
判断下列问题是否正确,请说明理由。
1、寄存器间接寻址方式中,操作数在中。
A)通用寄存器B)堆栈C)存储器D)段寄存器
2、假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSHAX后,存
储单元=12H。
A)20014B)20011HC)20010HD)2000FH
3、若要检查BX寄存器中的D12位是否为1,应该用指令。
A)ORBX,1000HB)TESTBX,1000H(JNZYES)
C)XORBX,1000HD)ANDBX,1000H(JNZYES)
4、用BP作基址变址寻址时,操作数所在的段是。
A)数据段B)代码段C)堆栈段D)附加段
5、含有立即数的指令中,该立即数被存放在。
A)累加器中B)指令操作码后的内存单元中
C)指令操作码前的内存单元中D)由该立即数所指定的内存单元中
6、执行下列指令后:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
可用指令
来完成该功能。
A)REPLODSB
B)
REPSTOSB
C)REPESCASB
D)REPMOVSB
8、设(AL)
=-68,
(BL)=86
,执行SUBAL,
BL指令后,正确的结果
是。
A)CF=1B)
SF=1
C)OF=1
D)ZF=1
三、简答题
1、写出下列指令中源操作数和目的操作数的寻址方式的有
A)SCASBB)XLATC)MOVSBD)DAAE)NOPF)MULBH
4、假设(DS)=3000H,(BX)=0808H,(30808H)=012AAH,(3080A)=0BBCCH,当执行指令
2F00H,
MULCX
HLT
贝y(ax)=。
A)8D00HB)9260HC)8CA0HD)0123H
7、下列程序:
NEXT:
MOVAL,[SI]
MOVES:
[DI],AL
INCSI
INCDI
LOOPNEXT
5、假设(BX)=0449H,(BP)=0200H,(SI)=0046H,(SS)
(2F246H)=7230H则执行XCHGBX,[BP+SI]指令后,(BX)=?
6、执行下列指令序列后,完成的功能是什么?
MOVCX,4
SHRDX,1
RCRAX,1
7、下列指令执行后,BX=?
MOVCL,3
MOVBX,4DABH
ROLBX,1
RORBX,CL
8、执行下列指令序列,AH=?
AL=?
MOVAL,80H
MOVBL,08H
CBW
IDIVBL
第四章习题
1、阅读程序并回答问题:
START:
INAL,20H
MOVBL,AL
INAL,30H
MOVCL,AL
MOVAX,0
MOVCH,AL
L1:
ADDAL,BL
Lesdi,[bx]”后,(di)=?
,(es)=?
ADCAH,0
LOOPL1
中。
方法一、LEABX,TABLE
问
(1)本程序实现什么功能?
(2)结果在哪里?
(3)用乘法指令MULBL编程并使结果不变。
(假设20H、30H端口输入的数据均为无符号数)。
2、读下述程序段,请问:
什么情况下,本段程序的执行结果是AH=0?
BEGIN:
INAL,5FH
TESTAL,80H
JZNEXT
MOVAH,0
JMPSTOP
MOVAH,OFFH
STOP:
HLT
3、请编写一程序段完成AXX10的任务(要求不准用乘法指令做)。
4、内存中自TABLE开始的七个单元连续存放着自然数0至6的立方值(称作立方表)。
任给一数X(0WXW6)在XX单元,查表求X的立方值,并把结果存入YY单元
MOVAL,
XX
方法二、LEABX,
XLAT
MOVYY,
5、符号函数
-1
J0
卜1
TABLE
AL
.0(_128<
X<
127)
=0
:
假设任意给定的X值放在XX单元中,函数Y的值存放在YY单元中。
CMPAL,
JGEBIGR
0FFH
BIGR:
JEEQUL
1
EQUL:
的不同值给Y赋值的程序:
编程实现根据X
6、试编写一程序段,使数据段中偏移地址为0200H开始的128B单元的内容清0。
LEASI,CHR1
、S7分别存放在以S0、S1、…、S7为首地址的内存区域中,而这8个首地址偏移量连续存放在以BASE为首地址的跳转表内。
假设8种产品的编号分别为0、1、2、…、7,请编程实现根据产品编号跳转到相应的执行程序。
9、统计一个20字数据块中负元素的个数,数据块的首地址为BASE,负元素的个数存放在这20字数据块之后的单元中。
LEABX,BASE
MOVCX,20
MOVDX,0
LOP1:
MOVAX,[BX]
CMPAX,0;
可用ANDAX,AX
JGEJUS
INCDX
JUS:
INCBX
INCBX
DECCX
JNZLOP1;
或LOOPLOP1
MOV[BX],DX
10、已知存储器中存放有100个8位带符号数,存储区的首地址为ARRAY,试将其中的最大值和最小值找出来,分别存放在MAX和MIN单元中。
LEASI,ARRAY
MOVCX,100
MOVAL,80H;
-128送AL
LP1:
CLC
CMPAL,[SI]
JLBB
JMPAA
BB:
MOVAL,[SI]
AA:
INCSI
LOOPLP1
MOVMAX,AL
;
找出最大数
JCNEXT
;
CF=1
转NEXT
INCCH
CF=0
则CH内容加1
INCCL
则CL内容加1
DECDL
JNZLP
12、数据段中有两个字符串,分别存在STR1和STR2开始的单元中。
比较两个字符
13、编制一个程序,对DAT字节单元中的数(255)分别统计出有多少个10,余下
有多少个5,再余下有多少个2,再余下有多少个1。
统计得到的各数分别存在
MOVAL,07FH;
+127送AL
LP2:
JGCC
JMPDD
CC:
DD:
LOOPLP2
MOVMIN,AL;
找出最小数
11、统计寄存器AX内16位二进制数中0、1的个数,0的个数存CH,1的个数存CL。
MOVCX,0;
清CH、CL
MOVDL,16循环16次
CLC;
清进位位
LP:
RCLAX,1;
带CF循环左移
DX为0,否则使DX为0FFFFH
取源串首地址
取目的串首地址
字符串长度送计数寄存器
增地址
串比较
是否比较到最后字节
串相等转EQQ
否则0送DX寄存器
0FFFFH送DX寄存器
DAT0、DAT1、DAT2、DAT3中。
方法一:
LEABX,DAT;
取首址
MOVAL,[BX];
取这个字节数
MOVAH,0;
AH清0
MOVDL,10;
DIVDL除10
MOVDAT0,AL;
商即10的个数
MOVAL,AH
MOVAH,0
MOVDL,5
DIVDL
余数除5
MOVDAT1,AL;
商即
的个数
MOVDL,2
MOVDAT2,AL
MOVDAT3,AH
商即2的个数
余数即1的个数
方法二
MOVBL,DAT
取数
MOVCL,0;
计数个数
AA:
SUBBL,10;
减10
JCBB;
借位转BB
INCCL;
否则CL加1
MOVDAT0,CL;
存10个数
MOVCL,0
ADDBL,10;
恢复BL差值
BB1:
SUBBL,5
余数除2
JCCC
JMPBB1
MOVDAT1,CL;
存5个数
ADDBL,5;
恢复
DD1:
SUBBL,2
JCDD
JMPDD1
DD:
MOVDAT2,CL;
存2个数
ADDBL,2
MOVDAT3,BL;
存1个数
14、写出实现下列功能的指令组
(1)传送10H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容问:
最后结果AX=?
15、计算Z=((X+Y)X5-Y)/2。
设X的值为2,Y的值为1,结果存入数据段中
的DATA单元。
16、编程检测50H端口输入的字节数据,若为正,将BL清0;
若为负,将BL置为
FFH。
VR3DDCONTDUP(?
)
VR4DB2DUP(?
,CONTDUP(0))
VR5DBHOWAREYOU?
'
解:
为VR1分配2字节;
为VR2分配10字节;
为VR3分配40字节;
为
22字节;
为VR5分配12字节。
2、下面语句有何区别?
X1EQU1000H
和X2=1000H
17、寄存器DX和AX的内容构成32位数,DX内容为高16位,AX内容为低16位,编写程序段:
1)将该32位数左移两位,并将移出的高位保存在CL的低两位中;
2)将该32位数右移两位,并将移出的低位保存在BL的低两位中。
数据段中以变址寄存器SI为偏移地址的内存单元中连续存放着十个字节压缩型BCD
为X1赋值1000H,之后,不能再对X1重新赋值;
为X2赋值1000H,以再对X2重新赋值。
3、分析操作符有哪几种?
分别举例加以说明
(1)SEG[符号名]
如:
MOVAX,SEGDATA
码,编程求它们的BCD和,要求结果存放到AX中。
第五章习题
1、下列语句在存储器中分别为变量分配多少字节?
VR1DW9
VR2DW4DUP(?
),2
CONTEQU10
(2)OFFSET[符号名]女口:
MOVAX,OFFSETDAT
(3)TYPE[符号名]女口:
MOVAX,TYPEA
(4)SIZE[符号名]女口:
MOVAX,SIZED1
(5)LENGTH[符号名]女口:
MOVAX,LENGTHD1
注:
DATA是段名;
DAT是定义的变量名;
A是定义的数据类型变量名
DUP()定义的变量名。
4、8086/8088汇编语言程序中段的类型有几种,各段如何定义?
段定义中
型、组合类型、类别名各起什么作用,各有什么含义?
5、宏定义如下,请冋要把BX寄存器左移4位,如何进行宏调用?
SHIFTMACROX,Y,Z
MOVCL,X
SA&
YZ,CL
ENDM
VR4分配
之后,可
D1是用
定位类
6、某软件共可接收10个键盘命令(分别为A、B、C、…、J),完成这10个命令的程序分别为过程P0、P1、…、P9。
编程序从键盘接收命令,并转到相应的过程去执行。
要求用两种方法:
(1)用比较、转移指令实现。
(2)用跳转表实现
7、内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90-100、60-89、60以下者各有多少人,并把结果连续存放到自RESUT开始的单元(要求画出程序流程图,各段定义完整)。
程序清单:
DATASEGMENT
数据段
BUFDB?
?
•••,
?
疋义学生成绩表
RESUTDB?
放置分数段统计值
DATAENDS
STACKSEGMENT
堆栈段
DB50DUP(0)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,
DS:
DATA,SS:
STACK
MAINRPOCFAR
PUSHDS
XORAX,0
PUSHAX,0;
保护DOS
MOVAX,DATA
MOVDS,AX
LEABX,BUF
成绩表首址
MOVCX,100
学生人数
MOVAH,0
低于60分人数
MOVDH,0
60-89分学生人数
MOVDL,0
90-100分学生人数
AAA1:
MOVAL,[BX]
CMPAL,60
与60比较
JGEBBB1
INCAH
JMPCCC1
大于等于转BBB1
BBB1:
CMPAL,90
与90比较
JGEBBB2
INCDL
大于等于转BBB2
CCC1:
LOOPAAA1
修改成绩表位置
MOVRESUT,
AH;
存放统计结果
MOVRESUT+1
DL
MOVRESUT+2
RET
MAINENDP
DH
CODEENDS
END
8、编程序一边从键盘上接收字符,一边将其写入指定的文件,字符个数共60。
ENGLISHDB'
PRESSRETURNKEYTOEXIODH,OAH,‘$'
BUFDB60;
第一个字节设的最大长度(含0DH-回车符)
DB0;
第二个字节空出,由DOS最后填实际长度(不含0DH)
DB61DUP(0);
第三字节开始写字符
DB'
$'
DW20DUP(0)
ASSUMECS:
CODE,SS:
STACK,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEADX,ENGLISH
MOVAH,09H
INT21H
LEADX,BUF
MOVAH,0AH
MOVAH,4CH
ENDBEGIN
本题中,最多可输入60个字符,BUF中第61个内存单元可存放回车代码。
9、编制一个程序,实现DAT1和DAT2相加,数据格式如下
DAT1DB4,12H,34H,56H,78H
DAT2DB3,12H,34H,56H
其中DAT1和DAT2单元的第一个数据指定该数的字节数。
DATASEGMENTPARA'
DATA
STACKSEGMENTPARA'
DW100DUP(?
CODE,DS:
DATA,SS:
STACK,ES:
STARTPROCFAR
MOVAX,DATA
MOVES,AX
LEASI,DAT1
LEADI,DAT2
MOVBX,[SI]
MOVCX,[DI]
CLC
MM:
MOVAL,[DI]
ADC[SI],AL
DECBX
LOOPMM
M1:
JZ,M2
JNCM2
ADCBYTEPRT[SI],0
JMPM1
M2:
RET
STARTENDP
10、编制一程序,把字符串’123456789(中的’’456清除,将字符串变为’123890
DATASEGMENTPARA’DATA'
DATDB’1234567890'
STACKSEGMENTPARA’STACK'
DW100DUP⑺
DATA,ES:
LEASI,DAT
LEADI,DAT
ADDDI,3
ADDSI,7
MOVCX,3
CLD
REPMOVSB
ENDS
11、定义一条宏指令,它可以实现任一数据块的传送,只要给出源和目的数据块的首地址以及数据块的长度即可。
然后采用宏调用把BUF1开始的100个字节单元中的数据依次传送到BUF2开始的100个字节单元中。
12、已知数据段DAT单元存放某一数N(-6WNW6),请编写程序,用查表法求数N的平方值,结果送SQR单元。
TABLEDB0,1,4,9,16,25,36
DATDBN
SQRDB?
DW20DUP(0)
CODE,
DS:
DATA,SS:
XORAX,
AX
PUSHAX
LEABX,TABLE
DAT
6
JGAA
-6
JGENEXT
MOVSQR
,al
第六章习题
1、可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?
其中C口的使用有
哪些特点?
4、试编写程序,将从8255A的端口A输入的数据,随即向端口B输出,并对输入的数据加以判断,当大于等于80H时,置位PC5和PC2,否则复位PC5和PC2。
设825
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 习题集
![提示](https://static.bdocx.com/images/bang_tan.gif)