版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语⾔课后题答案检测点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)在存储器中,数据和程序以⼆进制形式存放。检测点2.1(1)写出每条汇编指令执⾏后相关寄存器中的值。movax,62627AX=F4A3Hmovah,31Hmoval,23Haddax,axAX=31A3HAX=3123HAX=6246Hmovbx,826CHmovcx,axBX=826CHCX=6246Hmovax,bxAX=826CHaddax,bxmoval,bhmovah,bladdah,ahaddal,6AX=04D8HAX=0482HAX=6C82HAX=D882HAX=D888HAX=D810HAX=6246Haddal,almovax,cx检测点2.2(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为0010H到1000FH。(2)有⼀数据存放在内存20000H单元中,现给定段地址为SA,若想⽤偏移地址寻到此单元。则SA应满⾜的条件是:最⼩为1001H,最⼤为2000H。检测点2.31、下⾯的3条指令执⾏后,cpu⼏次修改IP?都是在什么时候?最后IP中的值是多少?movax,bxsubax,axjmpax答:⼀共修改四次第⼀次:读取movax,bx之后第⼆次:读取subax,ax之后第三次:读取jmpax之后第四次:执⾏jmpax修改IP最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H检测点3.1(1)在DEBUG中,⽤“D0:0lf”查看内存,结果如下:0000:00007080F030EF6030E2-00808012662022600000:00106226E6D6CC2E3C3B-ABBA000026066688下⾯的程序执⾏前,AX=0,BX=0,写出每条汇编指令执⾏完后相关寄存器中的值。movax,1movds,axmovax,[0000]ax=2662Hmovbx,[0001]bx=E626Hmovax,bxax=E626H
movax,bxax=E626Hmovax,[0000]ax=2662Hmovbx,[0002]bx=D6E6Haddax,bxaddax,[0004]ax=2C14Hmovax,0ax=0moval,[0002]ax=00e6Hmovbx,0bx=0movbl,[000c]bx=0026Hax=FD48Haddal,bl(2)ax=000CH①指令序列如下:movax,6622hjmp0ff0:0100movax,2000hmovds,axmovax,[0008]movax,[0002]②写出CPU执⾏每条指令后,CS、IP和相关寄存器中的数值。指令序列↓寄存器→CSIPDSAXBX初始值→2000H00001000H00movax,6622h2000H00031000H6622H0000jmp0ff0:01001000H00001000H6622H0000movax,2000h1000H00031000H2000H0000movds,ax1000H00052000H2000H0000movax,[0008]1000H00082000HC389H0000movax,[0002]1000H000B2000HEA66H0000检测点3.2(1)补全下⾯的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。movax,1000Hmovds,axmovax,2000Hmovss,axmovsp,10hpush[0]push[2]push[4]push[6]push[8]push[A]push[C]push[E](2)补全下⾯的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。movax,2000Hmovds,axmovax,1000Hmovss,axmovsp,0pop[e]pop[c]pop[a]pop[8]pop[6]pop[4]pop[2]pop[0]
pop[0]实验4[BX]和loop的使⽤(1)编程,向内存0:20063(3FH)。0:23F依次传送数据0程序如下:assumecs:codesgcodesgsegmentmovax,0020hmovds,axmovbx,0movdl,0movcx,40hs:mov[bx],dlincdlincbxloopsmovax,4c00hint21hcodesgendsend(2)编程,向内存0:200程序如下:assumecs:codesgcodesgsegmentmovax,0020hmovds,axmovbl,063(3FH),程序中只能使⽤9条指令,9条指令中包括“movax,4c00h”和“int21h”。0:23F依次传送数据0movcx,40hs:mov[bx],blincblloopsmovax,4c00hint21hcodesgendsend(3)下⾯的程序的功能是将“movax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运⾏结果。assumecs:codecodesegmentmovax,code或cs;code为所填写的数据movds,axmovax,0020hmoves,axmovbx,0movcx,18h或17h或subcx,5s:moval,[bx]moves:[bx],alincbxloopsmovax,4c00hint21hcodeendsend检测点6.1(1)下⾯的程序实现依次⽤内存0:0~0:15单元中的内容改写程序中的数据,完成程序:assumecs:codesgcodesgsegment
codesgsegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart:movax,0movds,axmovbx,0movcx,8s:movax,[bx]movcs:[bx],ax;此条指令为所填指令addbx,2loopsmovax,4c00hint21hcodesgendsendstart(2)下⾯的程序实现依次⽤内存0:0~0:15单元中的内容改写程序中的数据,数据的传送⽤栈来进⾏。栈空间设置在程序内。完成程序:assumecs:codesgcodesgsegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdw0,0,0,0,0start:movax,cs;cs为所填第⼀空movss,axmovsp,1ah或36;此条指令为所填第⼆空movax,0movds,axmovbx,0movcx,8s:push[bx]popcs:[bx];此条指令为所填第三空addbx,2loopsmovax,4c00hint21hcodesgendsendstart实验5编写、调试具有多个段的程序(5)编写code段中的内容,将a段和b段中的数据依次相加,将结果存到c段中。assumecs:codeasegmentdb1,2,3,4,5,6,7,8aendsbsegmentdb1,2,3,4,5,6,7,8bendscsegmentdb0,0,0,0,0,0,0,0cendscodesegmentstart:movax,amoves,axmovax,cmovds,axmovbx,0movcx,8s1:movax,es:[bx]add[bx],ax
add[bx],axaddbx,2loops1movax,bmoves,axmovds,axmovbx,0movcx,8s2:movax,es:[bx]add[bx],axaddbx,2loops2movax,4c00hint21hcodeendsendstart(6)程序如下,编写code段中的代码,⽤push指令将a段中的前8个字型数据,逆序存储到b段中。assumecs:codeasegmentdw1,2,3,4,5,6,7,8aendsbsegmentdw0,0,0,0,0,0,0,0bendscodesegmentstart:movax,bmovss,axmovsp,10hmovax,amovds,axmovbx,0movcx,8s:push[bx]addbx,2loopsmovax,4c00hint21hcodeendsendstart检测点9.1-9.2见课件检测点9.3补全程序,利⽤loop指令,实现在内存2000H段中查找第⼀个值为0的byte,找到后,将它的偏移地址存储在dx中。assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movcl,[bx]movch,0inccx;此条指令为题⽬要求补全的指令incbxloopsok:decbxmovdx,bx
movdx,bxmovax,4c00hint21hcodeendsendstart检测点10.1-10.5见课件检测点11.1写出下⾯每条指令后,ZF、PF、SF等标志位的值。ZFPFSFsubal,al110moval,1110pushax110popbx110addal,bl000addal,10010mulal010检测点11.2CFOFSFZFPFsubal,al00011moval,10H00011addal,90H00101moval,80H00101addal,80H11011moval,0FCH11011addal,05H10000moval,7DH10000addal,0BH01101检测点11.3(1)补全下⾯的程序,统计F000:0处32个字节中,⼤⼩在[32,128]的数据的个数。movax,0f000hmovds,axmovbx,0movdx,0movcx,32s:moval,[bx]cmpal,32jbs0cmpal,120jas0incdxs0:incbxloops(2)补全下⾯的程序,统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国安全培训信息网课件
- 《智能控制技术》课件 4.1工业4.0概述
- 航运金融职业前景
- 面包直播销售话术
- 管线保护安全规范讲解
- 人工智能参考模版技术
- 光谱培训教学课件
- 群众路线教育党课记录
- 康复治疗师医患沟通
- 人类学硕士就业前景分析
- 2025年中国泵行业市场白皮书
- 2025社交礼仪资料:15《现代社交礼仪》教案
- 食管癌的护理查房知识课件
- 高三日语二轮复习阅读专题课件
- 智圆行方的世界-中国传统文化概论知到课后答案智慧树章节测试答案2025年春暨南大学
- 粉色小清新小红帽英语情景剧
- 师德师风自查自纠工作自查报告
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 期中测试卷(试题)2024-2025学年人教版数学六年级上册
- 箱式变电站技术规范书
- 大学生体质健康标准与锻炼方法(吉林联盟)智慧树知到期末考试答案章节答案2024年东北师范大学
评论
0/150
提交评论