首页 > 编程知识 正文

汇编语言与接口技术熊江课后答案,汇编语言与接口技术第四版王让定

时间:2023-05-03 19:06:57 阅读:150378 作者:2631

第四章80x86汇编语言编程1 .伪指令语句与硬指令语句的本质区别是什么? 伪指令有什么主要作用? a (不同)疑似命令句是可执行的语句,硬命令句是CPU可执行的语句。 伪指令语句的主要作用是提供汇编程序的说明,在汇编过程中只告诉汇编程序如何汇编。 假设MYWORD是字变量,MYBYTE1和MYBYTE2是双字节变量,以下语句说明了错误及其原因: 1.MOV BYTE PTR[BX],1000答:数据类型不一致。 目标地址单元以字节为单位,1000大于255。 不能保管。 2.MOV BX,OFFSET[SI]答: OFFSET后面只能加上标识符。 3.CMP MYBYTE1,MYBYTE2答: CMP的两个操作数不能同时存储在内存中。 4.MOV AL,MYBYTE1 MYBYTE2答:运算符只能对常量操作,不能对变量操作。 5.SUB AL,MYWORD答:数据类型不一致。 AL是8位变量,MYWORD是16位变量。 6.JNZ MYWORD答: MYWORD是一个变量,存储在该单元格中的是操作数,不能用作跳转的入口。 19 .写将段定义格式简化的源程序1 .定义常数NUM,其值为5; 数据段中定义了字数组变量DATALIST,前五个字单元以-1、0、2、5、4的顺序存储,最后一个单元的初始值不确定。 2 .代码段的程序以DATALIST的最后一个字为单位存储DATALIST开头的NUM个数的累计加法。 model small.stack.datanum equ5datalist dw-1,0,2,5,4, code.startup mov bx、offset datalist mov CX、num xor ax、axagain: add ax、[bx]IncbxIncbxloopagain27.ax和SI是有符号的数,DX和sssi

)2) AXSI时,转移到GREATER并执行。

)3) CX=0时,转移到ZERO执行

)4)如果在AX-SI上发生溢出,则转移到OVERFLOW并执行。

(5)在SIAX的情况下,转移至LESS_EQ并执行。

(6) DIDX时,转移到BELOW_EQ并执行。

答:

)1) CMP DX,DI JA ABOVE

)2) CMP AX,SI JG GREATER

)3) CMP CX,0 JE ZERO

)4) CMP AX,SI

JO OVERFLOW

)5) CMP AX,SI

JGE LESS_EQ

)6) CMP DX,DI

JAE BELOW_EQ

33 .已知用于显示led数码管的代码表是LEDTABLE DB 0C0H、0FGH、0A4H、0B0H、99H、92H、82H、0F8H

DB 80H、90H、88H、83H、0C6H、0C1 H、86H、8EH

它依次表示09AF这16个数字的显示代码。 将LEDNUM的数字(09,AF )转换为对应的LED显示代码的程序安装

. model small.stack 256.dataledtabledb 0c 0h、0a4h、0b0h、99h、92h、82h.0f8h DB 80h、90h、88h、83h、0c6h、0clh、86h 针对al对应的LED显示代码exit 0第五章存储器技术Cache的地址映射方式进行简单说明。 Cache的替换算法主要是什么? 为什么要替换? 高速缓冲存储器的地址映射主要有以下三种方法。 1、直接映像2、全关联映像3、组关联映像1 .最近最小使用策略。 2 .最不频繁地使用策略。 3 .随机置换策略。 缓存交换算法是影响代理缓存系统性能的重要因素,优秀的缓存交换算法会产生较高的命中率。 假设有一个具有9.20位地址和16位字长的存储器。 1这个内存可以存储多少字节的信息? 2^20 x 16 b=16Mb

2如果此存储由32k x8b sarm芯片组成,需要多少? 2^24b 2^15*8=2^6=64片

3选择芯片需要多少位地址? 64=2^6,所以芯片选择需要6位地址。

第六章1 .接口的概念和功能接口是与外围设备之间的连接部件,完成与外围设备之间的信息传输。 也包括辅助动作的外围电路。

界面功能

1 .执行命令的职能

2 .恢复外围设备状态的功能

3 .数据缓冲功能

4 .信号转换功能

