版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《汇编语言》第二版习题答
案
目录
1.前言..........................................................................7
2.第1章基础知识..............................................................8
2.1检测点1.1.....................................................................................................................8
3.第2章寄存器................................................................9
3.1检测点2.1(1)................................................................................................................9
3.2检测点2.1(2)..............................................................................................................11
3.3检测点2.2(1).............................................................................................................12
3.4检测点2.2(2)..............................................................................................................13
3.5检测点2.3...................................................................................................................14
3.6实验一(1)....................................................................................................................14
3.7实验一(2)....................................................................................................................17
3.8实验一(3)....................................................................................................................18
4.第3章寄存器(内存访问)...................................................19
4.1检测点3.1(1)..............................................................................................................19
4.2检测点3.1(2).............................................................................................................21
4.3检测点3.2(1).............................................................................................................22
4.4检测点3.2(2).............................................................................................................23
4.5实验2(1).....................................................................................................................23
4.6实验2(2).....................................................................................................................26
5.第4章第一个程序...........................................................27
1
4X编语d第二案
5.1实验3(1).....................................................................................................................27
5.2实验3(2).....................................................................................................................30
5.3实验3(3).....................................................................................................................32
6.第5章[BX]和loop指令......................................................32
6.1实验4(1).....................................................................................................................32
6.2实验4(2).....................................................................................................................34
6.3实验4(3).....................................................................................................................35
7.第6章包含多个段的程序....................................................38
7.1检测点6.1(1)..............................................................................................................38
7.2检测点6.1(2).............................................................................................................39
7.3实验5(1).....................................................................................................................40
7.4实验5(2).....................................................................................................................42
7.5实验5(3).....................................................................................................................43
7.6实验5(4).....................................................................................................................45
7.7实验5(5).....................................................................................................................45
7.8实验5(6).....................................................................................................................48
8.第7章更灵活的定位内存地址的方法..........................................49
8.1实验6(1).....................................................................................................................49
8.2实验6(2).....................................................................................................................49
9.第8章数据处理的两个基本问题...............................................50
9.1实验7..........................................................................................................................50
10.第9章转移指令的原理......................................................54
2
10.1检测点9.1(1)..........................................................................................................54
10.2检测点9.1(2).........................................................................................................55
10.3检测点9.1(3).........................................................................................................57
10.4检测点9.2.................................................................................................................60
10.5检测点9.3.................................................................................................................61
10.6实验8.......................................................................................................................62
10.7实验9.......................................................................................................................63
11.第10章CALL和RET指令..................................................67
11.1检测10.1...................................................................................................................67
11.2检测点10.2..............................................................................................................68
11.3检测点10.3..............................................................................................................69
11.4检测点10.4..............................................................................................................70
11.5检测点10.5(1)........................................................................................................70
11.6检测点10.5(2)........................................................................................................72
11.7课程设计一.............................................................74
11.8实验10⑴.................................................................................................................79
11.9实验10⑵.................................................................................................................81
11.10实验10⑶..............................................................................................................84
11.11实验10(4)...............................................................................................................84
12.第11章标志寄存器.........................................................88
12.1检测点11.1...............................................................................................................88
12.2检测点11.2..............................................................................................................89
3
-------------------------------------------------------------------------------------------------------------------------------
12.3检测点11.3(1).........................................................................................................91
12.4检测点11.3(2).........................................................................................................92
12.5检测点11.4...............................................................................................................93
12.6实验11.....................................................................................................................95
13.第12章内中断.............................................................98
13.1检测点12.1(1).........................................................................................................98
13.2检测点12.1(2).........................................................................................................98
13.3实验12.....................................................................................................................99
14.第13章int指令...........................................................100
14.1检测点13.1(1)........................................................................................................100
14.2检测点13.1(2).......................................................................................................101
14.3检测点13.2(1).......................................................................................................103
14.4检测点13.2(2).......................................................................................................103
14.5实验13⑴...............................................................................................................103
14.6实验13⑵...............................................................................................................105
14.7实验13⑶...............................................................................................................106
15.第14章端口..............................................................108
15.1检测点14.1(1)........................................................................................................108
15.2检测点14.1(2).......................................................................................................108
15.3检测点14.2.............................................................................................................109
15.4实验14...................................................................................................................110
16.第15章外中断............................................................114
4
-------------------------------------------------------------------------------------------------------------------------------
16.1检测点15.1⑴.....................................................................................................114
16.2检测点15.1(2).....................................................................................................114
16.3实验15.................................................................................................................118
17.第16章直接定址表........................................................120
17.1检测点16.1.............................................................................................................120
17.2检测点16.2............................................................................................................122
17.3实验16...................................................................................................................123
18.第17章使用BIOS进行键盘输入和磁盘读写.................................131
18.117.3字符串的输入......................................................131
18.2检测点17.1............................................................................................................135
18.3实验17...................................................................................................................136
18.4课程设计2..............................................................................................................138
19.第18章综合研究..........................................................153
19.1研究试验1搭建一个精简的C语言开发环境..............................153
19.2研究实验2使用寄存器.................................................153
19.3研究试验3使用内存空间...............................................159
20.部分章节笔记..............................................................165
20.1第11章标志寄存器....................................................165
20.2第12章内中断.......................................................169
20.3第14章端口..........................................................171
20.4第15章外中断.......................................................173
20.5第16章直接定址表...................................................176
5
------------------------------------------------------------------------------------
20.6第17章使用BIOS进行键盘输入和磁盘读写.............................177
21.附注........................................................................181
21.1《汇编语言(第2版)》勘误...............................................181
21.2汇编测试题目(部分)....................................................183
21.3汇编测试答案(部分)....................................................183
6
4X编语d第二累
1.前言
教材:《汇编语言》(2008年4月第2版),王爽著,清华大学出版社。
长期以来,汇编语言被认为是一门枯燥难学的课程,但王爽老师的著作《汇编语言》解决了这个问题。
本人仅将自己在学习此书时所做的答案及一些个人笔记进行了整理并编辑成集,方便日后查阅。
后因朋友要求,发于网上共享。
由于本人水平有限,制作仓促,不能保证解析完全正确。
如果你在对照的过程中,发现了错误的地方,可以写信告知本人,在此先表示感谢。
邮箱:gray_always@qq.com;
QQ群:100354217(群主不友善,慎入)
如有其它疑问,可到专门为《汇编语言》读者开设的论坛中寻求帮助。
网站地址:http:〃www.asmedu.net/bbs/forum.jsp
制作者:灰色依然
制作日期:2008年7月
如需转载,请注明来源和出处,谢谢。
7
4X编语d第二案
2.第1章基础知识
2.1检测点1.1
检测点1.1
(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为」工位。
(2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。
(3)1KB的存储器可以存储可92(2-3)个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根,则它们的寻址能力分
别为:且.(KBXJ_(MB\_16_(MB]4(GB1
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一
次可以传送的数据为\_1_(BX_2_(BX_2_(BX
(7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。
(8)在存储器中,数据和程序以二进制形式存放。
解题过程:
(1)1KB=1O24B,8KB=1024B*8=2'N,N=13o
(2)存储器的容量是以字节为最小单位来计算的,1KB=1O24B。
(3)8Bit=lByte,1024Byte=lKB(lKB=1024B=1024B*8Bit卜
(4)1GB=1O73741824B(即2-30)1MB=1O48576B(即2'20)1KB=1O24B(即2"10\
(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为No这样的CPI最多可以寻找2的N次
方个内存单元。(一个内存单元=lByteb
8
4X编语d第二案
(6)8根数据总线一次可以传送8位二进制数据(即一个字节X
(7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。
(8)在存储器中指令和数据没有任何区别,都是二进制信息。
3.第2章寄存器
3.1检测点2.1(1)
检测点2.1
(1)写出每条汇编指令执行后相关寄存器中的值。
movax,62627AX=F4A3H
movah,31HAX=31A3H
moval,23HAX=3123H
addax,axAX=6246H
movbx,826CHBX=826CH
movex,axCX=6246H
movax,bxAX=826cH
addax,bxAX=04D8H
moval,bhAX=0482H
movah,blAX=6C82H
addah,ahAX=D882H
addal,6AX=D888H
addal,alAX=D810H
movax,exAX=6246H
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\D0CUME"1\ADMINI"1>debug
-a
0ClC:0100movax,f4a3
OC1C:O1O3movah,31
OC1C:O1O5moval,23
OC1C:O1O7addax,ax
OC1C:O1O9movbx,826c
OC1C:O1OCmovex,ax
OC1C:O1OEmovax,bx
OC1C:O11Oaddax,bx
9
OC1C:O112moval,bh
OC1C:O114movah,bl
OC1C:O116addah,ah
OC1C:O118addal,6
OC1C:O11Aaddal,al
OC1C:O11Cmovax,ex
OC1C:O11E
AX=OOOOBX=OOOOCX=OOOODX=OOOOSP:FFEEBP=OOOOSI=0000DI=OOOO
DS=OC1CES=OC1CSS=OC1CCS=OC1C1P=O1OONVUPEIPLNZNAPONC
OC1C:O1OOB8A3F4MOVAX,F4A3
-t
AX=F4A3BX=OOOOCX=OOOODX=OOOOSP二FFEEBP=OOOOSI=OOOODI=OOOO
DS=OCICES=OC1CSS=OC1CCS=OC1CIP=0103NVUPEIPLNZNAPONC
OC1C:O1O3B431MOVAH,31
-t
AX=31A3BX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=0000DI=OOOO
DS=0C1CES=OC1CSS=OC1CCS=0C1CIP=0105NVUPEIPLNZNAPONC
OC1C:O1O5B023MOVAL,23
-t
AX=3123BX=OOOOCX=OOOODX=OOOOSP=FFEEBP=OOOOSI=OOOODI=OOOO
DS=OC1CES=OC1CSS=OC1CCS=OC1CIP=0107NVUPEIPLNZNAPONC
OC1C:O1O701C0ADDAX,AX
-t
AX=6246BX=OOOOCX=OOOODX=OOOOSP二FFEEBP=OOOOSI=0000DI=OOOO
DS=OC1CES=OC1CSS=OC1CCS=OC1C1P=O1O9NVUPEIPLNZNAPONC
OC1C:O1O9BB6C82MOVBX,826C
-t
AX=6246BX=826CCX=OOOODX=OOOOSP:FFEEBP=OOOOSI=OOOODI=OOOO
DS=OCICES=OC1CSS=OC1CCS=OC1CIP=010CNVUPEIPLNZNAPONC
OC1C:O1OC89C1MOVCX,AX
-t
AX=6246BX=826CCX=6246DX=OOOOSP:FFEEBP=OOOOS1=0000DI=OOOO
DS=OCICES=OC1CSS=OC1CCS=OCICII^OIOENVUPEIPLNZNAPONC
OC1C:O1OE89D8MOVAX,BX
-t
AX=826CBX=826CCX=6246DX=OOOOSP=FFEEBP=OOOOSI-0000DI=OOOO
DS=0C1CES=OC1CSS=OC1CCS=OC1CIP=0110NVUPEIPLNZNAPONC
OC1C:O11O01D8ADDAX,BX
-t
AX=04D8BX=826CCX=6246DX=OOOOSP:FFEEBP=OOOOSI=OOOODI=OOOO
DS=OC1CES=OC1CSS=OC1CCS=OC1C1P=O112OVUPEIPLNZACPECY
OC1C:O11288F8MOVAL,BH
-t
10
AX=0482BX=826CCX=6246DX=OOOOSP二FFEEBP=OOOOS1=0000DI=OOOO
DS=OCICES=OC1CSS=OC1CCS=OC1C1P=O114OVUPEIPLNZACPECY
OC1C:O11488DCMOVAH,BL
AX=6C82BX=826CCX=6246DX=OOOOSP二FFEEBP=OOOOSI=0000DI=OOOO
DS=OC1CES=OCICSS=OC1CCS=OC1CIP=0116OVUPEIPLNZACPECY
OC1C:O11600E4ADDAH,AH
AX=D882BX=826CCX=6246DX=OOOOSP二FFEEBP=OOOOSI=0000DI=OOOO
DS=0C1CES=OC1CSS=0C1CCS=OC1CIP=0U8OVUPEINGNZACPENC
OC1C:O1180406ADDAL,06
AX=D888BX=826CCX=6246DX=OOOOSP:FFEEBP=OOOOSI=OOOODI=OOOO
DS=OCICES=0C1CSS=0C1CCS=OCICIP=0UANVUPEINGNZNAPENC
OC1C:O11AOOCOADDAL,AL
AX=D810BX=826CCX=6246DX=OOOOSP=FFEEBP=OOOOSI=0000DI=OOOO
DS=0C1CES=OC1CSS=OC1CCS=0C1CIP=01ICOVUPEIPLNZACPOCY
OC1C:O11C89C8MOVAX,CX
-t
AX=6246BX=826CCX=6246DX=OOOOSP二FFEEBP=OOOOSI=0000DI=OOOO
DS=OC1CES=OC1CSS=OC1CCS=OC1CIP=011EOVUPEIPLNZACPOCY
OC1C:O11EOBOCORCX,[SI]DS:0000=20CD
3.2检测点2.1(2)
检测点2.1
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
movax,2AX=2
addax,axAX=4
addax,axAX=8
addax,axAX=16
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME~l\ADMINI~Ddebug
-a
OC1C:O1OOmovax,2
OC1C:O1O3addax,ax
11
OC1C:O1O5addax,ax
0C1C:0107addax,ax
OC1C:O1O9
AX=OOOOBX=OOOOCX=OOOODX=OOOOSP:FFEEBP=OOOOSI=0000DI=0000
DS=OC1CES=OCICSS=OC1CCS=OC1CIP=0100NVUPEIPLNZNAPONC
OC1C:O1OOB80200MOVAX,0002
AX=0002BX=OOOOCX=OOOODX=OOOOSP二FFEEBP=OOOOSI=0000DI=OOOO
DS=0C1CES=OC1CSS=0C1CCS=OC1CIP=0103NVUPEIPLNZNAPONC
OC1C:O1O301C0ADDAX,AX
AX=0004BX=OOOOCX=OOOODX=OOOOSP:FFEEBP=OOOOSI=0000DI=OOOO
DS=OCICES=0C1CSS=0C1CCS=OCICIP=0105NVUPEIPLNZNAPONC
OC1C:O1O501C0ADDAX,AX
AX=0008BX=OOOOCX=OOOODX=OOOOSP二FFEEBP=OOOOS1=0000DI=OOOO
DS=OCICES=OC1CSS=OC1CCS=OCICIP=0107NVUPEIPLNZNAPONC
OC1C:O1O701C0ADDAX,AX
AX=OOIOBX=OOOOCX=OOOODX=OOOOSP:FFEEBP=OOOOSI=0000DI=OOOO
DS=OC1CES=OCICSS=OC1CCS=OC1CIP=0109NVUPEIPLNZACPONC
OC1C:O1O920881615AND[BX+SI+1516],CLDS:1516-00
3.3检测点2.2(1)
检测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为0010H到1000FII。
解题过程:
物理地址=5人*16+以
EA的变化范围为Oh'ffffh
物理地址范围为(SA*16+0h)~(SA*16+ffffh)
现在SA=0001h,那么寻址范围为
(0001h*16+0h)~(0001h*16+ffffh)
=0010h'1000fh
12
4X编语言匚第二案
3.4检测点2.2(2)
检测点2.2
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的
条件是:最小为100UI,最大为200011。
当段地址给定为1001H以下和2000H以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
解题过程:
物理地址=5人*16+£人
20000h=SA*16+EA
SA=(20000h-EA)/16=2000h-EA/l6
EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值
EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值
这里的ffffH/16=fffh是通过WIN自带计算器算的
按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了
单就除法来说,应有商和余数,但此题要求的是地址最大和最小,所以余数忽略了
如果根据位移的算法(段地址*16=16进制左移一位),小数点后应该是不能省略的
我们可以反过来再思考下,如果SA为1000h的话,小数点后省略
SA=1000h,EA取最大ffffh,物理地址为Iffffh,将无法寻到20000H单元
这道题不应看成是单纯的计算题
13
4X编语d第二案
3.5检测点2.3
检测点2.3
下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?
movax,bx
subax,ax
jmpax
答:一共修改四次
第一次:读取movax,bx之后
第二次:读取subax,ax之后
第三次:读取.jmpax之后
第四次:执行jmpax修改IP
最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H
3.6实验一(1)
实验一查看CPU和内存,用机器指令和汇编指令编程
2实验任务
(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器中内容的变
化。
机器码汇编指令寄存器
b8204emovax,4E20Hax=4E20H
051614addax,1416Hax=6236H
bb0020movBX,2000Hbx=2000H
01d8addax,bxax=8236H
89c3movbx,axbx=8236H
01d8addax,bxax=046CH
b8la00movax,001AHax=001AH
bb2600movbx,0026Hbx=0026H
14
4X编语d第二案
00d8addal,blax=0040H
00deaddah,blax=2640H
00c7addbh,albx=4026H
b400movah,0ax=0040H
00d8addal,blax=0066H
049caddal,9CHax=0002H
Microsoft(R)WindowsDOS
(C)CopyrightMicrosoftCorp1990-2001.
C:\DOCUME"l\ADMINri>debug
-a
0C1C:0100movax,4e20
OC1C:O1O3addax,1416
OC1C:O1O6movbx,2000
OC1C:O1O9addax,bx
0C1C:010Bmovbx,ax
OC1C:O1ODaddax,bx
0C1C:010Fmovax,001a
OC1C:O112movbx,0026
OC1C:O115addal,bl
OC1C:O117addah,bl
OC1C:O119addbh,al
OC1C:O11Bmovah,0
OC1C:O11Daddal,bl
OC1C:O11Faddal,9c
OC1C:O121
-r
AX=0000BX=000()CX=0000DX=OOOOSP=FFEEBP=OOOOSI-0000DI=0000
DS=OC1CES=OC1CSS=OC1CCS=OC1CIP=0100NVUPEIPLNZ,PONC
OC1C:O1OOB8204EMOVAX,4E20
-t
AX-4E20BX=OOOOCX=00001)X=0000SP=FFEEBP=OOOOSI-0000DI=0000
DS=OC1CES=OC1CSS=OC1CCS=OC1CIP=0103NVUPEIPLNZ,PONC
OC1C:O1O3051614ADI)AX,1416
-t
AX=6236BX=000()CX=OOOODX-0000SP=FFEEBP=0000SI=00001)1=0000
DSRC1CES=OC1CSS=OC1CCS=OC1CIP=0106NVUPEIPLNZ,PENC
OC1C:O1O6BB0020MOVBX,2000
AX=6236BX=2000CX=0000DX-0000SP=FFEEBP=0000SI-0000[)1=0000
DS=OCICES=OC1CSS=OC1CCS=OC1CIP=0109NVUPEIPLNZ।PENC
OC1C:O1O901D8ADDAX,BX
AX=8236BX=2000CX=0000DX=0000SP=FFEEBP-0000SI-00001)1=0000
15
《汇编语言》第二版习题答案
DS=OC1CES=OC1CSS=OC1CCS=OCICIP=010BOVUPEINGNZPENC
OC1C:O1OB89C3MOVBX,AX
AX=8236BX=8236CX-00001)X=0000SP=FFEEBP=0000SI=00001)1=0000
DSRC1CES=OC1CSS=OC1CCS=OC1CIP=010DOVUPEINGNZ,PENC
OC1C:O1OD01D8ADI)
AX=046cBX=8236CX=0000DX-0000SP=FFEEBP=0000SI-0000[)1=0000
DS=OCICES=OC1CSSRC1CCS=OC1CIP=010FOVUPEIPLNZ।PECY
OC1C:O1OFB81A00MOVAX,001A
AX-001ABX=8236CX=0000DX=0000SP=FFEEBP-0000SI-0000DI=0000
DS=OC1CES=OC1C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44871-2024纺织品二异氰酸酯类化合物的测定
- 食品企业总经理招聘合同
- 特殊管理药品市场准入指南
- 高山度假村道路建设合同
- 城市广场铁艺安装协议
- 2024年配电箱柜集成解决方案采购合同3篇
- 2024年透水混凝土施工协议3篇
- 家庭园丁保姆合同样本
- 砌体结构防水防腐施工合同
- 通信设备销售票据管理
- 2025年中小学春节安全教育主题班会课件
- 工商注册租房合同范例
- 2023-2024学年广东省深圳市罗湖区八年级上学期期末生物试题
- GB/T 18281.3-2024医疗保健产品灭菌生物指示物第3部分:湿热灭菌用生物指示物
- 2025年医院保卫科工作总结及2025年工作计划
- 探索心理学的奥秘智慧树知到期末考试答案章节答案2024年北京大学
- 《微观经济学》课程思政教学案例(一等奖)
- 导游实务课件
- 司法部关于下发《律师刑事-诉讼格式文书》标准样式的通知
- 艺术类核心期刊目录
- 220kV枢纽变电所设计
评论
0/150
提交评论