- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言答案(王爽)
第一章
检测点1.1
1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。
1KB的存储器有1024个存储单元,存储单元的编号从0到1023 。
1KB的存储器可以存储8192(2^13)个bit, 1024个Byte。
1GB是 1073741824 (230) 个 Byte、1MB是 1048576(2^20) 个 Byte、 1KB 是 1024 (210)个 Byte。
8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、 32根,则它们的寻址能力分别为:64 (KB)、1 (MB)、16 (MB)、4 (GB)。
8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16 根、16根、32根。则它们一次可以传送的数据为:1 (B)、1 (B)、2 (B)、 2 (B)、 4 (B)。
从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256 次。
在存储器中,数据和程序以二进制 形式存放。
解题过程:
1KB=1024B,8KB=1024B*8=2”N,N=13。
存储器的容量是以字节为最小单位来计算的,1KB=1024B。
8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)o
1GB=1073741824B (即 230) 1MB=1048576B (即 220) 1KB=1024B (即 210)。
一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样 的CPU最多可以寻找2的N次方个内存单元。(一个内存单元二1Byte)。
8根数据总线一次可以传送8位二进制数据(即一个字节)。
8086的数据总线宽度为16根(即一次传送的数据为2B) 1024B/2B=512, 同理 1024B/4B=256。
在存储器中指令和数据没有任何区别,都是二进制信息。
/t/t-
第一章
检测点2.1
(1)写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H
mov ah,31H AX=31A3H
mov al,23H AX=3123H
add
ax,ax
AX=6246H
mov
bx,826CH
BX=826CH
mov
cx,ax
CX=6246H
mov
ax,bx
AX=826CH
add
ax,bx
AX=04D8H
mov
al,bh
AX=0482H
mov
ah,bl
AX=6C82H
add
ah,ah
AX=D882H
add
al,6
AX=D888H
add
al,al
AX=D810H
mov
ax,cx
AX=6246H
检测点2.1
(2)
只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
mov
ax,2
AX=2
add
ax,ax
AX=4
add
ax,ax
AX=8
add
ax,ax
AX=16
检测点2.2
给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为0010H 到 1000FH 。
解题过程:
物理地址= SA*16+EA
EA的变化范围为0h~ffffh
物理地址范围为(SA*16+0h广(SA*16+ffffh)
现在SA=0001h,那么寻址范围为
(0001h*16+0h)~(0001h*16+ffffh)
=0010h~1000fh
检测点2.2
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址 寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H 。
当段地址给定为1001H以下和2000H以上,CPU无论怎么变化偏移地址都无法 寻到20000H单元。
解题过程:
物理地址= SA*16+EA
20000h = SA*16+EA
SA=(20000h-EA)/16=2000h-EA/16
EA 取最大值时,SA=2000h-ffffh/16=1001h,SA 为最小值
EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值
检测点2.3
下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是 多少?
mov ax,bx
sub ax,ax
jmp ax
答:一共修改四次
第一次:读取mov ax,bx之后
第二次:读取sub ax,ax之后
第三次:读取jmp ax之后
第四次:执行jmp ax修改IP
最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为 0000H
第三章
检测点3.1
(1) 在DEBUG中,用〃D 0:0 lf查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2
文档评论(0)