微机原理4
微机原理第四章课后习题答案
第四章课后作业(6—27)6.试按下列要求分别编制程序段。
(1)把标志寄存器中符号位SF置“1”。
(2)寄存器AL中高、低四位互换。
(3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位),试求这个数的负数。
(4)现有三个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下,实现(A)+(B) C。
(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1 形成奇数)。
答:(1) LAHFOR AH,80HSAHF(2) MOV CL,4ROL AL,CL(3) MOV CX,0NEG BXJC CHGJMP GOCHG: MOV CX,1GO: NEG AXSUB AX,CX(4) MOV CL,AMOV AL,BMOV X,ALCHECK:INC XDEC CLJNZ CHECK(5) OR CX,0001H7.试给出下列各指令的机器目标代码。
(1)MOV BL,12H [SI](2)MOV 12H [SI],BL(3)SAL DX,1(4)AND 0ABH [BP] [DI],1234H答:(1)100010 1 0 01 011 100 00010010=8A5C12H(2)100010 0 0 01 011 100 00010010=885C12H(3)110100 0 1 11 100 010=0D1E2H(4)100000 0 1 10 100 011 10101011 00000000 00110100 00010010=81A3AB003412H8.执行下列指令:STR1 DW ‘AB’STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT执行完成之后,寄存器CL的值是多少?寄存器AX的值是多少?答:因为CNT=16+2=18,所以CX=18=0012H,所以CL=12H=0001,0010;AX中装入的是‘AB’的ASCII码值,其中‘A’在高位AH中,‘B’在低位AL 中,所以AX=4142H=0100,0001,0100,0010。
微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)
第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H
微机原理 第4章作业答案
第3章指令系统3.9 设段寄存器DS=1000H,SS=2000H,ES=3000H,通用寄存器BX=4000H,BP=5000H,SI=6000H,DI=7000H。
在下列各指令中指出存储器操作数的寻址方式,求出有效地址EA、物理地址PA,并分别用物理地址和逻辑地址说明指令执行结果。
(1)MOV CX, [2300H]直接寻址EA=2300HPA=DS*16+EA=1000H*16+2300H=12300H 执行结果:(12300H)→CL,(12301H)→CH (2)MOV BYTE PTR [BX], 8FH寄存器间接寻址EA=BX=4000HPA=DS*16+EA=1000H*16+4000H=14000H 执行结果:8FH→(14000H)(3)MOV DH, [BP+3000H]基址寻址EA=BP+3000H=8000HPA=SS*16+EA=2000H*16+8000H=28000H 执行结果:(28000H)→DH(4)MOV ES: [SI+1210H], AX变址寻址EA=SI+1210H=7210HPA=ES*16+EA=3000H*16+7210H=37210H 执行结果:AL→(37210H),AH→(37211H) (5)MOV [BX+DI+50H], AL基址变址位移寻址EA=BX+DI+50H=0B050HPA=DS*16+EA=1000H*16+0B050H=1B050 H执行结果:AL→(1B050H)(6)INC WORD PTR [BX+SI]基址变址寻址EA=BX+SI=0A000HPA=DS*16+EA=1000H*16+0A000H=1A000 H执行结果:(1A000H)中存放的字的值加13.11 指出下列指令中源操作数的寻址方式。
(1)MOV BL, 0F9H 立即寻址(2)ADD [BX], SI 寄存器寻址(3)SUB CL, [4000H] 直接寻址(4)CMP DX, [SI] 寄存器间接寻址(5)AND SL, [BX+1] 基址寻址(6)OR BP, [DI+2100H] 变址寻址(7)XOR AX, [BP+SI] 基址变址寻址(8)MOV CX, 300 立即寻址3.12 下列指令都是非法的,指出各指令错在哪里?(1)MOV SI, AH两个操作数字长不一致(2)MOV 70H, BL立即数不能做目的操作数(3)MOV CX, F123H十六进制的数以字母打头必须在前面补0 (4)MOV [BX], 6AH两个操作数的字长不确定(5)MOV ES, 5000H立即数不能直接送段寄存器(6)MOV [DI], [3000H]两个操作数不能同为内存操作数(7)MOV DS, SS两个操作数不能同为段寄存器(8)MOV CS, AX不能对CS赋值(9)MOV AL, [CX]寄存器间接寻址中不能使用CX(10)MOV [BX+BP], DX存储器寻址方式中表示有效地址不能同为两个基址寄存器(11)MOV BH, [SI+DI+2]存储器寻址方式中表示有效地址不能同为两个变址寄存器(12)PUSH AL入栈出栈操作必须以字为单位(13)LEA AX, BXLEA指令中源操作数必须为存储器寻址方式(14)LDS BL, [5100H]LDS指令中目的操作数必须为16位的通用寄存器(15)IN AH, DXIN指令中目的操作数必须为AL或AX (16)OUT 288H, AL输入输出指令中端口地址为16位,必须先送给DX(17)ADD [2400H], 1234H两个操作数的字长不确定(18)XOR [2500H], [BX+10H]两个操作数不能同为内存操作数(19)INC [SI]操作数的字长不确定(20)MUL 10MUL指令的操作数不能为立即数(21)IDIV [BP+DI+1300H]操作数的字长不确定(22)SAL AL, 2移位次数大于1必须先送给CL3.14 设SP=2000H,AX=3000H,BX=5000H,执行以下3条指令后,问SP=?AX=?BX=? PUSH AX ;SP减2,栈顶元素为3000HPUSH BX ;SP减2,栈顶元素为5000HPOP AX ;SP加2,将栈顶元素5000H弹出至AX结果:SP=1FFEH,AX=5000H,BX=5000H3.16 下列程序执行完后,AX=?BX=?CX=? MOV AX, 1122HMOV BX, 3344HPUSH AX ;栈顶元素为1122H POP CX ;将栈顶元素1122H 弹出至CXXCHG BX, CX ;BX=1122H,CX=3344HLEA CX, [BX] ;CX=BX=1122H结果:AX=1122H,BX=1122H,CX=1122H3.17 CPU分别执行下列各程序段后,写出各个执行结果的状态标志位OF、SF、ZF、AF、PF、CF的值。
微机原理4_2
Y
P1
标号1:
N Y P2
条件2成立 ?
标号2:
…
N
条件n成立 ?
Y
Pn
标号n:
N
Pn+1
标号n+Βιβλιοθήκη :TEST/CMP指令(测试条件1) Jx 标号1 ;不满足转标号1 处理体P1… JMP 标号n+1 标号1:TEST/CMP指令(测试条件2) Jx 标号2 ;不满足转标号2 处理体P2… JMP 标号n+1 标号2:TEST/CMP指令(测试条件3) Jx 标号3 ;不满足转标号3 处理体P3… JMP 标号n+1 标号3:TEST/CMP指令(测试条件4) … … 标号n+1:(公共出口)
Y
Z <= 1
结束
EXT:
MOV Z, AL RET
30
程 序 ;-- 数据段定义 ---------------------------------SEGMENT X DB 242 Y DB 67 Z DB ? DAT ENDS ;-- 代码段定义 ---------------------------------COD SEGMENT ASSUME DS: DAT, CS: COD MAIN PROC FAR PUSH DS ; 保存返回地址 SUB AX, AX PUSH AX MOV AX, DAT MOV DS, AX ; 初始化DS
3.源程序的基本结构:顺序、分支、循环、过程
14
如何绘制程序框图(流程图)?
(1)用方框表示工作框,框中用简明语言 标明要完成的功能
(2) 用菱形框表示判断框
?
Y
15
N
框中标明比较、判断和条件
微机原理实验4-逐次比较式ADC0809
实验三 逐次比较式A/D 转换器0809的原理及编程一、实验目的1. 熟悉逐次逼近式A/D 转换器芯片的工作原理。
2. 了解A/D 转换芯片0809的接口设计方法。
3. 掌握A/D 转换器0809简单的应用编程。
二、实验任务1. 分析本实验模板的电路原理,它与EPP 接口数据传送的方法,所使用的端口地址。
2. 编写出逐次逼近式A/D 转换器芯片0809的转换与显示的控制程序。
三、实验原理1.电路组成及转换原理ADC0809是带有8位A/D 转换器、8路多路开关,以及与微型计算机兼容的控制逻辑的CMOS 组件。
8位A/D 转换器的转换方法为逐次逼近法。
在A/D 转换器内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关数组的256电阻分压器,以及一个逐次逼近的寄存器。
8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个单边的模拟信号。
其原理图如图3-1所示。
8通道多路模拟开关5432128272625242322地址锁存器和译码器W 1W 2逐次逼近型寄存器SAR控制逻辑开关树组256R 电阻分压器610V x V c7输出缓冲锁存器三态212019188151417916111312模拟量输入A B CA L E地址选择地址锁存允许V cc G N D V R E F (+)V R E F (-)E N A B L E数字量输出转换结束(中断)E O CS TA R TC L O C KD 7D 6D 5D 4D 3D 2D 1D 0IN 7IN 6IN 5IN 4IN 3IN 2IN 1IN 0图3-1 ADC0809内部原理图从图中可以看出,ADC0809由两部分组成,第一部分为八通道多路模拟开关,控制C 、B 、A 和地址锁存允许端子,可使其中一个通道被选中。
第二部分为一个逐次逼近型A/D 转换器,它由比较器、控制逻辑、输出锁存缓冲器、逐次逼近寄存器以及开关数组和256R 梯型解码网络组成,由后两种电路(开关数组和256R 梯型电阻)组成D/A 转换器。
微机原理第4章练习题及答案
微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。
A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。
A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。
A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。
A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。
A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。
A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。
A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。
微机原理 第4章 总线 习题及参考
第四章总线1. 什么是总线?答:总线是许多信号线的集合,是微机系统中连接各部件的信息通道,通过它实现数据的相互交换。
具体地说,总线是CPU内部各组成部件之间、微机芯片之间、系统各模块之间,或各设备之间传递数据信息、地址信息、控制和状态信息的通道。
2. 总线结构的优点是什么?答:概括起来有以下四点:1)支持模块结构的设计方法,可以简化系统设计;2)标准总线得到多厂商的广泛支持,便于生产与之兼容的硬件板卡和软件,具有开放性和通用性;3)便于模块的专业化生产和产品的升级换代,便于故障诊断和维修,灵活性好。
4)降低了设计及系统成本。
3. 按照布局范围,总线分为哪几种类型?答:四种类型:①内部总线——是处于CPU内部、用来连接片内运算器和寄存器等各个功能部件的总线。
内部总线的对外引线称为CPU总线。
②局部总线——是主机板上的信息通道,连接主机板上各个主要部件,而且通过扩展槽连接多种适配器(局部总线是组成微机系统的主框架)。
③系统总线——是多处理器系统中连接各CPU插件板的信息通道,用来支持多个CPU的并行处理。
④外部总线——是微机和外部设备之间或者几个微机系统之间的信息通道,又称通信总线。
4. 微机系统中常用的系统总线有哪几种?答:ISA总线、EISA总线、PCI总线、AGP总线等。
5. 按照功能,总线可分为哪几类?答:分为数据总线、地址总线和控制总线等三类。
数据总线、地址总线和控制总线分别用来传输数据、地址、命令和状态信号。
6. 为什么引入PCI总线有利于提高微机系统的整体工作性能和效率?答:随着各种应用软件的发展,需要在CPU与外设之间进行大量的高速数据传输。
以往的ISA总线及以后发展的EISA总线都未能解决总线的高效率传输问题。
PCI总线提供了CPU 与外设之间的高速通道,有利于提高微机系统的整体工作性能和效率。
7. 总线的性能主要从哪几方面来衡量?答:三方面:①总线宽度——指一次可以同时传输的数据位数。
微机原理第4章2-存储器与的连接
解决:
–CPU插入等待周期——降低了运行速度; –采用高速RAM——成本太高; –在CPU和RAM之间插入高速缓存——成本上升不多、但速度 可大幅度提高。 西南交通大学
10
微机原理与应用
字扩展
地址空间的扩展。芯片每个单元中的字长满足,但单元 数不满足。 扩展原则: 每个芯片的地址线、数据线、控制线并联,仅片选 端分别引出,以实现每个芯片占据不同的地址范围。
字位扩展
• • • • 根据内存容量及芯片容量确定所需存储芯片数; 进行位扩展以满足字长要求; 进行字扩展以满足容量要求。 若已有存储芯片的容量为L×K,要构成容量为M ×N 的存储器,需要的芯片数为: (M / L) ×(N / K)
A B C E1 E2 E3 Y7 GND
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
Vcc Y0 Y1 Y2 Y3 Y4 Y5 Y6
74LS138管脚图
西南交通大学
6
微机原理与应用
(3)部分译码:系统的部分高位地址线参与对芯片(组)的译码寻
址。
A19、A18 、A17 不参加译码
× × ×
00000H~01FFFH 02000H~03FFFH 04000H~04FFFH 05000H~05FFFH
17
1 × 西南交通大学
微机原理与应用
4.4 存储器的分层结构
冯.诺依曼计算机体系结构: “存储程序”的概念 访问存储器的活动占了CPU时间的70%左右 CPU工作速度与内存工作速度不匹配
微机原理 第四章答案
15、设(DS)=C000H,(C0010H)=0180H, (C0012H)=2000H,执行LDS SI,[10H]后, (SI)=?, (DS)=? (SI)=0180 H,(DS)=2000 H
REP STOSW 程序段的功能:
将起始地址为0404 H开始的80 H(128)个字单元清成0 或将起始地址为0404 H开始的100 H(256)个字节单元清成0
11
第4章 微型计算机原理作业情况
13、 设(BX)=6B30H,(BP)=0200H,(SI)=0046H, (SS)=2F00H,(2F246H)=4154H,试求执行 XCHG BX,[BP+SI]后, (BX)=?,(2F246H)=? (BX)=4154H (2F246H)=6B30H
6
第4章 微型计算机原理作业情况
8、分别执行下列指令,试求AL的内容及各状态标志位的状态。
(1) MOV AL,19H ;
ADD AL,61H ;(AL)=7AH
OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
(2) MOV AL,19H ;
SUB AL,61
;(AL)=0DCH
OF=0 SF=1 ZF=0 AF=1 PF=0 CF=1
(1) MOV CL,20H[BX][SI] ;(CL)=0F6 H
(2) MOV [BP][DI],CX
;(1E4F6 H)=5678 H
(3) LEA BX,20H[BX][SI] ;(BX)=0056 H
MOV AX,2[BX]
;(AX)=1E40 H
微机原理实验4 可编程定时器计数器8253
实验三可编程定时器/计数器8253要求:按图15连接电路,并将OUT0接指示灯(高电红灯亮、低电平绿灯亮)。
将计数器0、计数器1分别设置为方式3,已知CLK0输入为1MHz的方波,计算两计数器的计数初值,使OUT1输出1s为周期的方波,接着退出程序返回DOS流程图:初始化计数器1初始化计数器0按任意键返回dos程序:stack segment stack 'stack'dw 32 dup (0)stack endsdata segmenttip db 'quit the program.$'data endscode segmentstart proc farassume ss:stack, cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axmov dx,283hmov al,77hout dx,almov dx,281hmov al,00hout dx,almov al,10hout dx,almov dx,283hmov al,37hout dx,almov dx,280hmov al,00hout dx,almov al,10hout dx,almov dx,offset tipmov ah,9int 21hmov ah,8int 21hmov ah,4chint 21hretstart endpcode endsend start分析总结:这次的程序真心是没什么好说的了,初始化完后就没有然后了(话说这也能叫程序的······),本来按我的想法得有一个输入计数值的结构和一秒自动检测误差的结构的,关于输入结构前面的实验已经出现过了应该不是很难办,而延时结构就比较麻烦了,直接的调用int 15h,ah 86h功能不知为啥老是出问题,也不晓得是不是我格式错了,而通过指令循环凑出1s延迟计算起来有些麻烦,稳定性可能还有些问题,这个可能还得去查多点资料了,不过只要延迟精确了误差也就几条指令罢了,之后显示的话也就稍微麻烦点而已了。
微机原理实验四串操作指令
实验四串操作指令程序实验一、实验目的1. 熟悉五种串操作指令的功能,会编写常用的串操作应用程序。
2. 会使用DEBUG 命令查看串操作运行的结果。
二、实验环境1. 硬件:PC 微机2. 软件:Masm for Windows 汇编集成开发环境三、实验讲义串指连续存放在存储器中的一些数据字节、字或者双字。
串操作允许对程序连续存放的数据块进行操作。
这是唯一一种可以从存储器到存储器的指令。
源串一般存放在数据段,偏移地址由SI 指定;目标串必须在附加段,偏移地址由DI 指定。
在每次进行串操作后,SI 和DI 两个指针会自动修改。
修改的是增量方向还是减量方向由标志位DF 决定,DF=0 为增量操作,DF=1 为减量操作。
CX 中存放的是数据块的长度,可在CX 前加重复前缀标志,对串进行连续操作。
执行串指令之前,一般先进行如下操作:源串首地址(末地址)→ SI目的串首地址(末地址)→ DI串长度→ CX建立方向标志DF1. 重复前缀标志助记符判断条件说明REP CX 0 CX=CX-1,若CX 0 则重复REPE 或REPZ CX 0 且ZF=1 CX=CX-1,若CX 0 且ZF=1 则重复REPNE 或REPNZ CX=0 且ZF=0 EX=CX-1,若CX 0 且ZF=0 则重复2. 方向标志指令方向标志由标志位DF 决定,有CLD 和STD 两种指令。
CLD 将DF 置0,地址为增量操作。
STD 将DF 置1,地址为减量操作。
3. 串传送指令格式: [REP] MOVS DESTS, SRCS[REP] MOVSB/ MOVSW / MOVSD功能:将DS:SI 中的源串数据传送到ES:DI 规定的目的串单元中。
加重复前缀REP 可实现连续存放的数据块的传送。
例1:将源串中前三个字节的数据传送到目的串。
源串在数据段(DATAS)中,存放在SRC 单元中;目的串在附加数据段(EDATAS)中,存放在DEST 单元中。
微机原理第04章4子程序
mov ah,9
;;宏定义体
lea dx,message
int 21h
endm
…
dispmsg string ;宏调用(宏指令)
…
1 mov ah,9
;宏展开
1 lea dx,string
1 int 21h
第4章:宏与比子程序的比较
宏
较
子程序
仅是源程序级的简化: 宏调用在汇编时进行 程序语句的展开,不 需要返回;不减小目 标程序,执行速度没 有改变
第4章:例4.16 显示以“0” 结尾字符串的嵌套子程序
msg
;数据段 db 'Well, I made it !',0 ;代码段(主程序) mov si,offset msg ;主程序提供显示字符串 call dpstri ;调用子程序
第4章:例4.16 子程序
;子程序dpstri:显示DS:SI指向的字符串(以0结尾)
第4章:4.6 子程序设计
把功能相对独立的程序段单独编写和调 试,作为一个相对独立的模块供程序使 用,就形成子程序
子程序可以实现源程序的模块化,可简 化源程序结构,可以提高编程效率
主程序(调用程序)需要利用CALL指令 调用子程序(被调用程序)
子程序需要利用RET指令返回主程序
第4章:4.6.1 过程定义和 子程序编写
dpstri proc
push ax
dps1: mov dl,[si] ;取显示字符
inc si
cmp dl,0
;是结尾,则显示结束
jz dps2
call dpchar ;调用字符显示子程序
jmp dps1
dps2: pop ax ret
dpstri endp
微机原理第4章 8088总线
第4章 8086/8088的总线与时序4.1 8086/8088的引线及功能8086是16位微处理器;8088是准16位微处理器,它对外的数据线是8位的。
它们的地址线是20位的。
8086/8088均为40条引线、双列直插式封装。
它们的40条引线排列如图4-1所示。
为了能在有限的40条引线范围内进行工作,CPU内部设置了若干个多路开关,使某些引线具有多种功能,这些多功能引线的功能转换分两种情况:一种是分时复用,在总线周期的不同时钟周期内引线的功能不同;另一种是按组态来定义引线的功能.用8088微处理器构成系统时,根据系统所连接的存储器和外设的规模,8088可以有两种不同的组态。
在不同组态时有些引线的名称及功能不同。
最小组态:当用8088微处理器构成一个较小的系统时,所连的存储器容量不大,I/O端口也不多,若把MN/MX 引线接电源(+5V),则8088处于最小组态;最大组态:若构成的系统较大,要求有较强的驱动能力,要通过一个总线控制器来产生各种控制信号。
把引线MN/MX接地,则8088处于最大组态。
所有的微处理器都有以下几类引线用来输出或接收各种信号:●地址线、●数据线、●控制线和状态线、●电源和定时线。
8086/8088的40条引线包括以上4种信号,下面介绍各条引线的功能。
4.1.1的地址和数据线●A D7~AD0:低8位地址/数据线(输入/输出,三态)。
8088数据线是8位的,地址线是20位的,为减少引线的数量于是在8088 内部采用一些多路开关,把低8位地址线和8位数据线分时使用这些引线。
通常当CPU访问存储器或外设时,先要送出所访问单元或外设端口的地址,然后才是读写所需的数据,地址和数据在时间上是可区分的。
只要在外部电路中用一个地址锁存器,把在这些线上先出现的地址锁存下来就可以了。
●A15~A8:地址线(输出,三态)。
这8条地址线是在8088内部锁存的,在访问存储器或外设时输出8位地址。
●A19~A16/S6~S3:地址/状态线(输出,三态)。
微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H
被
ACH
加
74H
数
3BH
…
DATA2 C1H
36H
加
9EH
数
D5H
20H
…
图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)
微机原理及运用第4章
关系运算的操作数也必须为数字操作数。当关系成立时, 其结果为全 1;当关系不成立时,其结果为全 0。 汇编语言中的表达式不能构成单独语句, 只能是语句的 一个部分, 例如: MOVAX, BUF+2
ADDAL, VAL AND 0FH
JMPAGAIN+3 MOVBL, VB LE VA
4.1汇编语言基本概念
4.1.1汇编语言与机器语言
我们已经学过高级语言,例如BASIC语言或FORTRAN 语言,无论哪种语言,它都规定了一系列用于编写程序的语 句和应该遵循的语法规则。人们根据一种语言给定的语句及 其语法规则就可以写出程序,计算机则通过执行已编好的程 序来完成人们要求它完成的各种复杂功能。汇编语言也一样, 根据汇编语言的语句及其语法规则可以写出汇编语言程序。 但汇编语言与高级语言有较大的区别,汇编语言中的语句与 机器的种类和型号密切相关。
部分, 汇编时不形成任何目标码。注释必须以分号“;”开 头。 它可以作为语句的一个部分,也可以作为一个单独的语 句。
4.1.3汇编语言中的常数与表达式
1. 常数 常数可以分数值常数和字符串常数两类。数值常数按其 基数的不同,可以有二进制数、八进制数、十进制数、十六 进制数等几种不同的表示形式, 汇编语言中采用不同的后缀 加以区分。 B: 表示二进制数。 例如, 10110011B。
表示一条指令的这些字符常称为助记符。 我们必须指出, 采用助记符写出的程序,机器是不能直接执行的,因为上面 我们已经指出, 处理器在设计时是按二进制指令码考虑的。 所以,采用汇编语言编写的程序在执行前还必须将其“翻译” 成机器语言。通常将采用助记符指令写成的程序,称为源程 序,将它翻译成的机器语言程序称为目标程序。将汇编语言 的源程序翻译成目标程序的过程称为汇编过程或简称汇编。 汇编过程通常是由计算机完成的。它是通过执行一个专门完 成汇编的软件——称为汇编程序来实现的。既然写出的源程序 要由汇编程序将其翻译后才能执行,所以,我们编写的源程 序必须符合汇编程序的一系列要求或者规则,只有这样,你 的程序才能被正确地“翻译”。
微机原理 第4章
可擦除可编程的ROM(EPROM)
特点:芯片的上方有一个石英玻璃的窗口,通过紫 外线照射,芯片电路中的浮空晶栅上的电荷会形成光 电流泄漏走,使电路恢复起始状态,从而将写入的信 号擦去。
顶部开有一个圆形的石英窗口,用于紫外线透过擦除 原有信息 一般使用专门的编程器(烧写器)编程 编程后,应该贴上不透光封条
扩充存储器的数据宽度
用8b*32K的 EPROM芯片 27C256进行字节 数扩充,组成8b *64K的EPROM子 系统
RAS
动态RAM的刷新:
为保持电容CS中的电 荷不丢失,必须对动 态RAM不断进行读出 和再写入 CD数据线上分布电容
TS门控管
DRAM控制器的原理图
DRAM控制器的功能: (1)时序功能 (2)地址处理功能 (3)仲裁功能 P136
4.1.4 随机存取存储器RAM 1.SRAM 速度快 不需要刷新 片容量低 功耗大 2.DRAM 片容量高 需要刷新
4.选择存储器件的考虑因素
① 易失性:电源断开之后,存储器的内容是否 丢失。 ② 只读性 ③ 存储容量:每个芯片中的存储单元的总数。 ④ 速度:用存储器访问时间来衡量。访问时间 是指存储器接收到稳定地抵制信号到完成操作 的时间。 ⑤ 功耗
5. 半导体存储器的特点与分类
半导体存储器的特点: 1. 速度快,储存时间为ns级 2. 集成化 3. 非破坏性读出 半导体存储器分类: A. 从器件组成角度: 1.双极性存储器TTL(Transistor- Transistor Logic), 特点是速度快,功耗较低,集成度低。 2.单极性存储器是用MOS(Metal-Oxide-Semiconductor) 制成的存储器, 特点是集成度高,功耗低,价格便宜。
4 微机原理第四章 16位微处理器
20 位
AX BX CX DX
16 位 段 寄 存 器
指令指针
SP
BP DI SI
CS DS SS ES IP 内部暂存器 外部总线
EU
16 位
数据总线
运 算 寄 存器
总线
BIU
执行 控制 电路
控制 逻辑
8088 8位 8086 16位
A L U
指令对列
1 2 3 4
标志寄存器
8086为 6 字节
(( 5 )在执行转移指令时,指令队列中的原有内容被自动清 (3) 4 在执行指令的时,需要访问 EU又没有总线访问时, M或I/O设备,8088 EU会请求 BIU 1)当指令列已满,而且 )每当 8086 的指令队列中有两个空字节( 有一 2 EU 准备执行一条指令时,它会从指令队列取指 除, BIU 会接着往指令队列中装入另一个程序段中的指令。 便进入空闲状态。 BIU ,完成访问内存或 I/O端口的操作。 个空字节)时, BIU就会自动把指令取到指令队列中。 令,然后用几个时钟周期去执行指令。
16 位
总线接 口单元 (BIU)
总线 控制 逻辑 外部总线
8088 8位 8086 16位
运 算 寄 存器
指令对列
A L U
执行 控制 电路
8086为 6 字节
1
2
3
4
标志寄存器
执行单元 (EU)
4.1 8086的结构 从功能上分为两部分:BIU和EU, 内部结构如图所示。
4.2.1 执行单元EU
片内总线等
1. 第一代——4位或低档8位微处理器 第一代微处理器的典型产品是Intel公司
1971年研制成功的4004(4位CPU)及1972年 推出的低档8位CPU 8008。
微机原理第4章习题与答案
……
PRGM ENDS
(3)ALPHA EQU BETA
(4) COUNT EQU 100
COUNT EQU 65
(5) GOON DW 10DUP(?)
……
JMP GOON
答案:
(1)字节变量,范围在0~255
(2)定义段的伪指令为SEGMENT
(3)BETA必须先定义
(4)EQU不能重复定义,在下一次定义前必须用PURGE撤消
MOV BX, F1
答案:
(1)
DATA SEGMENT PARA 'DATA' AT 46H
QA EQU 255;QA=255
QA1=QA GT 3000;255大于3000,命题假,QA1=0
QA2=0FFFH;QA2=0FFFH
QA3 EQU QA2 XOR 255;QA3=0FFFH⊕0FFH=0F00H
AND AX, 0FFH;AX=0045H
MOV BX, WORD PTR G1;BX=0FF20H
MOV BX, 255 AND 0FH;BX=000FH
ADD AX, OFFSET F2;AX=1245H
MOV BX, F1;BX=2211H
4.以下程序的执行结果是_______。
ADB‘1234’
BDW5 DUP(2,3 DUP(0))
CDW‘AB’,’C’,’D’
L1:MOVAL,TYPE B
MOVBL,LENGTHB
MOVAH,SIZE A
MOVBH,SIZE C
MOVCL,TYPEL1
MOVCH,SIZEB
答案:AX=0102H,BX=0205HCX=0AFFH
微机原理第四章
机 了磁芯存储器的地位。目前,绝大多数计算机都使用的是
原 半导体存储器。
理
2.按存储器的存取方式分类
按存取方式可分为随机存取存储器、只读存储器等
(1) 随机存储器 RAM (Random Access Memory)
随机存储器(又称读写存储器)是指通过指令可以随机
地对各个存储单元进行读和写,在一切计算机系统中,主
1intel2164a的内部结构8位8位a0a1aa2a3a4a5a6a7vddvss128128存储矩阵1128行译码器128128存储矩阵128读出放大器读出放大器128读出放大器读出放大器微机原理地址锁存器14io门输出缓冲器dout行时钟缓冲器列时钟缓冲器写允许时钟缓冲器数据输入缓冲器rascaswedin121128列译码器128读出放大器128读出放大器121128列译码器128128存储矩阵128128存储矩阵1128行译码器?存储体
动态RAM的基本存储单元,由一个MOS管T1和位于其 栅极上的分布电容C构成。当栅极电容C上充有电荷时,
表示该存储单元保存信息“1”。反之,当栅极电容上没
有电荷时,表示该单元保存信息“0”。
动态RAM存储单元实质上是
字选线
微
依靠T1管栅极电容的充放电原理 来保存信息的 ,电容上所保存的
机 原
电荷就会泄漏。在动态RAM的使
(2) Intel 2164A的外部结构:
Intel 2164A是具有16个引脚的双列直插式芯片。
• A0~A7:地址信号的输入引脚; • R A S :行地址选通信号输入引脚;
• C A S :列地址选通信号输入引脚;
• W E :写允许控制信号输入引脚;
微 机
• DIN :数据输入引脚; • DOUT:数据输出引脚; • VDD:+5V电源引脚;
微机原理习题答案4
微型计算机原理第4章习题参考答案4.1已知某数据段中有COUNT1 EQU 16HCOUNT2 DW 16H下面两条指令有何异同。
MOV AX,COUNT1MOV BX,COUNT2解: 同:执行完之后,AX=BX=16H异:MOV AX,COUNT1向AX中传送的是立即数,而MOV BX,COUNT2向BX中传送的是变量内容。
4.2下列程序段执行后,寄存器AX、BX和CX的内容分别是多少?ORG 0202HDA-WORD DW 20HMOV AX,DA-WORD ;AX=0020HMOV BX,OFFSET DA-WORD ;BX=0202HMOV CL,BYTE PTR DA-WORD ;CL=20HMOV CH,TYPE DA-WORD ;CH=02H解: AX=0020H,BX=0202H,CX=0220H4.3设平面上有一点P的直角坐标(x,y),试编制完成以下操作的程序:如P点落在第I象限,则K=I;如P点落在坐标轴上,则K=0。
解:DAT SEGMENTmsg db 'please input number only!$'MSG1 DB 10,13,'INPUT X:$'MSG2 DB 10,13,'INPUT Y:$'xbuf db 20,0xbuf1 db 20 dup(?)ybuf db 20,0ybuf1 db 20 dup(?)D1 DB 10,13,'K='D2 DB '?,$'DAT ENDSCOD SEGMENTASSUME CS:COD,DS:DA TBG: MOV AX,DATMOV DS,AXmov dx,offset msgmov ah,9int 21hMOV DX,OFFSET MSG1MOV AH,9INT 21Hmov dx,offset xbufMOV AH,0AHINT 21HMOV DX,OFFSET MSG2MOV AH,9INT 21Hmov dx,offset ybufMOV AH,0AHINT 21HCMP ybuf1,'0'JE PRO1CMP xbuf1,'0'JE PRO1cmp xbuf1,'-'Jz PRO2CMP ybuf1,'-'Je PRO4MOV D2,'1'JMP SHOWPRO1: MOV D2,'0'JMP SHOWPRO2: CMP ybuf1,'-'Je PRO3MOV D2,'2'JMP SHOWPRO3: MOV D2,'3'JMP SHOWPRO4: MOV D2,'4'SHOW: MOV DX,OFFSET D1MOV AH,9INT 21Hmov ah,4chint 21hCOD ENDSEND BG4.4 试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放于CHAR2开始的内存单元中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标准应用
除以零出错中断 单步(用于Debug)中断 非屏蔽中断(CPU的NMI引脚) 断点(用于Debug)中断 溢出中断 屏幕打印中断 保留
07H
保留
《微机原理与接口技术》教学课件
9
二、硬件中断
硬件中断
包括:非屏蔽中断、可屏蔽中断。 CPU在每执行一条指令的最后一个机器周期,都要检测 NMI和INTR引脚,如果有中断请求,CPU都将进行响应 和处理。
响应中断的条件
①. 可屏蔽中断
㈠. INTR=1,NMI=0且没有DMA请求。 ㈡. CPU当前指令执行完毕。 ㈢. IF=1。
《微机原理与接口技术》教学课件
P.159
10
②. 非屏蔽中断
㈠. NMI=1,系统没有DMA请求。 ㈡. CPU当前指令执行完毕。
中断优先权
DMA 内部中断 NMI INTR 低
屏蔽方式
优先级管理方式 结束方式
自动EOI方式 非自动EOI方式
常规EOI
总线连接方式
缓冲方式 非缓冲方式
特殊EOI
《微机原理与接口技术》教学课件
26
边沿触发
8259A收到第一个负脉冲之前,同一个输入端上不应当出现
第2次上跳沿。
常规屏蔽方式
中断屏蔽寄存器(IMR)对应位置置1,即可屏蔽相应级别 得中断请求。
0
P.167
8259A最初写入的必定是ICW1,由A0=0和ICW1内的D4=1确定。
D7 ~ D5
A7A6A5
D4
1
D3
LTIM
D2
ADI
D1
SNGL
D0
IC4
①. A7A6A5 和ADI :8086/8088 CPU不用。 ②. LTIM:设定中断触发方式。 =0,边沿触发 =1,电平触发 =0,级连方式 =1,单片方式 =0,不写ICW4 =1,要写ICW4
《微机原理与接口技术》教学课件
29
① 初始化命令字(ICW)
ICW1和ICW2是必须写入的,而ICW3和ICW4则由工作方式
决定(ICW1的有关位)。 ICW写入流程图:
ICW1 ICW2
级连?
需ICW4?
N
Y ICW4 N
准备接收中断
Y
ICW3
《微机原理与接口技术》教学课件
30
ICW1(初始化字) A0
中断屏蔽IMR
22
二、引脚定义
D7~D0:双向三态数据总线 IR7~IR0:中断申请信号 WR:写命令信号线 RD:读命令信号线
P.163 CS RD WR D7 · · · · 8259A · · D0 Vcc A0 INTA IR7 · · · · · · IR0 INT SP/ EN CAS2
P.161
4N+0 4N+1 4N+2 4N+3
N型服务程序入口的偏移地址
N型服务程序所在代码段的段基址
因此,存放中断向量的空间就称为中断向量表。
《微机原理与接口技术》教学课件
15
三、中断向量的引导作用 MOV INT Next: ⑤ MOV 堆栈区
Next的有效地址
P.191
② 中断向量表
IP CS
㈠. 中断判别 ㈡. 中断周期(IF=0) ㈢. 装入中断服程序[ CS:IP ]
③. 中断服务(用户自行编制)
由保护现场、具体处理、恢复现场等7个步骤组成。
《微机原理与接口技术》教学课件
7
8.2、微机系统的中断分类
P.158
按照中断源可分:外(硬件)中断、内(软件)中断。 可屏蔽中断INTR
外部(硬件)中断
高
《微机原理与接口技术》教学课件
11
P.189
8.3、80x86的中断指令
1) 开中断指令(STI) 2) 关中断指令(CLI)
3) 软件中断指令(INT N)
4) 中断返回指令(IRET)
《微机原理与接口技术》教学课件
12
一、软件中断指令(INT N)
中断类型N N=0~255 执行功能:调用N型中断服务程序。
①
AH,1 21H DL,AL
YY XX 服务程序 · · · · · · · IRET
③ XX:YY ④
IP CS FLAG
Next的段基址
FLAG寄存器
《微机原理与接口技术》教学课件
16
四、中断类型号
①. 中断号N是CPU系统 分配给每个中断源的代号。
②. 系统外部中断与内部中断、硬中断与软中断一律
5) 8259A初始化
6) 8259A的级连
《微机原理与接口技术》教学课件
21
一、内部结构
INTA
D7 ~ D0
BUFFER RD WR A0 CS CAS0 CAS1 CAS2 SP/ EN 读 /写 逻辑 控制逻辑
P.164 INT
内 部 总 线
ISR 优先 电路 IRR
级连/缓冲 比较器
《微机原理与接口技术》教学课件
《微机原理与接口技术》教学课件
33
ICW3(级连控制字)
8259A在级连工作方式时,要写入ICW3。 主片和从片8259A都必须写入ICW3,但两者含义不同。
P.168
A0 1
D7
D6
D5
D4
D3
D2
D1
D0
S7
S6
S5
S4
S3
S2/ID2
S1/ID1
S0/ID0
①. 对主8259A:ICW3每一位S0~S7表明IR0~IR7上哪些 接有从片。 Si =0,IRi没有连接从片 =1,IRi接有从片
P.161
②. 服务程序入口的偏移地址。
二、中断向量表
微机系统最多允许256种中断,每一种中断分配有一 个中断号(也称中断类型号)。每一种中断对应一
个中断服务程序,因此每一种中断有一个中断向量。
《微机原理与接口技术》教学课件
14
每一种中断向量的为4个字节,256种中断共占1KB空 间。这些中断向量存放在RAM的00000H~003FFH, 这些单元就构成了中断向量表。
安全嵌套方式
固定优先级方式。 高打断低,同级按序。
IR0 IR7
《微机原理与接口技术》教学课件
27
常规EOI方式
在执行IRET之前,向8259A送一个“常规中断结束” 命令。 在安全嵌套方式下,应当使用常规EOI命令结束中断。
缓冲方式
8259A通过总线驱动器与系统数据线相连。
《微机原理与接口技术》教学课件
是外部的。
《微机原理与接口技术》教学课件
4
三、CPU执行流程
P.157
非预料事件1
中断服务程序1
非预料事件 2 中断服务程序 2
《微机原理与接口技术》教学课件
5
四、中断系统基本功能
为了实现中断而采取的硬件和软件措施。 基本功能:
P.154
①. 对于硬件设备的中断请求,应该具有屏蔽和开放的性能。
②. 有多个中断请求时,能够响应优先级别较高的中断,
⑥. 采用非自动中断结束方式;
⑦. 状态读出电路预置为IRR。
《微机原理与接口技术》教学课件
32
ICW2(中断向量字) A0 D7
A15/T7
P.167
D4
A12/T4
D6
A14/T6
D5
A13/T5D3A1/T3D2D0
1
A10 A9 A8
8259A与8086/8088CPU连用时,A10~A8不用,用T7~T3 作为中断类型号的高5位,而低3位由8259A自动按IR输 入端确定。 对应关系: IR0:000 IR1:001 · · · · · · · · IR7:111
非屏蔽中断NMI 中断 内部(软件)中断 执行指令或特殊操作 产生
《微机原理与接口技术》教学课件
8
一、软件中断——中断指令和特殊操作
P.194~195
软件中断的中断源在CPU的内部,主要是由INT 指令、运算过程中错误、设置的断点、单步执行 而引起的中断。软件中断又称内部中断。
中断号
00H 01H 02H 03H 04H 05H 06H
31
③. SNGL: 设定单片/级连方式。 ④. IC4: 设定是否写入ICW4。
《微机原理与接口技术》教学课件
ICW1写入后,8259A内部状态有一初始化过程,它的
动作是: ①. 顺序逻辑复位,准备按ICW2、 ICW3和ICW4接 收其余ICW; ②. 清除ISR和IMR; ③. 设定固定优先级; ④. 从片方式的地址置为7(对应IR7); ⑤. 设定普通屏蔽方式;
《微机原理与接口技术》 第八章 中断系统
《微机原理与接口技术》教学课件
1
第八章
中断系统
1. 中断系统基本概念
2. 中断分类 3. 中断指令 4. 中断向量(矢量) 5. 8259A中断控制器应用
《微机原理与接口技术》教学课件
2
8.1、中断的基本概念
1) 什么是中断?
2) 中断源
P.153
3) 中断系统的基本功能
《微机原理与接口技术》教学课件
ICW4(中断方式字) A0 1 D7 ~ D5 000 D4 SFMN D3 BUF D2 M/S D1 AEOI
P.168
D0 μPM
①. μPM:选用CPU类型
28
五、8259A初始化
定和启动规定的操作。
P.167
8259A可以接受2种命令字对它进行工作方式的设
ICW(Initialization Command Words)