计算机接口技术第3章2
单片机原理及接口技术(第三版)李朝青编著 第三章作业答案
3.4 思考题与习题5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:访问特殊功能寄存器可采用寄存器寻址、直接寻址、寄存器间接寻址、部分的还可采用位寻址。
访问片外数据存储器只能采用寄存器间接寻址。
6.在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H, (48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
MOV A,40H ;A=48H,直接寻址MOV R0,A ;R0=48H,寄存器寻址MOV P1,#0F0H ;P1=F0H,立即寻址MOV @R0,30H ;(48H)=38H,直接寻址MOV DPTR,#3848H ;DPTR=3848H,立即寻址MOV 40H,38H ;(40H)=40H,直接寻址MOV R0,30H ;R0=38H,直接寻址MOV P0,R0 ;P0=38H,寄存器寻址MOV 18H,#30H ;(18H)=30H,立即寻址MOV A,@R0 ;A=40H,寄存器间接寻址MOV P2,P1 ;P2=F0H,寄存器寻址9.设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ;A=80HMOV @R0,40H ;(32H)=08HMOV 40H,A ;(40H)=80HMOV R0,#35H ;R0=35H答:R0=35H,A=80H,(32H)=08H,(40H)=80H。
16.已知(A)=83H,,(R0)=17H,,(17H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,#17H ;A=03HORL 17H,A ;(17H)=34H∨03H=37HXRL A,@R0 ;A=03H⊕37H=34HCPL A ;A=CBH答:A=CBH17.使用位操作指令实现下列逻辑操作。
单片机原理与接口技术第3章
注意:
①目操可以是A、direct、Rn、@Ri中的任一个,源 操可以是A、direct、Rn、@Ri、#data中的任一 个。 ②#data不能作目操。 ③目操和源操不能同时出现Rn、@Ri。 ④目操和源操不能同时为A。 ⑤目操和源操可以同时为direct类型。 ⑥目操和源操数据长度应保持一致。
• 例如指令: MOVC A, @A+PC ; (A)←((A)+(PC)) MOVC A,@A+DPTR ; (A)←((A)+(DPTR)) 这两个指令中,第2操作数采用了基址寄 存器加变址寄存器的间接寻址方式,其功 能是指定以A作为变址寄存器,PC(或 DPTR)作为基址寄存器,两者内容相加所 得结果作为参与操作的数据的存储单元地 址,把此单位中的内容送到累加器A中 。
(2)以Rn为目的地址的指令 指令 操作 MOV Rn, A (Rn)←(A) MOV Rn, direct (Rn)←(direct) MOV Rn, #data (Rn)←data 这组指令的功能是将源操作数送入当前 工作寄存器区R0~R7中的某一寄存器中。 源操作数的寻址方式分别为隐含寻址、直 接寻址和立即寻址方式。
(4)注释:该字段不是汇编语言的功能部分
,只增加程序的可读性。注释前要加“;”
MCS-51单片机指令系统具有111条指令
49条单字节指令
按指令代码的 字节数分
45条双字节指令 17条三字节指令
64条单机器周期指令 按指令的执 行时间分 45条双周期指令 2条(乘,除指令)四 机器周期指令 指令系统优点:存储效率高 执行速度快
3. 乘法指令 MUL
指令 MUL AB 这条指令是把累加器A和寄存器B中的8位无符 号二进制数相乘,16位乘积的低8位留在累加器A 中,高8位存放在寄存器B中。 如果乘积大于0FFH,则OV=1,否则OV=0。 CY标志总是被清0。 设(A)=50H,(B)=0A0H,执行指令:MUL AB 结果:(B)=32H,(A)=00H(即积为3200H),OV= 1,CY=0。
单片机原理及接口技术+梅丽凤第三章答案
第3章 MCS-51系列单片机的指令系统3-1解答:指令是规定计算机进行某种操作的命令,一台计算机所能执行的指令集合称为该计算机的指令系统。
计算机内部只识别二进制数,因此,能别计算机直接识别、执行的指令时使用二进制编码表示的指令,这种指令别称为机器语言指令。
以助记符表示的指令就是计算机的汇编语言指令。
3-2解答:[标号:] <操作码> [操作数] [;注释]3-3解答:MCS-51系列单片机提供了7种寻址方式:(1)立即寻址:操作数在指令中直接给出,立即数前面有“#”。
(2)直接寻址:在指令中直接给出操作数地址。
对应片内低128个字节单元和特殊功能寄存器。
(3)寄存器寻址:以寄存器的内容作为操作数。
对应的寄存器有:R0~R7、A、AB寄存器和数据指针DPTR。
(4)寄存器间接寻址:以寄存器的内容作为RAM地址,该地址中的内容才是操作数。
对应片内RAM的低128个单元采用R0、R1作为间址寄存器,片外RAM低256个单元可用R0、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器。
(5)变址寻址:以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数地址。
对应片内、片外的ROM空间。
(6)相对寻址:只在相对转移指令中使用。
对应片内、片外的ROM空间。
(7)位寻址:对可寻址的位单独进行操作。
对应位寻址区20H~2FH单元的128位和字节地址能被8整除的特殊功能寄存器的相应位。
3-4解答:直接寻址方式。
3-5解答:寄存器间接寻址方式。
3-6解答:立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻址方式。
3-7解答:变址寻址方式3-8解答:对于8052单片机内部RAM的高128B,必须采用寄存器间接寻址方式进行访问。
3-9解答:外部数据传送指令有6条:MOVX A,@DPTR MOVX @DPTR,AMOVX A,@Ri MOVX @Ri,AMOVC A,@A+DPTR MOVC A,@A+PC(1)MOVX A,@R1 MOVX A,@DPTR都是访问片外RAM,但二者寻址范围不同。
计算机接口技术练习题
第一章微机接口技术概述1. 8086微处理器可寻址访问的最大I/O空间是()。
A.1KBB.64KBC.640KBD.1MB参考答案:B2. CPU的控制总线提供()。
A.数据信号流B.所有存储器和I/O设备的时序信号及控制信号C.来自I/O设备和存储器的响应信号D.前面B和C两项参考答案:D3. CPU的数据总线提供()。
A.数据信号流B.所有存储器和I/O设备的时序信号及控制信号C.来自I/O设备和存储器的响应信号D.地址信号流参考答案:A4. CPU的地址总线提供()。
A.数据信号流B.所有存储器和I/O设备的时序信号及控制信号C.来自I/O设备和存储器的响应信号D.地址信号流参考答案:D5. CPU在执行OUT DX,AL指令时,CPU往控制总线上送出的有效信号是()。
A. B C D.参考答案:A6. CPU在执行OUT DX,AL指令时,CPU往地址总线上送出的有效信号是()。
A.DX寄存器所存放的地址B AL寄存器所存放的数据C D.参考答案:A7. CPU在执行OUT DX,AL指令时,CPU往数据总线上送出的有效信号是()。
A.DX寄存器所存放的地址B AL寄存器所存放的数据C D.参考答案:B8. 8086 CPU寄存器中,能在操作数内存寻址时用作地址寄存器的是()。
A.AX B BX C CX D. DX参考答案:B9. 8086CPU在作外设输入时,控制信号M/ ,DT/ 必须是()。
A.11 B 00 C 01 D. 10参考答案:B10. 8086CPU基本总线周期中,地址信号在()时间发生。
A.T1 B T3 C T2 D. T4参考答案:A11. 8086CPU在作总线操作时,遇到READY=L后可插入()。
A.1个等待周期 B 等待周期个数由具体情况所定C 2个等待周期 D. 3个等待周期参考答案:B12. 8086系统中,SP()。
A.只能指向奇地址单元 B 只能指向偶地址单元C最好指向偶地址单元 D. 最好指向奇地址单元参考答案:B13. 8086 系统配置在最大方式比最小方式增加的一片专用芯片是()。
第三章 人机接口技术
39H 5FH 79H 71H BFH 86H DBH CFH E6H … FFH 00H
C6H A1H 86H 84H 40H 79H 24H 30H 19H … 00H FFH
七 段 字 符 的 段 选 码
2 3 4 5 6 7 8 9 A B
(二)LED接口技术
LED显示器有静态显示和动态显示两种方式. 1.LED静态显示方式 N位静态显示器要求有N×8根I/O口,占 有I/O资源较多,故在位数较多时往往采 用动态显示方式。
2、计算机控制系统的人机交互通道
2.1人机接口的功能和类型
2.2人机交互通道的特点
1、人机接口的功能和类型
计算机控制中,人对系统状态的了解、掌握和指挥 依赖于人机通道中数据的传递,这里包括人对系 统的了解和干预、控制参数的输入、系统状态的 打印汇报等等内容。人机交互通道的主要形式如 图3-1所示。 按键键盘
a b c d e f g dp
COM
显示字符
共阴极段选码
共阳极段选码
显示字符
共阴极段选码
共阳极段选码
0 1
3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH
C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H
C D E F 0. 1. 2. 3. 4. … 8.
dp g f e d c b a
dp g f e d c b a
dp g f e d c b a
dp g f e d c b a
LED 1 COM
LED 2 COM
LED 3 COM
LED 4 COM
图 6-5 LED静态显示硬件译码接口电路
微机原理和接口技术张颖超叶彦斐第3章习题答案解析
习题1.指出下列指令中操作数的寻址方式(1) MOV BX, 20H (2) MOV AX, [1245H](3) MOV DX, [SI] (4) MOV 100[BX], AL(5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX(7) MOV [1800H], AL (8) MOV [SI], AX答:源操作数目的操作数1 立即寻址寄存器寻址2 直接寻址寄存器寻址3 寄存器间接寻址寄存器寻址4 寄存器寻址寄存器相对寻址5 寄存器寻址基址加变址寻址6 寄存器寻址相对基址加变址寻址7 寄存器寻址直接寻址8 寄存器寻址寄存器间接寻址2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:(1) [AX] (2) [SI+DI](3) BP (4) BH(5) DS (6) [BL+44](7) [BX+BP+32] (8) [DX](9) [CX+90] (10) [BX*4](11) BX+90H (12) SI[100H]答:(1) 错误,AX不能用于访问内存单元(2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址(3) 正确,寄存器寻址方式(4) 正确,寄存器寻址方式(5) 正确,寄存器寻址方式(6) 错误,寄存器BL不能用于表示内存单元的有效地址(7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址(8) 错误,DX不能用于表示内存单元的有效地址(9) 错误,CX不能用于表示内存单元的有效地址(10)错误,16位寄存器不能乘以比例因子(11) 错误,没有这样的寻址方式(12) 错误,书写方式不对,应该写成100H[SI]3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少?(1) MOV AL, [2500H](2) MOV AX, [BP](3) MOV AX, ES:[BP+10](4) MOV AL, [BX+SI+20]答:(1)源操作数属于直接寻址,物理地址=DS⨯16+2500H=20000H+2500H=22500H;(2)源操作数属于寄存器间接寻址,物理地址=SS⨯16+(BP)=10100H+0200H=10300H(3)源操作数属于寄存器相对寻址,物理地址=ES⨯16+(BP)+100=10000H+0200H+0AH=1020AH(4)源操作数属于基址加变址寻址,物理地址=DS⨯16+(BX)+(SI)+20=20000H+0500H+1100H+14H=21614H4. 判断下列指令的对错,如果错误请说明原因。
《微机接口技术及其应用》课件第3章
2 MHz,则必须经分频后才能送到CLK端,使用时要注 意。
25
8253的3个计数器都各有3个引脚,它们是: (1) CLK0~CLK2:计数器0~2号的输入时钟脉冲从这 里输入。 (2) OUT0~OUT2:计数器0~2号的输出端。
CPU才能与8253通信,即进行读/写操作。
29
·A1A0:地址信号线。这两位地址用来选择片内四个端 口地址(三个计数器的端口和一个控制寄存器端口),以便进 行读写。对于8088,这两位地址一般接CPU地址线的A1A0; 而对于8086,由于系统地址线的A0用于片选译码中奇偶地址 的选择,因此要连接在系统地址线的A2A1上。
4
1.软件定时
软件定时是利用CPU内部定时机构产生的,一般根据所 需的时间常数来设计一个延时子程序。延时子程序中包含一 定的指令,设计者要对这些指令的执行时间进行周详的计算 或精确的测试,以便确定延迟时间是否符合定时的要求,再 运用软件编程,循环执行一段子程序,即可产生等待延时。 这是一种常用的定时方法,主要用于短时延时。
13
3.2 可编程定时/计数器芯片8253
可编程定时/计数器芯片的型号有几种,它们的外形引 脚及功能都是兼容的,只是工作的最高频率有所差异,例如 8253-5和8254-2,前者的最高频率为5 MHz,后者为10 MHz。 另外,还有8253(2 MHz)、8254(8 MHz)和8254-5(5 MHz)等 兼容芯片,8253与8254的区别在于:8254有读回功能,可以 同时锁存3个计数器的计数值及状态值,供CPU读取,而 8253每次只能锁存一个通道的计数器,且不能读取状态值。 下面以8253为例进行分析。
第三章-输入输出通道和接口技术
2、常用的采样/保持器 常用的采样/保持器有美国 AD公司的AD582、AD585 、
AD346、AD389和国家半导体公司的LF198/298/398等。 LF198是由双极型绝缘栅场效应管组成的采样/保持器,它
具有采样速度快,保持性能好,精度高等优点。 LF198芯片引脚和原理图如图5-21所示。 LF198芯片引脚的功能如下: (1) VIN:模拟量输入 (2)VOUT: 模拟量输出。
上述转换过程需要用模拟量输入/输出通道来实现。 ● 开关量:如继电器的合上和断开,按钮的按下和松开等。
3
开关量的输入/输出较模拟量简单,计算机只需判断输 入信息是“0”还是“1”,即可知道开关的状态;若控制某个 继电器工作,只需经过输出通道送“0”或“1”即可。
工业现场存在着电、磁、震动、温度变化等干扰,各类 执行器要求的开关电压、功率也不同,因此需要设置输入/ 输出通道进行信息的缓冲、隔离、驱动等措施。
CD4051由电平转换、译码、多路开关组成。 电平转换: CMOS到TTL的转换 3-8译码器:通过对分时控制端A、B、C的状态进行译码来
选择某一路的接通。
18
(三)采样/保持 由传感器检测的模拟信号经过处理后仍是模拟量,要输入
到计算机中,需要进行A/D转换。 由于A/D转换过程需要时间,因此要求输入A/D转换器的信
2
在工业控制过程中,被测参数一般分为模拟量和开关量。 ● 模拟量:如温度、压力、流量、电压和电流等;
由于计算机只能处理数字量,因此对于模拟量需要经过采 集,放大,采样保持,A/D转换等步骤,将模拟量转换为数字 量,才能送入计算机进行运算、分析和处理。
同样的,经过计算机处理后数据常常需要转换成模拟量来 控制执行机构的执行。
微机系统原理与接口技术第三章习题解答.
“微机系统原理与接口技术”第三章习题解答1.下列各条指令是否有错?如果有,请指出错误之处并改正。
(1)MOV DS,1000H(2)MOV [100],23H(3)ADD AX,[BX+BP+6](4)PUSH DL(5)IN AX,[3FH](6)OUT 3FFH,AL(7)LES SS,[SI](8)POP [AX](9)IMUL 4CH(10)SHL BX,5(11)INT 300(12)XCHG DX,0FFFH答:(1)错误。
不允许直接向段寄存器送立即数,可改为:MOV AX,1000HMOV DS,AX(2)错误。
该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTE PTR或WORD PTR说明,否则汇编程序会因不能确定操作数长度而指示出错。
可改为:MOV BYTE PTR [100],23H(3)错误。
不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADD AX,[BX+DI+6](4)错误。
堆栈操作应以字为单位进行,而DL是一个字节。
可改为:PUSH DX(5)错误。
在输入/输出指令中,8位端口地址应直接写在操作数处。
可改为:IN AX,3FH(6)错误。
端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX。
可改为:MOV DX,3FFHOUT DX,AL(7)错误。
LES指令的目操作数应该是通用寄存器,不能是段寄存器。
可改为:LES AX,[SI](8)错误。
AX不能用于间接寻址,间接寻址只能用BX、BP、SI、DI四个寄存器之一。
可改为:POP [BX](9)错误。
立即数不能做乘法指令的操作数,可改为:MOV BL,4CHIMUL BL(10)错误。
当逻辑移位的次数大于1时,应该用CL指示次数。
可改为:MOV CL,5SHL BX,CL(11)错误。
操作数300 255,已超出有效的中断类型码范围。
单片机原理及接口技术(第3章)
第3章 MCS-51单片机的指令系统
① 操作码部分:以助记符表示,助记符用英语单词的缩写, 表明该指令的功能,如MOV表明该指令是一条数据传送指 令,ADD表明该指令是一条加法指令。
② 书写格式:操作码和操作数要用空格分开,如果指令中有 多项操作数,操作数之间要用“,”分开。方括号[ ]表 示该项是可选项, 可有可无。
单片机原理与接口技术 第3章
第3章 MCS-51单片机的指令系统
3.1 指令格式和寻址方式 3.1.1指令格式 1.指令格式
每条指令由操作码和操作数两部分组成。 操作码表示计算机将进行何种操作。 操作数表示参加操作的数或操作数所在的地址。 有无操作数、单操作数、双操作数三种情况。 汇编语言指令格式为: [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]
(5)16位数据传送指令 MOV DPTR,#data16 ;将一个16位数送入DPTR中。 功能:把16位常数送入DPTR中。
高位立即数送入DPH,低位立即数送入DPL中。 (6)堆栈操作指令 PUSH direct ;将直接地址中的数压入栈顶;
SP←(SP)+1;(SP)←(direct)。 POP direct ;将栈顶中的数据弹出到直接地址;
例如:
MOV A,R6 ; A←(R6),将寄存器R6中的内容送到累加器A。
MOV A,30H ; A←(30),将内部RAM30H单元的内容送到累加器A。
MOV A,@R0 ; A←((R0)),将内部RAM中R0的内容为地址的单
元的内容送到累加器A。
MOV A,#40H
; A←40H,将立即数40H送给累加器A。
功能:将累加器A的低4位和R0或R1间址的存储单元的低4位
微机原理与接口技术 第三章 课后答案
第三章参考答案1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令:⑴将一个立即数送入寄存器BX;⑵将一个立即数送入段寄存器DS;⑶将变址寄存器DI的内容送入一个存储单元中;⑷从存储单元中取一个数送到段寄存器ES中;⑸将立即数0ABH与AL相加,结果送回AL中;⑹把BX与CX寄存器内容相加,结果送入BX;⑺用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。
解:(1)MOV BX, 1234H(2)MOV AX, 1234HMOV DS, AX(3)MOV [BX], DI(4)MOV ES,[BX](5)ADD AL,0ABH(6)ADD BX,CX(7)MOV AX,[BX]ADD AX,1234HMOV [BX],AX2.执行下面程序,完成指令后的填空:MOV AX,2000H ;AH= 20HMOV DS,AX ;AL= 00H DS= 2000HMOV SS,AX ;SS= 2000H AX= 2000HMOV BX,2030H ;BH= 20H BL= 30HMOV SI,BX ;SI= 2030HMOV DI,3040H ;DI= 3040HMOV SI,DI ;SI= 3040HMOV SP,50FFH ;SP= 50FFHMOV DX,SP ;DH= 50H DL= FFHMOV CL,25 ;CL= 19HMOV BL,CL ;CL= 19H BL= 19HMOV AH,0F0H ;AH= F0HMOV CH,AH ;CH= F0HMOV BYTE PTR[DI],64 ;(DI)= 40HMOV WORD PTR[SI],256 ;(SI)= 00H (SI+1)= 01HMOV DL,[SI+1] ;DL= 01HMOV DH,1+[SI] ;DH= 00HMOV AL,1[SI] ;AL= 01HMOV WORD PTR[BX][SI],34 ;(BX+SI)= 22H (BX+SI+1)= 00HMOV [BX+SI+4],BL ;(BX+SI+4)= 19HMOV BP,2[BX+DI] ;BP= 00HMOV [BP],AL ;(BP)= 01HMOV AX,[BP][DI] ;AX= 0100HMOV BL,AL ;BL= 00HMOV ES,BX ;ES= 2000HPUSH BX ;SP= 50FDH (SP,SP+1)= 2000HPUSH DI ;SP= 50FBH (SP,SP+1)= F019HPOP CX ;SP= 50FDH CX= 3040HPOP DX ;SP= 50FFH DX= 2000HXCHG AX,BP ;AX= 0000H BP= 0100HXCHG DH,BL ;DH= 00H BL= 20HLAHF ;FLAG= 0002H AH= 02HSAHF ;FLAG= 0002H AH= 02HPUSHF ;SP= 50FDH (SP,SP+1)= 0002HPOPF ;SP= 50FFH FLAG= 0002H3.设DS=2000H,ES=2100H,SS=1500H,SI=00A0H。
《接口技术》习题课
5
习题1-10:什么是总线桥?总线桥与接口有何不 同?
答: 总线桥,是实现微处理器总线与PIC总线,以及PCI 总线与本地总线之间的连接与信息交换(映射)的 接口。
总线桥与接口的不同之处:
① 首先,总线桥与接口的区别是“连接的对象不同”。接口 连接的是I/O设备、与本地总线(用户总线);而总线 桥连接的是本地ISA总线与PCI总线。
② 参加译码的地址信号、控制信号的组合可以不同。
15
习题3-11:你能采用74LS138设计一个I/O地址译码电路 吗?(可参考例题3.2)。略。
¾ “I/O操作是指CPU直接对I/O设备进行操作”,这话 对吗?
答:不对。I/O操作是指I/O端口操作,即访问与I/O设 备相关的端口,而不是对I/O设备直接操作。
19
习题4-8:82C54A有6种工作方式,其中使用最多的是哪几 种?区分不同工作方式应从哪几个方面进行分析?
答:82C54A有6种工作方式——方式0~方式5。区分不同工作方 式的特点,主要体现在以下的4个方面: • 启动计数器的触发方式不同; • 计数过程中,门控信号GATE对计数操作的控制作用不 同; • 计数/定时到时,输出端OUT输出的波形不同。 • 在计数过程中,写入新的计数初值的处理方式不同;
¾ “3方式”由于具有自动重新装载计数初值,能输出重复波形, 且输出波形的高低电平比为1:1或近似1:1(方波或近似方 波),所以在实际中应用最广泛。
20
习题4-9:计数初值或定制常数有什么作用?如何计算 82C54A的定时常数?
答:
1)定时常数(计数初值),是决定82C54A的计数多少和定 时长短的重要参数。
单片机微型计算机原理及接口技术课后习题答案3章
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
第三章 IO接口技术与IO通道
第三章 输入输出接口与过程通道
4
计算机控制技术
高等院校自动化新编系列教材
(3)地址译码:在微处理机系统通常都配备有多个或多种外围 设备,这样就会有多个输入/输出接口,像为键盘、鼠标、打印 机、显示器、磁盘等诸输入/输出设备均配备有各自接口,且为 它们分配了各自的地址码。通过接口中的地址译码电路对外围 设备输入/输出地址寻址。 (4)控制和状态:由于微处理机的操作速度与输入/输出设备的运 行速度不在一个数量级上,所以随时需要知道输入/输出设备的 状态。常用的状态信号有正忙和准备就绪。 (5)校验和检查:在微处理机系统中,通常为输入/输出接口配备 有校验功能,并且可以将出错信息报告给微处理机。像外围设 备机构中的机械和电路故障,就要向微处理机报告故障的类型 和位置。若数据在传送中的错误就用奇偶校验码进行校验。如 若USB在传送过程中出现错误则要用到容错功能,发送设备会 重复发送数据直至正确为止。
第三章 输入输出接口与过程通道
16
计算机控制技术
高等院校自动化新编系列教材
3)常用的I/O接口部件的框图
系统总线接口
外围设备接口
数据寄存器 数据线 状态 / 控制寄存器
外围设备 接口逻辑
数据
状态
控制
┇
地址线
I/O 逻辑
控制线
外围设备 接口逻辑
数据 状态 控制
第三章 输入输出接口与过程通道
17
计算机控制技术
第三章 输入输出接口与过程通道
11
计算机控制技术
高等院校自动化新编系列教材
第三章 输入输出接口与过程通道
12
计算机控制技术
高等院校自动化新编系列教材
b. 同步传送 许多字符组成一个数据块,块前设同步字符, 以一个CRC字符结束。字符间不允许空隙,空闲时 发同步字符。收发器时钟频率严格保持一致,发端 将时钟与数据一起发送到接收端,硬件电路较异步 复杂。 CRC字符 循环冗余校验字符。 同步字符 特殊8位二进制码,接收器收到 同步字符,一幀即开始。
微机原理与接口技术课件:第3章_3 加1指令INC(单操作数指令)
7
SUB/SBB对标志位(CF/OF/ZF/SF)的影响
CF=
1 0
被减数的最高有效位有向高位的借位
否则
OF= 1 两个操作数符号相反,而结果的符号与减数相同
0 否则
CF=1表示无符号数减法溢出。 OF=1表示带符号数减法溢出。
MOV AL,34H
MOV BL,25H
CBW
; AL的符号扩展到AH
DIV BL ; 0034H÷25H,结果为
; (AH)=0FH, (AL)=01H
19
5.BCD码运算的十进制调整指令
• 专用于对BCD码运算的结果进行调整 • 包括:DAA、AAA、DAS、AAS、AAM、AAD • 均为隐含寻址,隐含的操作数为AL和AH • 为何要对BCD码的运算结果进行调整?
•AAA指令应紧跟在ADD或ADC指令之后。
21
AAA指令的操作如下: 如果AL的低4位>9∨AF=1,则:
① AL←(AL)+6,(AH)←(AH)+1,AF←1 ② AL←((AL)∧0FH) ③ CF←AF
否则AL←(AL)∧0FH
22
调整原理:先看一个例子
计算8+9 0000 1000
见右式
10
比较指令在使用时,一般在其后紧跟一条条件 转移指令,判断比较结果的转向。 举例:比较AL、BL、CL中带符号数的大小,将
最小数放在AL中。 程序:
CMP AL,BL ;AL和BL比较 JNG BBB ;若AL≤BL,则转 XCHG AL,BL ;若AL>BL,则交换 BBB: CMP AL,CL ;AL和CL比较 JNG CCC ;若AL≤CL,则转 XCHG AL,CL ;若AL>CL,则交换 CCC: HLT
单片机原理及接口技术课后答案第三章
单⽚机原理及接⼝技术课后答案第三章第三章1、指令:CPU根据⼈的意图来执⾏某种操作的命令指令系统:⼀台计算机所能执⾏的全部指令集合机器语⾔:⽤⼆进制编码表⽰,计算机能直接识别和执⾏的语⾔汇编语⾔:⽤助记符、符号和数字来表⽰指令的程序语⾔⾼级语⾔:独⽴于机器的,在编程时不需要对机器结构及其指令系统有深⼊了解的通⽤性语⾔2、见第1题3、操作码 [⽬的操作数] [,源操作数]6、 MOV A,40H ;直接寻址(40H)→AMOV R0,A;寄存器寻址(A)→R0MOV P1,#0F0H ;⽴即数寻址0F0→P1MOV @R0,30H;直接寻址(30H)→(R0)MOV DPTR,#3848H;⽴即数寻址 3848H→DPTRMOV 40H,38H;直接寻址(38H)→40HMOV R0,30H;直接寻址(30H)→R0MOV P0,R0;寄存器寻址( R0 )→P0MOV 18H,#30H ;⽴即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址 ((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、⽤直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;⽴即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;⽴即数寻址3字节2周期如果想查某⼀指令的机器码,字节数或周期数可查阅书本后⾯的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、⽤直接寻址,位寻址,寄存器寻址11、只能采⽤寄存器间接寻址(⽤MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)⾼128字节:直接寻址,位寻址,寄存器寻址13、采⽤变址寻址(⽤MOVC指令)14、压缩BCD码在进⾏加法运算时应逢⼗进⼀,⽽计算机只将其当作⼗六进制数处理,此时得到的结果不正确。
第3章(1)微机原理与接口技术(第三版)(王忠民)
第三章 80x86微处理器
第三章 80x86微处理器
2. 数据总线从8086的16位到80586的64位。数据 总线是计算机中组成各部件间进行数据传送时的公共 通道。其位数(宽度)表示CPU的字长,数据总线位数 越多,数据交换的速度越快。
微机原理与接口技术
——第三章 80x86微处理器
西安邮电大学 计算机学院
范琳
第三章 80x86微处理器
1
80x86 微处理器简介
2
8086 微处理器
3
8086 寄存器
4
8086 引脚功能
5
8086 存储器组织
第三章 80x86微处理器
3.1 80x86微处理器简介
80x86微处理器是美国Intel公司生产的系列微处 理器。从8086开始到目前已进入第五代微处理器: 8086(8088)、80286、80386、80486和80586 (Pentium、Pentium ⅡⅣ)。其主要发展特点是:
近的数据可能很快就会被使用。
所以,层次结构的存储器系统,可以将最近访问 过的内容放入Cache,将近期访问过内容所属的整 个块放入Cache。
第三章 80x86微处理器
80x86CPU在发展过程中,存储器的管理机制也 发生了较大变化。
8086/8088CPU:分段实方式 80286CPU:分段实方式、保护方式(可提供虚 拟存储管理和多任务管理机制)。 8038680586CPU:分段实方式、保护方式、虚 拟8086方式(可同时模拟多个8086处理器工作)。
16 32位微机原理汇编语言及接口技术(第二版)第三章课后习题
16 32位微机原理、汇编语言及接口技术(第二版)第三章课后习题>第3章3.1:汇编语言有什么特点解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2编写汇编语言源程序时,一般的组成原则是什么?解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段 3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序?解:存储模式 TINY SMALL COMPACT MEDIUM LARGE HUGE FLAT 特点 COM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持)小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KB 代码少、数据多的程序,只有一个代码段,但有多个数据段代码多、数据少的程序,可有多个代码段,只有一个数据段大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制) 32位应用程序,运行在32位80x86CPU和Windows 9x或NT环境 3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程?解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5逻辑段具有哪些属性?解:段定位、段组合和段类型。
3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序?? 解: stack segment stack db 1024(0) stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’ data endscode segment 'code'assume cs:code,ds:data,ss:stack start: mov dx,offset string mov ah,9 int 21h code endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB 通常生成EXE结构的可执行程序 (2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名EQU 符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
入栈与出栈顺序应相反
PUSH AX PUSH BX PUSH WORD PTR[BX] POP WORD PTR[BX] POP BX POP AX POP AX POP BX
;正确
34
...
举例
MOV AX,9000H MOV SS,AX MOV SP,0E200H MOV DX,38FFH PUSH DX PUSH AX
B的ASCII码。ASCII表在DS段中,并假设
(DS)=4000H。见下页图。
40
存储器
42000H+0
30H 31H 32H
‘0’ ‘1’ ‘2’
‘9’ ‘A’ ‘B’ ‘E’ ‘F’ 十六进制数ASCII码表
41
...
39H 41H 42000H+11 42H
...
45H 46H
...
则可用如下几条指令实现:
①立即数送通用寄存器
MOV
reg,data
BL,80H CX,2976H AL,1234H(错误)
例:MOV MOV MOV
8
②立即数送存储单元
MOV mem,data 例:a)MOV [1234H],56H b) MOV [1234H],5678H c)MOV BYTE PTR [1234H],56H d)MOV WORD PTR [1234H],5678H 设(DS)=2000H 则(21234H)=78H,(21235H)=56H
SS
压栈方向
栈顶 SP
出栈方向
堆栈段
栈底
21
设: (SS)=9000H , 堆栈段为64KB MOV SP, E200H; (SP)= E200H
则:
整个堆栈段的物理地址范围为:
90000H~9FFFFH
栈顶的物理地址为:9E200H
堆栈在内存中的情况如图所示:
22
偏移地址 ... 0000H
物理地址 00000H(低地址) 90000H
14
几个不能传送的解决办法:用reg作桥梁
●存储器←存储器: MOV AX,MEM1 MOV MEM2,AX ●段寄存器←段寄存器: MOV AX,DS MOV ES,AX ●段寄存器←立即数:
MOV AX,DATA MOV DS,AX
15
判断下列指令的正误:
MOV AL,BX MOV AX,[DX]
什么是堆栈? 按“后进先出”方式工作的存储区域,用以 存放寄存器或存储器中暂时不用又必须保存 的数据。 (SS)为段基址 (SP)为栈顶的偏移地址 堆栈以字为单位进行压入弹出操作。
18
思考:
为什么要设置堆栈?
为什么要按 “后进先出”方式工作?
参见下图
19
主程序
主程序
执行子 程序1 执 行 子 程 序 执 行 子 程 序 2
低地址
DH
90
DL
00
00 90 FF 38
9E1FCH
POP DX POP AX
...
9E200H
38 AH
FF AL
高地址 执行完PUSH指令后
执行完POP指令后
35
注意事项
堆栈只能进行字操作。 CS、IP只能入栈,不能出栈。 压栈时,SP-2;出栈时,SP+2。 入栈与出栈顺序相反。
常用于不同码制之间的转换,将代码排成一个表
预先存放内存中。 执行时先将表的首地址(偏移地址)送到BX中, 表项序号存于AL中。它可根据表项序号查出表中对 应代码的内容。
39
举例
内存数据段有一张16进制数的ASCII码
表,设首地址为2000H,如欲查出表中第11
个代码(代码序号从0开始)即十六进制数
格式:POP dest;dest为16位操作数 dest:通用寄存器,存储器单元, 段寄存器(除CS)
执行操作: dest低8位←(SP) dest高8位←(SP)+1 (SP)←(SP)+2
28
举例
①POP BX;将栈顶内容弹至BX 执行操作:(BL)←(SP) (BH)←(SP)+1 (SP)←(SP)+2 ②POP DS ③POP [SI]
36
3.交换指令XCHG
格式:XCHG OPRD1,OPRD2 功能:交换两操作数的内容。 (OPRD1) (OPRD2) 要求: ①两操作数中必须有一个寄存器操作数; ②操作数不能为段寄存器和立即数; ③两操作数不能同时为存储器操作数。 ④源和目标操作数数据类型要一致。
37
举例
①XCHG AX,BX ; (AX) ②XCHG SP,CX ; (SP) ③XCHG SI,[BX][SI]
9
③通用寄存器之间
MOV reg,reg 例:MOV AX,SI MOV BL,CL
10
④通用寄存器与存储器之间
MOV mem,reg MOV reg, mem 例:MOV [BP][DI],AX 设(BP)=2600H,(DI)=3000H (SS)=7000H,(AX)=2839H 则(75600H)=39H,(75601H)=28H
两倍,若不满足则需对被除数进行扩展, 否则产生错误。 ③扩展规则:在高位添加符号位,即将符 号数的符号位扩展到高位
43
;(Convert Byte To Word) ;把AL的符号位复制到AH CWD ; (Convert Word To Double Word) ;把AX的符号位复制到DX ◆指令为零操作数指令,采用隐含寻址,隐含 的操作数为AL,AH(CBW) AX,DX(CWD) 格式:CBW
判断指令的正误
MOV CL,[AX]
MOV AX, [DX]
MOV CX, [BP+BX]
MOV AH, [SI+DI]
MOV BL, [AX+CX]
1
3.3 8086/8088指令系统
可分成如下6类:
数据传送类指令
算术运算类指令
逻辑运算和移位指令
串操作指令
程序控制类指令
处理器控制指令
31
POP BX
若执行前: (SS)= 2000H 则执行后: (SS)= 2000H
(SP)= 1000H
(SS:SP)= 1234H (BX)= 5678H
SS:SP 2000H:1000H
(SP)= 1002H
(SS:SP)= 2010H (BX)= 1234H 地址 低 地址 低
SS:SP 2000H:1002H
45
二. 输入输出(I/O)指令
CPU与外设之间进行信息交换需要通过接 口电路来实现, CPU I/O接口 I/O设备 而I/O接口内部包含一组寄存器,CPU与 I/O接口进行通信实际上是通过这些寄存 器组实现的,这些寄存器就称为I/O端口。 每个端口有一个唯一的地址。
34H 12H 10H
34H 12H 10H
20H
20H
(BX)=5678H
高 (BX)=1234H
高
32
指令执行前
指令执行后
堆栈指令使用时应注意几点:
①堆栈操作总是按字进行
②不能从栈顶弹出一个字给CS,IP ③堆栈指针为SS:SP,SP永远指向栈顶 ④SP自动进行增减量,压栈:SP-2,出栈: SP+2 ⑤PUSH和POP指令在程序中一般成对出现
(SP)=E200H
9E200H
堆 栈 段
FFFFH ...
9FFFFH
23
① 压栈指令
格式:PUSH src ;src为16位操作数
src:通用寄存器,段寄存器,存储器单元 执行操作:(SP)-1← src高8位
(SP)-2← src低8位
(SP)←(SP)- 2
24
举例
①PUSH AX ;将AX内容压栈 执行操作: (SP)-1←高字节AH (SP)-2←低字节AL (SP)←(SP)- 2 ②PUSH ③PUSH [BX] DS
3
Sreg:段寄存器( Segment register) DATA: 8位或16位立即数 mem:存储器操作数(memory) mem8/16/32: 8/16/32位存储器操作数 port:输入输出端口,可用数字或表达式表示
( ):表示寄存器或存储单元的内容
[ ]:表示存储器操作数,方括号中的内容表示存储 单元的偏移地址。
29
存储区
存储区
(SS段)
低地址
(SS段) 低地址
20H 10H
(SP) (SP)+1 (SP)+2
新栈顶(SP)
出栈方向 10 执行前
高地址
20 执行后
高地址
BX
(BX)=1020H
POP BX指令执行示意图
30
PUSH AX
若执行前: (SS)= 2000H (SP)= 1002H (SS:SP)= 2010H (AX),执行示意图下图
低地址
存储区
低地址
存储区
(SS段)
(SS段)
(SP)-2 (SP)-1 (SP) 新栈顶(SP)
20H
10H
(AL) (AH)
进栈方向
执行前
高地址
高地址
执行后
(AX)=1020H
PUSH AX指令执行示意图
26
注意 进栈方向是高地址向低地址发展。
27
② 出栈指令
(BX) (CX)
设(BX)=4000H,(SI)=2600H (DS)=6000H (66600H)=66H,(66601H)=77H 执行后,(SI)=7766H, (66600H)=00H,(66601H)=26H