汇编语言(王爽)-第二版-课后题全-答案.doc

上传人:豆**** 文档编号:28424817 上传时间:2022-07-28 格式:DOC 页数:335 大小:297.50KB
返回 下载 相关 举报
汇编语言(王爽)-第二版-课后题全-答案.doc_第1页
第1页 / 共335页
汇编语言(王爽)-第二版-课后题全-答案.doc_第2页
第2页 / 共335页
点击查看更多>>
资源描述

《汇编语言(王爽)-第二版-课后题全-答案.doc》由会员分享,可在线阅读,更多相关《汇编语言(王爽)-第二版-课后题全-答案.doc(335页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date汇编语言(王爽)-第二版-课后题全-答案检测点1检测点1.1(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。(2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。(3)1KB的存储器可以存储8192(213)个bit,1024个Byte。(4)1GB是1073741824 (230)个Byte、1MB是1048576(220)个B

2、yte、1KB是1024(210)个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=10

3、24B*8=2N,N=13。(2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。(3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。(4)1GB=1073741824B(即230)1MB=1048576B(即220)1KB=1024B(即210)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。(6)8根数据总线一次可以传送8位二进制数据(即一个字节)。(7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512

4、,同理1024B/4B=256。(8)在存储器中指令和数据没有任何区别,都是二进制信息。检测点 2.1(1) 写出每条汇编指令执行后相关寄存器中的值。mov ax,62627AX=F4A3Hmov ah,31HAX=31A3Hmov al,23HAX=3123Hadd ax,axAX=6246Hmov bx,826CHBX=826CHmov cx,axCX=6246Hmov ax,bxAX=826CHadd ax,bxAX=04D8Hmov al,bhAX=0482Hmov ah,blAX=6C82Hadd ah,ahAX=D882Hadd al,6AX=D888Hadd al,alAX=D8

5、10Hmov ax,cxAX=6246HMicrosoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C:DOCUME1ADMINI1debug-a0C1C:0100 mov ax,f4a30C1C:0103 mov ah,310C1C:0105 mov al,230C1C:0107 add ax,ax0C1C:0109 mov bx,826c0C1C:010C mov cx,ax0C1C:010E mov ax,bx0C1C:0110 add ax,bx0C1C:0112 mov al,bh0C1C:0114 mov ah,bl0

6、C1C:0116 add ah,ah0C1C:0118 add al,60C1C:011A add al,al0C1C:011C mov ax,cx0C1C:011E-rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NV UP EI PL NZ NA PO NC0C1C:0100 B8A3F4MOVAX,F4A3-tAX=F4A3BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=

7、0C1CCS=0C1CIP=0103NV UP EI PL NZ NA PO NC0C1C:0103 B431MOVAH,31-tAX=31A3BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0105NV UP EI PL NZ NA PO NC0C1C:0105 B023MOVAL,23-tAX=3123BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0107NV UP

8、EI PL NZ NA PO NC0C1C:0107 01C0ADDAX,AX-tAX=6246BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NV UP EI PL NZ NA PO NC0C1C:0109 BB6C82MOVBX,826C-tAX=6246BX=826CCX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010CNV UP EI PL NZ NA PO NC0C1

9、C:010C 89C1MOVCX,AX-tAX=6246BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010ENV UP EI PL NZ NA PO NC0C1C:010E 89D8MOVAX,BX-tAX=826CBX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0110NV UP EI PL NZ NA PO NC0C1C:0110 01D8ADDAX,BX-tAX=

10、04D8BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0112OV UP EI PL NZ AC PE CY0C1C:0112 88F8MOVAL,BH-tAX=0482BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0114OV UP EI PL NZ AC PE CY0C1C:0114 88DCMOVAH,BL-tAX=6C82BX=826CCX=6246DX=000

11、0SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0116OV UP EI PL NZ AC PE CY0C1C:0116 00E4ADDAH,AH-tAX=D882BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0118OV UP EI NG NZ AC PE NC0C1C:0118 0406ADDAL,06-tAX=D888BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI

12、=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011ANV UP EI NG NZ NA PE NC0C1C:011A 00C0ADDAL,AL-tAX=D810BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011COV UP EI PL NZ AC PO CY0C1C:011C 89C8MOVAX,CX-tAX=6246BX=826CCX=6246DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C

13、1CCS=0C1CIP=011EOV UP EI PL NZ AC PO CY0C1C:011E 0B0CORCX,SIDS:0000=20CD-q检测点2.1(2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。movax,2AX=2addax,axAX=4addax,axAX=8addax,axAX=16Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C:DOCUME1ADMINI1debug-a0C1C:0100 mov ax,20C1C:0103 add ax,ax0C1C:0105 add

14、 ax,ax0C1C:0107 add ax,ax0C1C:0109-rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NV UP EI PL NZ NA PO NC0C1C:0100 B80200MOVAX,0002-tAX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NV UP EI PL NZ NA PO NC0C1C:010

15、3 01C0ADDAX,AX-tAX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0105NV UP EI PL NZ NA PO NC0C1C:0105 01C0ADDAX,AX-tAX=0008BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0107NV UP EI PL NZ NA PO NC0C1C:0107 01C0ADDAX,AX-tAX=0010B

16、X=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NV UP EI PL NZ AC PO NC0C1C:0109 20881615ANDBX+SI+1516,CLDS:1516=00-q检测点2.2(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为0010H到1000FH。解题过程:物理地址SA*16+EAEA的变化范围为0hffffh物理地址范围为(SA*16+0h)(SA*16+ffffh)现在SA=0001h,那么寻址范围为(0001h*16+0h

17、)(0001h*16+ffffh)=0010h1000fh检测点2.2(2) 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。当段地址给定为1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。解题过程:物理地址SA*16+EA20000hSA*16+EASA=(20000h-EA)/16=2000h-EA/16EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值这里的f

18、fffH/16=fffh是通过WIN自带计算器算的按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了单就除法来说,应有商和余数,但此题要求的是地址最大和最小,所以余数忽略了如果根据位移的算法(段地址*1616进制左移一位),小数点后应该是不能省略的我们可以反过来再思考下,如果SA为1000h的话,小数点后省略SA=1000h,EA取最大ffffh,物理地址为1ffffh,将无法寻到20000H单元这道题不应看成是单纯的计算题检测点2.3下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?mov ax,bxsub ax,axjmp ax答:一共修改四次第一

19、次:读取mov ax,bx之后第二次:读取sub ax,ax之后第三次:读取jmp ax之后第四次:执行jmp ax修改IP最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H实验一 查看CPU和内存,用机器指令和汇编指令编程2实验任务(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器中内容的变化。机器码汇编指令寄存器b8 20 4emov ax,4E20Hax=4E20H05 16 14add ax,1416Hax=6236Hbb 00 20mov BX,2000Hbx=2000H01 d8add ax,bxax=

20、8236H89 c3mov bx,axbx=8236H01 d8add ax,bxax=046CHb8 1a 00mov ax,001AHax=001AHbb 26 00mov bx,0026Hbx=0026H00 d8add al,blax=0040H00 dcadd ah,blax=2640H00 c7add bh,albx=4026Hb4 00mov ah,0ax=0040H00 d8add al,blax=0066H04 9cadd al,9CHax=0002HMicrosoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C

21、:DOCUME1ADMINI1debug-a0C1C:0100 mov ax,4e200C1C:0103 add ax,14160C1C:0106 mov bx,20000C1C:0109 add ax,bx0C1C:010B mov bx,ax0C1C:010D add ax,bx0C1C:010F mov ax,001a0C1C:0112 mov bx,00260C1C:0115 add al,bl0C1C:0117 add ah,bl0C1C:0119 add bh,al0C1C:011B mov ah,00C1C:011D add al,bl0C1C:011F add al,9c0C1

22、C:0121-rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0100NV UP EI PL NZ NA PO NC0C1C:0100 B8204EMOVAX,4E20-tAX=4E20BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0103NV UP EI PL NZ NA PO NC0C1C:0103 051614ADDAX,1416-tAX=6236B

23、X=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0106NV UP EI PL NZ NA PE NC0C1C:0106 BB0020MOVBX,2000-tAX=6236BX=2000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0109NV UP EI PL NZ NA PE NC0C1C:0109 01D8ADDAX,BX-tAX=8236BX=2000CX=0000DX=0000

24、SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010BOV UP EI NG NZ NA PE NC0C1C:010B 89C3MOVBX,AX-tAX=8236BX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010DOV UP EI NG NZ NA PE NC0C1C:010D 01D8ADDAX,BX-tAX=046CBX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=

25、0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=010FOV UP EI PL NZ NA PE CY0C1C:010F B81A00MOVAX,001A-tAX=001ABX=8236CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0112OV UP EI PL NZ NA PE CY0C1C:0112 BB2600MOVBX,0026-tAX=001ABX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C

26、1CSS=0C1CCS=0C1CIP=0115OV UP EI PL NZ NA PE CY0C1C:0115 00D8ADDAL,BL-tAX=0040BX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0117NV UP EI PL NZ AC PO NC0C1C:0117 00DCADDAH,BL-tAX=2640BX=0026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0119N

27、V UP EI PL NZ NA PO NC0C1C:0119 00C7ADDBH,AL-tAX=2640BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011BNV UP EI PL NZ NA PO NC0C1C:011B B400MOVAH,00-tAX=0040BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011DNV UP EI PL NZ NA PO NC0C

28、1C:011D 00D8ADDAL,BL-tAX=0066BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=011FNV UP EI PL NZ NA PE NC0C1C:011F 049CADDAL,9C-tAX=0002BX=4026CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=0C1CIP=0121NV UP EI PL NZ AC PO CY0C1C:0121 D3990075RCRWORD

29、PTR BX+DI+7500,CLDS:B526=0000-q实验一 查看CPU和内存,用机器指令和汇编指令编程(2)将下面的3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。mov ax,1add ax,axjmp 2000:0003Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C:DOCUME1ADMINI1debug-a 2000:02000:0000 mov ax,12000:0003 add ax,ax2000:0005 jmp 2000:00032000:0007-r csCS 0

30、C1C:2000-r ipIP 0100:0000-rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0000NV UP EI PL NZ NA PO NC2000:0000 B80100MOVAX,0001-tAX=0001BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NV UP EI PL NZ NA PO NC2000:0003 01C0ADD

31、AX,AX-tAX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NV UP EI PL NZ NA PO NC2000:0005 EBFCJMP0003-tAX=0002BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NV UP EI PL NZ NA PO NC2000:0003 01C0ADDAX,AX-tAX=0002BX=0000CX=0

32、000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NV UP EI PL NZ NA PO NC2000:0003 01C0ADDAX,AX-tAX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NV UP EI PL NZ NA PO NC2000:0005 EBFCJMP0003-tAX=0004BX=0000CX=0000DX=0000SP=FFEEBP=0000S

33、I=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0003NV UP EI PL NZ NA PO NC2000:0003 01C0ADDAX,AX-tAX=0008BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C1CSS=0C1CCS=2000IP=0005NV UP EI PL NZ NA PO NC2000:0005 EBFCJMP0003-tAX=0008BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0C1CES=0C

34、1CSS=0C1CCS=2000IP=0003NV UP EI PL NZ NA PO NC2000:0003 01C0ADDAX,AX-q实验一 查看CPU和内存,用机器指令和汇编指令编程(3) 查看内存中的内容PC主板上的ROM中有个一出产日期,在内存FFF00H-FFFFFH的某几个单元中,请找到这个出产日期并试图改变它。Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C:DOCUME1ADMINI1debug-d ffff:0 fFFFF:0000EA 5B E0 00 F0 31 32 2F-32 35 2F

35、 30 37 00 FC 59.12/25/07.Y-q地址C0000FFFFF的内存单元为只读存储器,写入数据操作是无效的。因此出产日期无法改变。下面内容摘自于网上还有另一种情况,如果你发现你能修改ROM中的生产日期,那么原因如下:每个计算机的结构都不一样,教材考虑的是普通8086PC机上的效果,个别计算机的效果可能不同。也就是说 在你的计算机中 这个内存是可修改的所以,认为所有的计算机某些地址的内存不能修改是片面的。书上说rom是只读的你就不去验证了吗?如何验证呢?我觉得这个实验最大的好处不是让我们验证了这个知识点,而是提醒我们要有怀疑的精神,怀疑之后再去验证才能跟深刻的理解知识,提升自己

36、的能力,甚至还会发现有些书上描述的不准确甚至错误的地方。-引用这几本书综合研究的三个问题:都再用,我们就非得用吗?规定了,我们就只知道遵守吗?司空见惯,我们就不怀疑了吗?尽信书不如无书大概也有这个道理吧_检测点3.1(1)在DEBUG中,用 D 0:0 lf 查看内存,结果如下:0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 600000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值mov ax,

37、1mov ds,axmov ax,0000ax=2662Hmov bx,0001bx=E626Hmov ax,bxax=E626Hmov ax,0000ax=2662Hmov bx,0002bx=D6E6Hadd ax,bxax=FD48Hadd ax,0004ax=2C14H mov ax,0ax=0mov al,0002ax=00e6Hmov bx,0bx=0mov bl,000cbx=0026Hadd al,blax=000CH用DEBUG进行验证:Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.C:DOCUME

38、1000debug-e 0000:00000:0000 68.7010.80A7.f000.308B.ef01.6070.3000.e20000:000816.0000.80AF.8003.128B.6601.2070.2200.600000:00108B.6201.2670.e600.d6B9.cc06.2e14.3c02.3b0000:001840.ab07.ba14.0002.00FF.2603.0614.6602.88-d 0000:0 1f0000:000070 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60p.0.0.f 0000:001062 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88b&.;.&.f.-a0DB4:0100 mov ax,10DB4:0103 mov ds,ax

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