微机课后习题答案.pdf

上传人:白大夫 文档编号:5564842 上传时间:2020-06-08 格式:PDF 页数:12 大小:74.08KB
返回 下载 相关 举报
微机课后习题答案.pdf_第1页
第1页 / 共12页
微机课后习题答案.pdf_第2页
第2页 / 共12页
微机课后习题答案.pdf_第3页
第3页 / 共12页
微机课后习题答案.pdf_第4页
第4页 / 共12页
微机课后习题答案.pdf_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《微机课后习题答案.pdf》由会员分享,可在线阅读,更多相关《微机课后习题答案.pdf(12页珍藏版)》请在三一文库上搜索。

1、精品文档 . 第 1 章作 业 答案 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 把 CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形 成了微型计算机系统。 1.2 CPU 在内部结构上由哪几部分组成?CPU 应该具备哪些主要功能? CPU 主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指 令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算 术和逻辑运算以及控制计算机按照程

2、序的规定自动运行。 1.3 微型计算机采用总线结构有什么优点? 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准 化,易于兼容和工业化生产。 1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合 用一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU 为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址 (指定要读或写数据的单元),过一段时间再读或写数据。 第 2 章作业答案 2.1 I

3、A-32 结构微处理器直至Pentillm4, 有哪几种 ? 80386、30486、Pentium、Pentium Pro、PeruiumII、 PentiumIII 、Pentium4。 2.6 IA-32 结构微处理器有哪几种操作模式? IA 一 32 结构支持3 种操作模式 :保护模式、实地址模式和系统管理模式。操 作模式确定哪些指令和结构特性是可以访问的。 2.8 IA-3 2 结构微处理器的地址空间 如何形成? 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地 址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地 址转为物理地址。 2.15

4、8086 微处理器的总线接口部件由哪几部分组成? 8086 微处理器中的总线接口单元(BIU) 负责 CPU 与存储器之间的信息传 送。具体地说 ,BIU 既负责从内存的指定部分取出指令,送至指令队列中排队 (8086 的指令队列有6 个字节 ,而 8088 的指令队列只有4 个字节 );也负责传送执 行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16 段寄存器 CS=120OH, 指令指针寄存器IP=FFOOH, 此时 ,指令的物理地址为 多少 ? 指令的物理地址=12000H+FFOOH=21FOOH 第 3 章 作 业答案 3.1 分别指出下列指令中的源操作数和目的

