- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福师大福清分校《微机原理与接口技术》5(A卷)
2002级电子信息工程专业
《微机原理与接口技术》期末试卷(A)
学号: 姓名:
一、简答题(每小题6分,共36分)
1、8086CPU在形成三大总线时,为什么要对部分地址线进行锁存用什么信号控制锁存?
计算机执行一条访问内存或端口的机器指令的时间总线周期8086/8088的基本总线周期由4个时钟周期组成中断向量是中断处理子程序的入口地址,它放在中断向量表中屏蔽中断受中断允许标志的影响;SP=SP-1=002EH。
6、标志寄存器FLAGS中有哪些标志位?下列情况下应该判断哪个标志位并说明其状态。
(1)比较两个无符号数是否相等;(2)两个无符号数相减后比较大小;(3)两个有符号数据运算后结果是正数还是负数;(4)两个有符号数相加后是否产生了溢出。
答:标志寄存器FLAGS中含有6个状态标志位和3个控制标志位,它们分别为:进位标志CF、奇偶标志PF、辅助进位标志AF、零标志ZF、符号标志SF、溢出标志OF;中断允许标志IF、方向标志DF、单步标志TF。
(1)判断ZF和CF,若ZF=1,表示两个无符号数相等;若ZF=0,判断CF,若CF=1,则目的操作数小于源操作数,CF=0,则目的操作数大于源操作数;
(2)判断ZF和CF标志,其结果与比较指令相同。
(3)判断SF标志位,SF=1则运算结果为负数,否则,为正数。
(4)判断OF标志位,OF=1则运算结果溢出,否则,没有溢出。
二、阅读程序(每小题6分,共24分)
1、仔细阅读如下程序,写出该程序的功能。
CMP AL,0AH
JZ EQUAL
MOV DX,0
JMP NEXT
EQUAL:MOV DX,1
NEXT: HLT
请写出该程序的功能:判断AL寄存器中内容是否为0AH,是则DX置1,否则,DX清0。
2、仔细阅读如下程序,写出该程序的功能。(选做)
MOV AX,0707H ;非压缩BCD码送AX
AAD ;AX=0077
MOV BL,05H ;除数送BL
DIV BL ;余数AH=02H,AL=0FH
MOV BL,AH ;余数存入BL中
AAM ;AX=0105H(商的非压缩BCD码)
HLT
请写出该程序的功能:77÷5=15……2 。
3、写出实现下列功能的指令组:
(1)传送30H到AL寄存器:MOV AL,30H;
(2)将AL的内容乘以2:ADD AL,AL;
(3)传送15H到BL:MOV BL,15H;
(4)AL的内容乘以BL的内容:MUL BL;
问:最后结果AX=07E0H;
4、(1)程序段A:
MOV CX,H
MOV BX,88HNEXT: MOV AX,4500HDEC BX
LOOP NEXT
(2)程序段B:
MOV CX,77H
MOV BX,H
NEXT: MOV AX,4500H
DEC BX
LOOPNZ NEXT 问程序段A,B执行中各循环多少次?
程序段 A循环16×次,程序段B循环16×次
??? NUMBER A DW 3743H
?
?
执行 后,=0000H
执行 后,AL=H
执行 2)=37H。用串操作指令设计实现以下功能的程序段:首先将100H个数从2170H处搬到1000H处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符。(还有其他方法)
MOV SI,2170H
MOV DI,1000H
MOV CX,100H
REP MOVSB ;实现100H个数传送
MOV SI,1000H
MOV CX,100H
LP: CMP [SI],AL
JNZ NXET
MOV [SI],‘ ’ ;或20H
NEXT: INC SI
LOOP LP
HLT
2、数据段中已经有20个学生的外语成绩(百分制),成绩存在DAT1开始的单元中,要求对表进行排序:按学习成绩由高到低排列,排序后的数存入SCORE开始的单元中。(10分)
解:参考程序段为(还有其他方法)
DATA1 SEGMENT
N DB 20
DAT1 DB 30 DUP( ?)
SCORE DB 30 DUP (?)
DATA1 ENDS
STACK1 SEGMENT PARA STACK
DB 100 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA1,SS:STACK1
BEGIN:MOV AX,DATA1
MOV DS,AX
MOV ES,AX
LEA SI,DAT1
文档评论(0)