汇编语言(第四版)检测点 3.2 习题解答

检测点 3.2

(1)补全下面的程序,使其可以将 10000H~1000FH 中的8个字,逆序复制到 20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)

分析:先观察代码前半段,将数据段地址指向1000H处

          后半段使用压栈指令,将 10000H~1000FH处的数据依次按字压入某一处

          因为压栈过程中,栈地址是向下增长的

         那么正好可以把栈顶地址设置为 2000FH ,即栈段地址 SS = 2000H,偏移量 SP = 0010H

通过压栈的方法逆序复制到内存 20000H~2000FH 的位置了,答案如下:

mov ax,1000H

mov ds,ax

mov ax,2000H 

mov ss,ax        

mov sp,0010H 

push [0]

push [2]

push [4]

push [6]

push [8]

push [A]

push [C]

push [E]

(2)补全下面的程序,使其可以将 10000H~1000FH 中的8个字,逆序复制到 20000H~2000FH中

分析:这一问正好与上一问反过来,20000H部分为数据段,将栈段部分的数据依次出栈至 2000FH~20000H位置,根据出栈指令 pop 地址由低地址向高地址方向增长的特点

我们不妨把栈顶地址设置在 10000H 位置,即栈段地址 SS = 1000H,偏移量 SP = 0000H,通过出栈的方法逆序复制到内存 20000H~2000FH 的位置了,答案如下:

mov ax,2000H

mov ds,ax

mov ax,1000H  

mov ss,ax         

mov sp,0000H  

pop [E]

pop [C]

pop [A]

pop [8]

pop [6]

pop [4]

pop [2]

pop [0]

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位。 (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 。 (3)1KB的存储器可以存储 8192(2^13) 个bit, 1024个Byte。 (4)1GB是 1073741824 (2^30) 个Byte、1MB是 1048576(2^20) 个Byte、1KB是 1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64 (KB)、 1 (MB)、 16 (MB)、 4 (GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1 (B)、 1 (B)、 2 (B)、 2 (B)、 4 (B)。 (7)从内存中读取1024字节的数据,8086至少要读 512 次,80386至少要读 256 次。 (8)在存储器中,数据和程序以 二进制 形式存放。 解题过程: (1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。 (5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值