5、操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATADI (3)ADD AX, BXSI (4)AND AX, CX (5)MOVBP, AX 精品文档 . (6)PUSHF (l)源操作数为立即寻址,目的操作数为寄存器寻址。 (2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。 (3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。 (4)源操作数和目的操作数都为寄存器寻址。 (5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。 (6)为堆栈操作。 3.2 试述指令MOV AX,2000H 和 MOV AX,DSz2000H的区别。 解:前一条指

6、令是立即寻址,即把立即数2000H 传送至寄存器AX 。后一条指令 是直接寻址 ,是把数据 (DS)段中的地址为200OH 单元的内容传送至寄存器AX 。 3.3 写出以下指令中内存操作数的所在地址。 (1)MOV AL, BX+10 (2)MOV BP+10, AX (3)INC BYTEPTRSI十 5 (4)MOV DL, ES:BX+SI (5)MOV BX,BP+DI+2 (1)数据段 BX+10 单元。 (2)堆栈段 BP+10 单元。 (3)数据段 SI+5 字节单元。 (4)附加段 (ES 段 )BX+SI 单元。 (5)堆栈段 BP+DI+2 单元。 3.4 判 断下列指令书

7、写是否正确。 (1)MOV AL, BX (2)MOV AL, CL (3)INC BX (4)MOV 5, AL (5)MOV BX,SI (6)M0V BL, OF5H (7)MOV DX, 2000H (8)POP CS (9)PUSH CS (l)不正确 ,AL 与 BX 数据宽度不同。 (2)正确。 (3)不正确 ,因为不明确是增量字节还是字。 (4)不正确 ,立即数不能作为目的操作数。 (5)不正确 ,因为不明确要传送的是字节还是字。 (6)正确。 (7)正确。 (8)不正确 ,CS 不能作为 :pop 指令的操作数。 (9)不正确 ,CS 不能作为PUSH 指令的操作数。 3.5

8、 设堆 钱指针 SP 的初值为1000H,AX=2000H,BX=3000H,试问: (1)执行指令PUSH AX 后 SP的值是多少 ? (2)再执行 PUSHBX 及 POPAX 后 ,SP、AX 和 BX 的值各是多少 ? (1)SP=OFFEH 。 精品文档 . (2)SP=OFFEH ;AX=3000H,BX=3000H。 3.6 要想完成把 3000H 送2000H 中,用指令: MOM200OH,300OH 是否正确 ?如果不正确 ,应该用什么方法实现? 解:不正确。正确的方法是: MOV AL, 300OH MOV 2000H ,AL 3.7 假如想从200 中减去 AL 中的

9、内容 ,用 SUB 200,AL是否正确 ?如果不正确 ,应该 用什么方法 ? 解:不正确。正确的方法是: MOV BL, 200 SUB BL ,AL 3.8 试用两种方法写出从8OH 端口读入信息的指令。再用两种方法写出从4OH 口输 出 10OH 的指令 。 (1)IN AL, 80H (2)MOV DX , 8OH IN AL, DX (3)MOV ,AL,lOOH OUT40H,AL 4)MOV AL,10OH MOV DX ,4OH OUT DX,AL 3.9 假如 :AL=20H,BL=1OH,当执行 CMPAL,BL后 ,问: (1)AL 、 BL 中的内容是两个无符号数,比较

10、结果如何 ?影响哪儿个标志位? (2)AL 、 BL 中的内容是两个有符号数,结果又如何 ,影响哪几个标志位? (l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0, P=0, C=0。 (2)因为两个都是符号正数,其结果与 (l)相同。 3.10 若要使 AL 10,有哪几种方法,试编写出各自的程序段? (1) 使用乘法指令: MOVBL,10 MULBI, (2)使用移位指令: SHLAL,1 MOVBL ,AL SHLAL,2 ADDAL,BL (3)使用加法指令: ADDAL ,AL MOVBL,AL ADDAL,AL ADDAL,AL ADDAL,BL 3.118086

11、汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快? 精品文档 . 解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻 址方式。其中,寄存器操作数寻址方式的指令执行速度最快。 3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么 ,段地址如何确定?如 果要用某个段寄存器指出段地址,指令中应该如何表示? 默认的数据访问,操作数在DS 段;堆栈操作在SS段;串操作源操作数(SI)在 DS 段 , 目的操作数 (DI) 在 ES 段;用 BP 作为指针在SS段。如果要显式地指定段地址,则在 操作数中规定段寄存器。例如: MOVAX ,ES: (BX+10H)

12、3.13 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定 段地址 ? 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是 隐含约定的 ,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄 存器 CS,如操作类型为堆栈操作,则指定堆找段寄存器SS,如表 3-1 中所示。 当需要超越约定时,通常用段替代前缀加冒号“:“ 来表示段超越 ,它允许程序设 计者偏离任何约定的段。 例如 : MOV ES: BX ,AX 这时数据将从寄存器EAX 传送至附加段中由EBX 寻址的存储单元,而不是传送 到数据段中。 3.14 采用寄存器间接寻址方式时,BX 、BP、S

13、I、DI 分别针对什么情况来使用?这 4 个 寄存器组合间接寻址时,地址是怎样计算的?请举例说明。 解:在寄存器间接寻址方式下,BX 和 BP 作为间址寄存器使用,而 SI、DI 作为 变址寄存器使用。除BP 间址默认的段为堆栈段,其他的都默认为数据段。它们 都可以单独使用,或加上偏移量或组合使用。如: BX+n LBP+n SI+n DI+n BX+SI+n BX+DI+n BP+SI+n BP+DI+n 3.15 设 DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行 的具体操作 : MOVBYTEPTRBP,200 MOVWORDPTRBX,2

14、000 解:前一条指令是把立即数(应是字节 )200,传送至堆栈段 (BP 的默认段偏移 量由 BP 规定的字节单元,地址为: 52000H+620OH=58200H 第二条指令是把立即数.2000,传送至数据段(BX 的默认段 )偏移量由BX 规定的 字单元 ,地址为 :21000H+1400H=22400H 。 3.16 使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数 时应该分别要注意什么问题? 解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈 固定在堆栈段且只能由SP指向。且堆栈操作要修改堆核指针。MOV 指令不能实 现内存单元间的数据传送。XC

15、HG 指令是交换 ,有一个操作数必须是寄存器。 精品文档 . 3.17 下面 这些指令中哪些是正确的?哪些是错误的?若是错误的 ,请说明原因。 (1)XCHG CS, AX (2)MOVBX, 1000 (3)XCHGBX, IP (4)PUSHCS (5)POP CS (6)IN BX, DX (7)MOVBYTEBX,100O (8)MOVCS, 1000 (l)错误 ,CS 不能交换。 (2)错误 ,MOV 指令不能在内存间传送。 (3)错误 ,IP 不能交换。 (4)错误 ,CS 可以作为PUSH 指令的操作数。 (5)错误 ,CS 可以作为POP 指令的操作数。 (6)错误 ,IN

16、指令的目的操作数是累加器。 (7)错误 ,目的操作数是字节单元。 (8错误 ,CS 不能作为MOV 指令的目的操作数。 3.18 以下是格雷码的编码表, O 0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 8 1100 请用换码指令和其他指令设计一个程序段,以实现由格雷码向ASCII 码的转换。 MOVBX,TABLE MOVSI , ASCII_TAB MOVAL ,0 MOVCX,10 TRAN:XLATTABLE MOVDL,AL ADDDL ,30H MOVSI,DL INCAL LOOPTRAN 3.19 使用乘法指令时,特

17、别要注意先判断是用有符号数乘法指令还是用无符号数乘 法指令 ,这是为什么 ? 解:因为有符号数和无符号数,其数的乘法是一样的。但结果的符号取决于两 个操作数的符号。 3.20 字节扩展指令和字扩展指令一般用在什么场合?举例说明。 解:主要用于字节相除和字相除之前,把被除数扩展为两倍宽度的操作数。 精品文档 . 3.21 什么叫 BCD 码 ?什么叫组合的BCD 码?什么叫非组合的BCD 码?8086 汇编语言在对 BCD 码进行加、减、乘、除运算时,采用什么方法? 解: BCD 码为十进制编码的二进制数。组合的BCD 数是把两位BCD 加在一个字节 中,高位的在高4 位。非组合的BCD 码是把

18、一位BCD 数放在一个字节的低4 位,高 4 位 为 0。8086 在 BCD 加、减和乘法运算以后用BCD 调整指令把结果调整为正确的BCD 数。在 BCD 除法之前先用BCD 调整指令再做除法. 3.22 用普通运算指令执行BCD 码运算时 ,为什么要进行十进制调整?具体地讲 ,在 进行 BCD 码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令? 因为 8086 指令把操作数作为二进制数进行二进制运算,要得到正确的BCD 结果 ,需要进行调 整。在加、减、乘法指令之后加上BCD 调整指令 ,而在除法指令之前先用BCD 调整指令再 用除法指令。 第 4章作业答案 4.1 在下

19、列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL, 1OH MOV CX, 100OH MOV BX, 2000H MOV CX ,AL XCHGCX , BX MOV DH, BX MOV DL, 01H XCHGCX, BX MOV BX,DL HLT 解:寄存器及存储单元的内容如下: AL=1OH BL=OOH BH=2OH CL=OOH CH=1OH DH=1OH (10O0H)=lOH (200OH)=0lH 2.要求同题 4.1,程序如下 : MOV AL, 50H MOV BP, 100OH MOV BX, 200OH MOVBP,AL MOV DH, 20H

20、 MOVBX,DH MOV DL, OlH MOV DL, BX MOV CX, 300OH HLT 解:寄存器及存储单元的内容如下: 精品文档 . AL=5OH BL=OOH BH=20H CL=OOH CH=30H DL=20H DH=2OH BP=100OH (10OOH)=5OH (20OOH)=20H 4.3 自 1000H 单元开始有一个100 个数的数据块,若要把它传送到自200OH 开始的存 储区中去 ,可以采用以下3 种方法实现 ,试分别编制程序以实现数据块的传送。 (l)不用数据块传送指令 (2)用单个传送的数据块传送指令 (3)用数据块成组传送指令。 (1) LEA SI

21、, 1OOOH LEA DI, 200OH MOV CX, 100 L1: MOV AX, SI MOVDI,AX LOOPLl HLT (2) LEASI,100OH LEADI,2000H MOVCX,100 CLD L1: MOVSB LOOP L1 HLT (3) LEASI, 100OH LEADI, 200OH MOVCX, 100 CLD REP MOVSB HLT 4.4 利用变址寄存器,编写一个程序,把自 1000H 单元开始的100 个数传送到自1070H 开始的存储区中去。 LEASI,100OH LEADI,1070H MOVCX,100 CLD REP MOVSB H

22、LT 4.5 要求同题4.4,源地址为2050H,目的地址为2000H,数据块长度为50. 精品文档 . LEASI,205OH LEADI,200OH MOVCX,50 CLD REPMOVSB HLT 4.6 编写一个程序,把自 100OH 单元开始的100 个数传送 至 105OH 开始的存储区中 (注意 :数据区有重叠)。 LEASI, 100OH LEADI,1050H ADDSI, 63H ADDDI, 63H MOVCX, 100 STD REPMOVSB HLT 4.7 在自 0500H 单元开始 ,存有 100 个数。要求把它传送到1000H 开始的存储区中, 但在传送过程中

23、要检查数的值,遇到第一个零就停止传送。 LEA SI, 050OH LEA DI, 10OOH MOV CX, 100 N1: MOV AL, SI CMP AL, 0 JZ N2 MOVDI,AL INC SI INC DI LOOPN1 N2: HLT 4.14 若在 0500H 单元中有一个数 (1)利用加法指令把它乘2,且送回原存储单元(假定 X2 后仍为一个字节); (2)X 4; (3)X 10(假定 Xl0255). (1) LEA BX, 050OH MOV AL, BX ADD AL, AL MOVBX,AL (2) LEA BX, 0500H MOV AL, BX ADD

24、AL, AL ADD AL, AL MOVBX,AL (3)LEABX, 050OH MOV AL, BX 精品文档 . ADDAL, AL MOVDL, AL ADDAL, AL ADD AL,AL ADDAL, DL MOVBX,AL 第 5 章作业答案 5.1 总线周期 的含义是什么?8086/8088CPU 的基本总线周期由几个时钟组成?如果 一个 CPU 的时钟频率为8MHz, 那么 ,它的一个时钟周期是多少?一个基本总线周期是多 少?如果主频为5MHz 呢? 解: CPLI 访问总线(从内存储器或I/0 端口读 /写字节或字)所需的时间称为总线周期。 8086/8088CPU 的基

25、本总线周期由4 个时钟组成。若CPU 的时钟频率为8(5)MHz, 时钟周期 为 1/8MHz=125(1/5MHz=2O)ns,基本总线周期为4125(200)ns=500(800)ns 5.2 在 总线周期的TI 、T2、T3、T4 状态 ,CPU 分别执行什么动作?什么情况下需要插入 等待状态Tw?Tw 在哪儿插入 ?怎样插入 ? 解: 下面以存储器读为例进行说明。 在 Tl 周期 :输出地址信号、地址锁存允许信号、内存或I/O 端口访问控制信号; 在 T2 周期 :CPIJ 开始执行数据传送操作,此时 ,8086CPU 内部的多路开关进行切换,将 地址 /数据线 AD15AD0上的地址

26、撤销,切换为数据总线,为读写数据作准备。8288 总线 控制器发出数据总线允许信号和数据发送/接收控制信号DT/R 允许数据收发器工作,使数据 总线与 8086CPU 的数据线接通,并控制数据传送的方向。同样 ,把地址 /状态线 A19/S6A16/S3 切换成与总线周期有关的状态信息,指示若干与周期有关的情况。 在 T3 周期 :开始的时钟下降沿上,8086CPU 采样 READY 线。如果 READY信号有效 (高 电平 ),则在 T3 状态结束后进人TA 状态。在 T4 状态开始的时钟下降沿,把数据总线上的数据 读入 CPU 或写到地址选中的单元。在 T4 状态 :结束总线周期。 如果访

27、问的是慢速存储器或 是外设接口 ,则应该在 Tl 状态输出的地址,经过译码选中某个单元或设备后,立即驱动 READY 信号到低电平。8086CPU 在 T3 状态采样到READY 信号无效 ,就会插入等待周期Tw,在 Tw 状态 CPU 继续采样READY 信号 ;直至其变为有效后再进人T4 状态 ,完成数据传送,结束总线 周期。 在 T4 状态 ,8086CPU 完成数据传送,状态信号S2 S0 。变为无操作的过渡状态。在此 期间 ,8086CPU 结束总线周期,恢复各信号线的初态 ,准备执行下一个总线周期。 第 7 章作 业 答 案 7.1 外部设 备为什么要通过接口电路和主机系统相连?

28、解:因为外部设备种类繁多,输入信息可能是数字量、模拟量或开关量,而且输入速度、 电 平、功率与CPU 差距很大。所以,通常要通过接口电路与主机系统相连。 7.4 CPU 和输入输出设备之间传送的信息有哪几类? 解: CPU 和输入输出设备之间传送的信息主要有3 类。 (l) 数据在微型计算机中,数据通常为8 位、 16 位或 32 位。 (2)状态信息在输入时 ,有输入设备的信息是否准备好;在输出时有输出设备是否有空,若输 出设备正在输出信息,则以忙指示等。 (3)控制信息例如 ,控制输入输出设备启动或停止等。 7.9 设一个接口的输入端口地址为0100H,状态端口地址为0104H, 状态端口

29、中第5 位 为 1 表示输入缓冲区中有一个字节准备好,可以输入。设计具体程序以实现查询式 精品文档 . 输入。 POLl: IN AL, 0104H ANDAL ,20H JZ POLl IN AL, 0100H 第 8 章作业 答 案 8.1 在中断响应过程中,8086CPU 向 8259A 发出的两个RT 互信号分别起什么作用? 解: CPU 发出的第一个INTA 脉冲告诉外部电路,其提出的中断请求已被响应, 应准备将类 型号发给CPU,8259A 接到了这个INTA 脉冲时 ,把中断的最高优先级请求置入中断状态寄存 器(ISR) 中,同时把IRR( 中断请求寄存器)中的相应位复位。CPU

30、 发出的第二个INTA 脉冲告 诉外部电路将中断的类型号放在数据总线上。 8.28086CPU 最多可以有多少个中断类型?按照产生中断的方法分为哪两大类? 解: 8086CPU 最多可以有256 个中断类型。按照产生中断的方法,可以分为内 部中断 (软件中断 )和外部 (硬件中断 )中断两大类。 8.9 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器? 解:因为在用户程序运行时,会在寄存器中有中间结果,当在中断服务程序中要 使用这些寄存器前要把这些寄存器的内容推至堆栈保存(称为保护现场 )。在从 中断服务程序返回至用户程序时把这些内容从堆找恢复至寄存器中(称为恢复现场)。 8.12

31、若在一个系统中有 5 个中断源 ,其优先权排列为:1、2、3、4、5,它们的中断服 务程序的入口地址分别为:3000H、 302OH 、3050H 、3080H、30AOH 。编写一个程序, 当有中断请求CPU 响应时 ,能用查询方式转至申请中断的优先权最高的源的中断服 务程序。 解:若 5个中断源的中断请求放在一中断状态寄存器中,按优先权分别放在状态的7 位(优先权最高 )至位 3 中。查询方法的程序段为: IN AL , STATUS CMP AL , 80H JNE N1 JMP 3000H N1:IN AL ,STATUS CMP AL ,40H JNE N2 JMP 3020H N2

32、:IN AL ,STATUS CMP AL ,20H JNE N3 JMP 3050H N3:IN AL ,STATUS CMP AL ,10H JNE N4 JMP 3080H N4:IN AL ,STATUS CMP AL ,08H JNE N5 精品文档 . JMP 30A0H N5:RET 第 9 章 作 业 答 案 9.3 在某一应用系统中,计数器/定时器 8253 地址为 340H343H ,定时用作分频器(N 为分频系数 ),定时器2 用作外部事件计数器,如何编制初始化程序? 定时器 0 用作分频器,工作方式2,其初始化程序为: MOV AL , 34H OUT 343H , A

33、L MOV AL ,N1 OUT 342H , AL MOV AL ,N2 OUT 342H , AL 定时器 2 用作外部事件计数器,工作在方式0,其初始程序: MOV AL , 0B0H OUT 343H,AL MOV AL , N1 OUT 342H,AL MOV AL , N2 OUT 342H,AL 9.4 若已有一频率发生器,其频率为1MHZ ,若要示求通过计数器/定时器 8253,着重 产生每秒一次的信号,8253 应如何连接?编写出初始化程序。 1MHZ 的信号要变为每秒一次,则需经过106 分频。一个通道的计数为16 位最 大为 65536。故需要需两个通道级连,则每个通道计

34、数为1000。用通道0 和通道 1 级连, 都工作在方式2,初始化程序为: MOV AL , 34H OUT 343H , AL MOV AL , 0E8H OUT 342H , AL MOV AL ,03 OUT 342H , AL MOV AL ,74H OUT 343H , AL MOV AL , 0E8H OUT 342H , AL MOV AL ,03 OUT 342H , AL 9.9 编程将计数器/定时器 8253 计数器 0 设置为模式1,计数初值3000H;计数器1 设置 为模式 2 初值为 2010H;计数器2 设置为模式4 初值为 4030H; 解:若端口地址为:0F8H

35、0FBH ,初始化程序为: MOV AL , 32H OUT 0FBH, AL MOV AL , 00H OUT 0F8H, AL MOV AL , 30H 精品文档 . OUT 0F8H, AL MOV AL , 74H OUT 0FBH , AL MOV AL ,10H OUT 0F9H, AL MOV AL , 20H OUT 0F9H, AL MOV AL ,0B8H OUT 0FBH , AL MOV AL ,30H OUT 0FAH , AL MOV AL ,40H OUT 0FAH , AL 第 10 章 作 业 答 案 10.4 可编程并行接口芯片8255A 的 3 个端口在使

36、用时有什么差别? 解:通常端口A 或 B 作为输入输出的数据端口(端口 A 还可以作为双向数据端口), 而端口 C 作为控制或状态信息的端口,它在 “方式 “字的控制下,可以分成两个4 位的端 口。每个端口包含一个4 位锁存器。它们分别与端口A 和 B 配合使用 ,可用以作为控制 信号输出 ,或作为状态信号输入。 10.7 8255A 有哪几种基本工作方式?对这些工作方式有什么规定? 解: 8255A 有 3 种基本的工作方式: 方式 0- 基本输入输出: 方式 1- 选通输入输出; 方式 2- 双向传送。 10.8 设置 8255A 工作方式 ,8255A 的控制口地址为OOC6H 。要求端

37、口A 工作在方式1,输 入;端口 B 工作在方式0,输出 ;端口 C 的高 4 位配合端口A 工作 ;低 4 位为输入。 解:按要求的方式控制字为:10111001B。编程语句为: MOVAL , 0B9H OUTOOC6H, AL; 10.9 设可编程并行接口芯片8255A 的 4 个端口地址为OOCOH 、00C2H 、00C4H 、OOC6H, 要求用置0/置 1 方式对 PC6 置 1,对 PC4 置 0。 解:对端口C 的 PC6 置 1 的控制字为 : 00001101B, 对 PC4 置 O 的控制字为 : 0000100OB。 程序段为 : MOV AL, DH OUT OOC6H, AL MOV AL, 08H. OUT00C6H, AL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1