江西理工大学微机原理.docx
- 文档编号:7311115
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:20
- 大小:23.08KB
江西理工大学微机原理.docx
《江西理工大学微机原理.docx》由会员分享,可在线阅读,更多相关《江西理工大学微机原理.docx(20页珍藏版)》请在冰豆网上搜索。
江西理工大学微机原理
1、统计出某数组中相邻两数之间符号变化的次数
DATASEGMENT
ARRAYDB20DUP(?
)
NUMDB0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTUP:
LEASI,ARRAY;
MOVAL,[SI]
MOVBL,0
MOVCX,19
AGAIN:
INCSI
XORAL,[SI]
JNSNEXT
INCBL
NEXT:
MOVAL,[SI]
LOOPAGAIN
MOVNUM,BL
MOVAH,4CH
INT21H
CODEENDS
ENDSTARTUP
2、乘法指令实现32位二进制数与16位二进制数相乘
MODELSMALL
.8086
.DATA
N1DW1234H
N2DW5678H
N3DW4444H
M1DW0
M2DW0
M3DW0
CODE
.STARTUP
MOVAX,N2
MULN3
MOVM3,AX
MOVM2,DX
MOVAX,N3
MULN1
ADDM2,AX
ADCM1,DX
.EXIT
END
3、设有3个自变量的变量名及其内容如下
VAR13C46H,VAR2F678H,VAR3
0059H
设计一个数据段定义这三个变量及其地址表
变量DDRTABL
DATASEGMENT
VAR1DW3C46H
VAR2DWF678H
VAR3DW0059H
ADDRTABL
DDVAR1
DDVAR2
DDVAR3
DATAENDS
4、设有一个符号数组共M个求其中最大的数,如需要求绝对值最大应如何修改
如为无符号数程序如何修改。
DATASEGMENT
MEQU10
DATDWMDUP(?
)
MAXDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARUP:
MOVAX,DAT
MOVMAX,AX
CLD
LEASI,DAT
MOVCX,M
L1:
LODSW
CMPAX,MAX
JNGLAB
MOVMAX,AX
LAB:
LOOPL1
MOVAH,4CH
INT21H
CODEENDS
ENDSTARTUP
绝对值修改需要在LODSW插入
ANDAX,AX
JNSLAB1
NEGAX
LAB1:
CMPAX,MAX
程序初始化时MAX应送入0
无符号数程序修改
判别条件CMPAX,MAX
JNGLAB
修改为CMPAX,MAX
JBELAB
5、编制一个程序将20个字节的数组分为正数和负数组并计算两个数组中数据的个数
DATASEGMENT
DATDB20DUP(?
)
PDATDB20DUP(?
)
PDATDB?
PLENDB?
NDATDB20DUP(?
)
NLENDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTUP:
XORBX,BX
LEASI,DAT
XORDI,DI
CLD
MOVCX,20
LOOP0:
LODSB
CMPAL,0
JGELOOP1
MOVNDAT[BX],AL
INCBX
JMPLAB
LOOP1:
MOVPDAT[DI],AL
INCDI
LAB:
DECCX
JNZLOOP0
MOVPLEN,DI
MOVNLEN,BX
MOVAH,4CH
INT21H
CODEENDS
ENDSTARTUP
6、把从A开始的8个字节单元内容依次和从B开始的8个相应的字节单元内容互换。
DATASEGMENT
ADB'ABCDEFGH'
BDB'12345678'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,A
LEADI,B
MOVCX,8
LP:
MOVAL,[SI]
XCHGAL,[DI]
MOV[SI],AL
INCSI
INCDI
LOOPLP
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
7、计算BUF开始的数组中的100个元素中非零元素的个数并将其存入COUNT单元,补全指令
BUFDB100DUP(?
)
COUNTDB0
..............
STARTUP:
MOVAX,DATA
MOVDS,AX
LEASI,
(1)________
MOVCX,
(2)______
CON:
MOVAL,[SI]
CMPAL,(3)_______
.JZNEXT
INC(4)_____
NEXT:
INCSI
LOOP(5)______
HLT
答案BUF1000COUNTCON
8、程序执行后寄存器的值
MOVAX,01H
MOVBX,02H
PUSHBX
PUSHAX
POPBX执行后BX=1___
POPAX执行后AX=
(1)____
MOVAX,3F5FH执行后AL=(3)______
MOVCX,4
RORAL,CL执行后AL=(4)____
ANDAL,0FH执行后AL=(5)_______
答案01H02H5FH0F5H05H
8、大题若8086系统中采用单片8259A作为外部可屏蔽中断的优先级管理正常全嵌
套方式边缘触发非缓冲连接非自动终端结束端口地址为20H和21H其中某
中断源的中断类型码为4AH其中断服务子程序名为SUBROUTINE且已知其地址为
2000.3A40H
(1)请问本题中的中断源应与8259A的哪个IR输入端相连其中断矢量地址是多少矢量
区对应的4个单元内容是什么
答与IR2相连地址为0000.0128H矢量对应的4个单元内容依次为
40H,3AH,00H,20H
2)请为8259A设置正确的初始化命令并编写程序:
ICW1=00010011单片边缘触发必须设置ICW4ICW2=48H终端类型码基值为
48H无ICW3单片8259A系统无需设置ICW3ICW4=00000001正常全嵌套方式
非缓冲连接非自动中断结束8086CPU初始化程序如下
MOVAL,13H
OUT20H,AL
MOVAL,48H
OUT21H,AL
MOVAL,01H
OUT21H,AL
3请编写程序片段设置该中断源的中断
矢量
MOVAX,0
MOVES,AX
MOVDI,4AH*4
MOVAX,OFFSETSUBROUTINE
CLD
STOSW
MOVAX,SEGSUBROUTINE
STOSW
9、分支程序设计实验
1显示AL中两位十六进制数程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,3EH
MOVBL,AL
MOVDL,AL
MOVCL,4
SHRDL,CL
CMPDL,9
JBENEXT1
ADDDL,7
NEXT1:
ADDDL,30H
MOVAH,2
INT21H
MOVDL,BL
ANDDL,0FH
CMPDL,9
JBENEXT2
ADDDL,7
NEXT2:
ADDDL,30H
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2显示键入字符
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAH,1
INT21H
CMPAL,0DH
JZDONE
CMPal,'0'
JBnext
CMPAL,'9'
JACHRUP
MOVDL,AL
MOVAH,2
INT21H
JMPSTART
CHRUP:
CMPAL,41H
JBNEXT
CMPAL,5AH
JACHRDN
DISPC:
MOVDL,'C'
MOVAH,2
INT21H
NEXT:
JMPSTART
CHRDN:
CMPAL,61H
JBNEXT
CMPAL,7AH
JANEXT
JMPDISPC
DONE:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
10、实验四偶校验程序
DSEGSEGMENT
STRNDB
'ABCDEfghijkLMNOPQuvw','$'
NDB?
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
LEASI,STRN
MOVDL,0
AGAIN:
MOVAL,[SI]
CMPAL,'$'
JEDONE
TESTAL,0FFH
JPENEXT
ORAL,80H
MOV[SI],AL
INCDL
NEXT:
INCSI
JMPAGAIN
DONE:
MOVN,DL
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
2加法程序
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
MOVAX,CS
MOVDS,AX
LEASI,DAT1
LEADI,DAT2
LEABX,DAT3
MOVCX,10
XORAL,AL
AGAIN:
MOVAL,[SI]
ADCAL,[DI]
MOV[BX],AL
INCSI
INCDI
INCBX
LOOPAGAIN
MOVAH,4CH
INT21H
DAT1DB
70H,80H,90H,0A0H,0A1H,0A2H,0A3H
DB74H,65H,56H
DAT2DB45H,67H,89H,1AH,2BH,3CH
DB4DH,5EH,6FH,04H
DAT3DB10DUP(?
)
CODEENDS
ENDSTART
11、填空题
1、输入输出指令间接寻址必须通过DX寄存
器
2、20根地址线最大内存容量是220
3、标志寄存器有9位标志位其中3位控制
标志位6位状态标志位
4、BIU和EU两个单元并行工作在CPU中
5、SP和BP是指针寄存器SP指示堆栈段
段顶的偏移地址
6、零标志位ZF=1时结果全为0
7、对于5片8259A形成的级联共有36级中
断
8、debug跟踪执行命令是t命令
9、中断矢量表存放在存储器最低位
10、存储器是分段的每段最大长度是64KB
11、段内偏移地址从0000到FFFFH
12、8259AA0与地址总线A1相连
13、取指令时段地址由CS寄存器提供偏
移地址由IP寄存器提供
14、16位有符号二进制补码范围为
-32768~32767
15、8086可访问偶数存储体的选择信号是A0
16、中断矢量表可以容纳256个中断向量
每个中断向量有4个字节
17、DOS功能调用功能号在AH寄存器里面
18、条件转移指令多路分支输入5路分支
需要3条件转移指令
12、设有两个等字长字节型字符串试编
写一程序比较他们是否完全相同如相同
则讲字符Y送入AL中否则将字符N送入
AL中
DATASEGMENT
STRING1DB'ASdAS'
STRING2DB'ASASd'
DATAENS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTUP:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEASI,STRING1
LEADI,STRING2
MOVCX,5
REPZCMPSBSTRING1,STRING2
JNZLABNE
MOVAL,'Y'
MPEXIT
LABNE:
MOVAL,'N'
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTARTUP
13可屏蔽中断响应和处理过程
1中断允许标志IF置1没有异常没有
非屏蔽中断NMI=0,没有总线请求CPU响应
可屏蔽中断请求
2外部设号号后将它乘以4(左移2位)即可从中断服务程
序向量表(即入口地址表)中取出中断服务程
序的入口地址包括段地址和段内偏移地址。
据此CPU便可转入中断服务程序。
(6)如8259A工作在AEOI(AutomaticEndOf
Interrupt)模式则在第二个脉冲信号结束时
将使被响应的中断源在ISR中的对应位清
“0”否则直至中断服务程序结束发出
EOI命令才使ISR中的对应位清“0”。
1.2如何理解计算机系统的层次结构
解1第一级实际机器M1(机器语言机
器)机器语言程序直接在M1上执行2
第二级虚拟机器M2汇编语言机器将
汇编语言程序先翻译成机器语言程序再在
M1上执行3第三级虚拟机器M3(高级
语言机器)将高级语言程序先翻译成汇编语
言程序再在M2、M1或直接到M1上执
行4第零级微程序机器M0微指令系
统由硬件直接执行微指令。
5实际上
实际机器M1和虚拟机器M2之间还有一级虚
拟机它是由操作系统软件构成该级虚拟
机用机器语言解释操作系统。
6虚拟机器
M3还可以向上延伸构成应用语言虚拟系
统。
1.5冯·诺依曼计算机的特点是什么
解冯·诺依曼计算机的特点是
1计算机由运算器、控制器、
存储器、输入设备、输出设备五大部件组成
2指令和数据以同等地位存放
于存储器内并可以按地址访问
3指令和数据均用二进制表示
4指令由操作码、地址码两大
部分组成操作码用来表示操作的性质地
址码用来表示操作数在存储器中的位置
5指令在存储器中顺序存放
通常自动顺序取出执行
6机器以运算器为中心典型
的冯·诺依曼机。
1.6画出计算机硬件组成框图说明各部件
的作用及计算机硬件的主要技术指标。
解现代的计算机组成框图如图1.1
所示
输入设备
控制器
运算器
输出设备
存储器
控制线
反馈线
数据线
计算结果计算步骤和
原始数据
图1.1以存储器为中心的计算机结
构框图
各部件的作用
(1)运算器用来完成算术运算和逻辑
运算并将运算的中间结果暂存在运算器内
(2)存储器用来存放数据和程序
(3)控制器用来控制、指挥程序和数
据的输入运行以及处理运算结果。
(4)输入设备用来将人们熟悉的信息
形式转换为机器能识别的信息形式常见有
键盘、鼠标等。
(5)输出设备可以将机器运算结果转
换为人们熟悉的信息形式如打印机输出
显示器输出。
硬件的主要技术指标
(1)机器字长指CPU一次能处理
数据的位数通常与CPU的寄存器位数有关。
(2)存储容量包括主存容量和辅存
容量存放二进制代码的总数存储单元个
数×存储字长。
(3)运算速度主频、Gibson法、
MIPS每秒执行百万条指令、CPI执行一条指
令所需时钟周期数、FLOPS每秒浮点运算次
数。
3.4为什么要设置总线判优控制常见的集
中式总线控制有几种各有何特点哪种方
式响应时间最快哪种方式对电路故障最敏
感
解总线判优控制或称仲裁逻辑
解决多个部件同时申请总线时的使用权分配
问题分为集中式和分布式两种前者将控
制逻辑集中在一处如在CPU中后者将
控制逻辑分散在与总线连接的各个部件或设
备上。
常见的集中式总线控制有三种链
式查询、计数器定时查询、独立请求
特点链式查询方式连线简单易
于扩充对电路故障最敏感计数器定时查
询方式优先级设置较灵活对故障不敏感
连线及控制过程较复杂独立请求方式速度
最快但硬件器件用量大连线多成本较
高。
3.8为什么说半同步通信同时保留了同步通
信和异步通信的特点
解半同步通信既能像同步通信那
样由统一时钟控制又能像异步通信那样允
许传输时间不一致因此工作效率介于两者
之间。
4.3存储器的层次结构主要体现在什么地
方为什么要分这些层次计算机如何管理
这些层次
答存储器的层次结构主要体现在
Cache-主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要
对CPU访存起加速作用即从整体运行的效
果分析CPU访存速度加快接近于Cache
的速度而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要
起扩容作用即从程序员的角度看他所使
用的存储器其容量和位价接近于辅存而速
度接近于主存。
综合上述两个存储层次的作用从
整个存储系统来看就达到了速度快、容量
大、位价低的优化效果。
主存与CACHE之间的信息调度功
能全部由硬件自动完成。
而主存与辅存层次
的调度目前广泛采用虚拟存储技术实现即
将主存与辅存的一部分通过软硬结合的技术
组成虚拟存储器程序员可使用这个比主存
实际空间物理地址空间大得多的虚拟地
址空间逻辑地址空间编程当程序运行
时再由软、硬件自动配合完成虚拟地址空
间与主存实际物理空间的转换。
因此这两
个层次上的调度或转换操作对于程序员来说
都是透明的即程序员不知道。
4.9什么叫刷新为什么要刷新说明刷新
有几种方法。
解刷新对DRAM定期进行的全
部重写过程。
刷新原因因电容泄漏而引起的
DRAM所存信息的衰减需要及时补充因此
安排了定期刷新操作。
常用的刷新方法有三种集中式、
分散式、异步式。
集中式在最大刷新间隔时间内
集中安排一段时间进行刷新存在CPU访存
死时间。
分散式在每个读/写周期之后插入
一个刷新周期无CPU访存死时间。
异步式是集中式和分散式的折衷。
4.25什么是“程序访问的局部性”存储系统
中哪一级采用了程序访问的局部性原理
解所谓程序访问的局部性即在一
小段时间内最近被访问过的程序和数据很
可能再次被访问在空间上这些被访问的
程序和数据往往集中在一小片存储区在访
问顺序上指令顺序执行比转移执行的可能
性大(大约5:
1)。
存储系统的Cache—主存级和主存
—辅存级都用到程序访问的局部性原理。
对
Cache—主存级而言把CPU最近期执行的
程序放在容量较小速度较高的Cache中。
对
主存—辅存级而言把程序中访问频度高、
比较活跃的部分放在主存中这样既提高了
访存速度又扩大了存储器容量。
4.33简要说明提高访存速度可采取的措施。
解提高访存速度可采取的措施
(1)采用高速器件选取存取周期短的芯片
可提高存储器的速度
(2)采用CacheCPU将最近期要用的信息先
调入Cache而Cache的速度比主存快得多
这样CPU每次只需从Cache中取出或存入信
息从而缩短了访存时间提高了访存速度。
(3)调整主存结构如采用单体多字结构在
一个存取周期内读出多个存储字可增加存
储器的带宽或采用多体结构存储器。
5.35试从5方面比较程序中断方式和DMA
方式的区别。
解DMA方式和程序中断方式的区别为1
从数据传送看程序中断方式靠程序传送
DMA方式靠硬件传送2从CPU响应时间看
程序中断方式在一条指令执行结束时响应
而DMA方式在存取周期结束时CPU才能响应
即将总线控制权让给DMA传送3程序中
断方式有处理异常事件的能力DMA方式没有
这种能力4程序中断方式需要中断现行
程序故需保护现场DMA方式不必中断现行
程序无需保护现场5DMA的优先级比程
序中断高。
7.21比较RISC和CISC。
答RISC相对于CISC的优点
1充分利用VLSI芯片的面积
2提高计算机的速度
3便于设计可降低成本提高可靠性
4有效支持高级语言程序。
RISC缺点CISC大多能实现软件兼容即高
档机包含了低档机的全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江西 理工大学 微机 原理
![提示](https://static.bdocx.com/images/bang_tan.gif)