5 .机器选择功能:

6 .数据宽度和数据格式之间的切换

换功能

2.简述独立编址或统一编址的接口的区别和各自的优缺点。

1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中
(1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计
(2)缺点:需要有专用的I/O指令,程序设计的灵活性较差

2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
(1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可怕孤独的帽子小,从而使外设的数量几乎不受限制
(2)缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加

第七章 3.若8253芯片的接口地址为0D0D0H~0D0D3H,时钟信号为2MHz。现利用计数器0、1、2分别产生周期为,10us的对称方波及每1ms和1s产生一个负脉冲,试画出其与系统的电路连接图,并编写包括初始化在内的程序。

解:根据题目要求可知,计数器0 (CNTO)工作于方式3,计数器1 (CNT1) 和计数器2 (CNT2)工作于方式2。时钟频率2MHz,即周期为0.5us,从而得出各计数器的计数初值分别为:
CNTO:
10us/0.5us= 20
CNT1:
1 ms/0.5us = 2000
CNT2:
1s/0.5us= 2 X 1000000
显然,计数器2的计数初值已超出了16位数的表达范围,需经过一次中间 分频,可将OUT1端的输出脉冲作为计数器2的时钟频率。这样,CNT2的计数初值就等于1s/1ms= 1000。线路连接如图所示。

8253的初始化程序如下:

MOV DX, 0D0D3HMOV AL, 16H ;计数器0,低8位计数,方式3OUT DX, ALMOV AL, 74H ;计数器1,双字节计数,方式2OUT DX, ALMOV AL, 0B4H ;计数器2,双字节计数,方式2OUT DX, ALMOV DX, 0D0D0HMOV AL, 20 ;送计数器0的计数初值OUT DX, ALMOV DX, 0D0D1HMOV AX, 2000 ;送计数器1的计数初值OUT DX, ALMOV AL, AHOUT DX, ALMOV DX,0D0D2HMOV AX, 1000 ;送计数器2的计数初值OUT DX, ALMOV AL, AHOUT DX, AL 6.某系统使用8254的通道0作为计数器,计满1000时,向CPU发送中断请求,试编写初始化程序(端口地址自设)。

解:
设端口地址为80H~83H

MOV AL, 001 10000BOUT 83H, ALMOV AX, 1000OUT 80H, ALMOV AL, AHOUT 80H, AL 9.什么是波特率?假设异步传输的一-帧信息由1位起始位、7位数据位、1位校验位和1位停止位构成,传送的波特率为9600bps,则每秒钟能传输的字符个数是多少?

解:波特率表示每秒钟传送二进制的位数。每秒钟能传输的字符个数为9600/10=960

16.假设8255A的端口地址为00C0H~00C6H,按下面要求编写初始化程序。

(1)对8255A设置工作方式,A端口工作在方式1,输入; B端口工作在方式0,输出;C端口的高4位配合A端口工作,C端口的低4位为方式0,输入。
(2)用置0/置1方式直接对PC6置1,对PC4置0

答:端口地址0000 0000 1100 0000 ~0000 0000 1100 0110。说明A口地址为00C0H, B口地址为00C2H,C口地址为00C4H,控制字地址为00C6H。(1)控制字为: 1011X001B, 即0B1H(X取0)MOV AL, 0B1HMOV DX, 00C6HOUT DX, AL(2)<1>直接对PC6置1时的控制字为: 0XXX1101B,即0DHMOV AL, 0DHMOV DX, 00C6HOUT DX, AL<2>直接对PC4置0时的控制字为: 0XXX1000B,即08HMOV AL, 08HMOV DX, 00C6HOUT DX, AL 第八章 7.假设8259A的端口地址为92H、93H,如何用它的命令字来禁止IR3和IR5引脚上的请求,又如何撤销这一禁止命令? 解:运用操作命令字0CW1来完成,该操作命令字是奇地址93HIN AL 93HOR AL,00101000OUT 93H,AL撤销:IN AL 93HAND AL,11010111OUT 93H,AL 12.DMA方式的特点是什么?DMA控制器在系统中起什么作用?

利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。

DMA是直接存取方式。是在存储器与输入输出设备间直接传送数据,提高传输效率,是一种完全由硬件完成输入输出操作的方式。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。