首页 汇编语言第3版答案

汇编语言第3版答案

举报
开通vip

汇编语言第3版答案汇编语言第3版答案【篇一:汇编语言习题答案(3)】一、选择题(四选一)1.表示一条处理器指令所在存储单元的符号地址是a 变量b 常量c 标号d 偏移量2.汇编语言中的变量有多种类型属性,但错误的类型是a 字节型byteb 字符型charc 字型wordd 双字型dword3.执行movbx,segvar指令,bx得到变量var的。a 物理地址b 段地址c 偏移地址d 内容4.masm语句中,采用a 逗号b 分号c 冒号d 空格5.欲设定从偏移地址100h开始安排程序,可使用a org100hb start=100h...

汇编语言第3版答案
汇编语言第3版 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 【篇一:汇编语言习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 答案(3)】一、选择题(四选一)1.表示一条处理器指令所在存储单元的符号地址是a 变量b 常量c 标号d 偏移量2.汇编语言中的变量有多种类型属性,但错误的类型是a 字节型byteb 字符型charc 字型wordd 双字型dword3.执行movbx,segvar指令,bx得到变量var的。a 物理地址b 段地址c 偏移地址d 内容4.masm语句中,采用a 逗号b 分号c 冒号d 空格5.欲设定从偏移地址100h开始安排程序,可使用a org100hb start=100hc startdb100hd startequ100h6.与“movbx,offsetvar”指令等效的指令是a movbx,varb 1dsbx,varc lesbx,var d 1eabx,var.7.下条语句bufdbl0dup(3dup(?,10),3,10)汇编后,变量buf占有的存储单元字节数是 b 。a 100b 80c 40 d 208.数据定义语句“numldw(12or6and2)ge0eh”,定义的num1单元的内容是。a 0b 0ffffhc 1d 0ffh9.要求将a、b两个字符的ascii码41h和42h顺序存放在连续两个字节存储单元中,可选用的语句是 a 。a db`ab'bdw`ab'c db 0abhddw0abh10.在汇编语言程序中,对end语句叙述正确的是a end语句是一可执行语句b end语句表示程序执行到此结束c end语句表示源程序到此结束d end语句在汇编后要产生机器码11.下面的数据传送指令中,错误的操作是a movss:[bxdi],byteptr10hb movdx,l000hc movwordptr[bx],1000hd movds,2000h12.下面指令执行后,变量dab中的内容是dawdw2a05hdabdb0fah?moval,byteptrdawsubdab,ala 0dahb 0fahc 0f5hd 0d0h13.根据下面的语句序列,ax寄存器的内容是。tabdb1,2,3,4,5,6entryequ3?mov bx,offsettabadd bx,entrymov ax,[bx]a 0405hb 0304hc 0504hd 0403h14.假设v1和v2是用dw定义的变量,下列指令中正确的是a movv1,20hb movv1,v2c moval,v1 d mov2000h,v215.若定义xyz dw`a',则xyz字存储单元中存放的数据是a 0041hb 4100hc 0061hd 6100h16.使用伪指令定义:valdb2dup(1,2,3dup(3),2dup(1,0),1)则在val存储区内前10个字节单元的数据是d。a 1,2,3,3,2,1,0,1,2,3b 1,2,3,3,3,3,2,1,0,1c 2,1,2,3,3,2,1,0,2,1d 1,2,3,3,3,1,0,1,0,1二、填空题1.用汇编语言编写的程序称为将它转换成二进制的机器语言程序,这种机器语言程序被称为_____目标代码程序_____,而转换的过程称为__汇编__________。它还必须用__连接________程序连接,才能生成可执行的程序.3.汇编语言语句中,源操作数和目的操作数采用4.指令“cmpax,80h”中源操作数的寻址方式是5.若定义“datavardb0a5h,5bh”,填空指令“movbx,datavar”,使该指令无语法错误。6.若操作结果为零转向标号goon,应使用的语句为。7.与指令“loopagain”功能等效的两条指令依次是8.用“dw1234h”语句定义的一个字,如果改用db定义时,语句应为9.定义wdatadwl020h,则执行moval,bytewdata指令后,。10.如下数据定义:v1db4dup(2),2countequ10v2ddcountdup(?)为变量v1分配 5 个字节存储;为变量v2分配 40 个字节存储.11.现有变量定义如下:arydw10dup(?)试填写执行如下指令的结果:movax,typeary;movbx,lengthary ;12.已知数据段如下:org0100harydw3,$4,5,6cntequ$-arydb1,2,cnt,3则执行如下指令后,ax=_0106h____,bx=_0308h_____。movax,ary2movbx,ary10masm的操作符“$”表示当前偏移地址,所以ary定义的$4=102h4=106h。同理,cnt=$-ary=108h-100h=813.程序段如下:blkdb46h,84h,34h,-5,20h,22h,73h?movcx,7leasi,blknext: moval,[si]incsitestal,81hloopznextmovbl,[si]该程序段运行后,al=_84h_____、bl=__34h_______。第一次顺序执行到test指令时,al=84h.84h和81h相逻辑与的结果是80h,将使zf=0。随后执行loopz指令,因为zf≠1而终止循环;此时al=84h,因为si已经加1指向后一个数据,所以bl=34h。14.如下源程序;数据段avardw0bvardw0cvardw10,20,30;代码段leabx,cvarmovax,[bx]movbvar,axmovax,[bx2]addax,bvarmovavar,ax执行后,avar=30。三、问答题1.汇编语言中,伪指令语句与硬指令语句的本质区别是什么?硬指令:每个硬指令就是一个处理器指令,在cpu执行时产生相应功能;伪指令:伪指令并不产生处理器指令,它通常用于辅助汇编程序对源程序进行汇编。②汇编:用汇编程序汇编源程序,产生obj目标程序。③连接:用连接程序将目标程序转换为exe可执行程序。④调试:用调试程序调试可执行程序。3.源程序中如何指明程序执行的起始点?通常在起始指令设置一个标号(例如start),然后用“endstart”伪指令说明该标号的指令为起始点。4.标号有哪三个属性?其含义是什么?段地址:表示标号所在代码段的段地址。偏移地址:表示标号所在代码段的段内偏移地址。类型:引用该标号时,表示它所在同一个段——near类型,还是另外一个段——far类型。5.说明如下两条语句的区别:①xyz1db75②xyz2equ75①“xyz1db75”语句定义了一个字节变量xyz1,在主存存放了一个75的数据。②“xyz2equ75”语句说明了一个常量xyz2,它代表75,它在主存中并没有存放任何内容。6.下列语句在存储器中分别为变量数据区分配多少个字节单元?①var5 dd10分配4个字节单元②var6 dw4dup(?),2分配10个字节单元四、程序阅读题1.下述程序段运行后,从bxyz单元开始依次存放的数据是什么?axyzdb0f8hbxyzdb3dup(?)?leadi,bxyzmovcx,3moval,axyzlop:saral,1mov[di],alincdilooplop从bxyz单元开始依次存放0fch、0feh、0ffh2.现有源程序如下:;数据段org100hblockdwl,2,3,4,5,6,7,8,9countequ($-block)/2resultdwcount,?;代码段leabx,block-2movcx,resultxorax,axgoon:addbx,2cmpax,[bx]jaenextmovax,[bx]next:loopgoonmovresult2,ax该程序段执行完后:①result2字存储单元的内容是什么?result2字存储单元的内容是9(最大值)②bx等于多少?bx等于110h③程序循环了多少次?程序循环了9次3.现有下列数据段:stringdb`abcdefghijkl'count equ$-stringbufferdbcountdup(0)下面程序段是实现把string中所有字符逆向传送到buffer缓冲区(即将string中第一个字符送到buffer的最后一个单元,sting中最后一字符送到buffer的第一个单元,??)。请把程序中所空缺的指令填上。movsi,offsetbuffer-1movdi,offsetbuffermovcx,countagain:movsb__sub si,2____loopagain本题中目的存储区用di指示首地址,源存储区用si指示尾地址,以便实现逆向传送。如果串传送指令movsb采用增量方式(cld指令)则di和si都自动加1,而实际上si需要的是减1,所以第二个空缺位置应该填上“sub si,2”。【篇二:汇编语言第二版王爽完整答案】检测点1.1(1)1个cpu的寻址能力为8kb,那么它的地址总线的宽度为13。(2)1kb的存储器有1024个存储单元。存储单元的编号从0到1023。(3)1kb的存储器可以存储1024*8个bit,1024个byte。(4)1gb、1mb、1kb分别是2^30、2^20、2^10byte。(n^m的意思是n的m次幂)(5)8080、8088、80286、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章寄存器答案检测点2.1(1)写出每条汇编指令执行后相关寄存器中的值。movax,62627ax=f4a3hmovah,31hax=31a3hmoval,23hax=3123haddax,axax=6246hmovbx,826chbx=826chmovcx,axcx=6246hmovax,bxax=826chaddax,bxax=04d8hmoval,bhax=0482hmovah,blax=6c82haddah,ahax=d882haddal,6ax=d888haddal,alax=d810hmovax,cxax=6246h(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。解:movax,2addax,axaddax,axaddax,ax检测点2.2(1)给定段地址为0001h,仅通过变化偏移地址寻址,cpu的寻址范围为00010h到1000fh。(2)有一数据存放在内存20000h单元中,先给定段地址为sa,若想用偏移地址寻到此单元。则sa应满足的条件是:最小为1001h,最大为2000h。检测点2.3下面的3条指令执行后,cpu几次修改ip?都是在什么时候?最后ip中的值是多少?movax,bxsubax,axjmpax解:修改4次;第一次在cpu读取“movax,bx”后,第二次在cpu读取“subax,ax”后,第三次在cpu读取“jmpax”后,第四次在cpu执行完“movax,bx”后;最后ip中的值为0。实验1查看cpu和内存,用机器指令和汇编指令编程1.略2.(1)略(2)略(3)查看内存中的内容。pc机主板上的rom中写有一个生产日期,在内存fff00h~fffffh的某几个单元中,请找出这个生产日期并试图改变它。解:内存fff00h~fffffh为rom区,内容可读但不可写。(4)向内存从b8100h开始的单元中填写数据,如:-eb810:00000101020203030404请读者先填写不同的数据,观察产生的现象;在改变填写的地址,观察产生的现象。解:8086的显存地址空间是a0000h~bffffh,其中b8000h~bffffh为80*25彩色字符模式显示缓冲区,当向这个地址空间写入数据时,这些数据会立即出现在显示器上。第3章寄存器(内存访问)检测点3.1(1)在debug中,用“d0:01f”查看内存,结果如下。0000:00007080f030ef6030e2-00808012662022600000:00106226e6d6cc2e3c3b-abba000026066688下面的程序执行前,ax=0,bx=0,写出每条汇编指令执行完后相关寄存器的值。movax,1movds,axmovax,[0000]ax=2662hmovbx,[0001]bx=e626hmovax,bxax=e626hmovax,[0000]ax=2662hmovbx,[0002]bx=d6e6haddax,bxax=fd48haddax,[0004]ax=2c14hmovax,0ax=0000hmoval,[0002]ax=00e6hmovbx,0bx=0000hmovbl,[000c]bx=0026haddal,blax=000ch(2)内存中的情况如图3.6所示各寄存器的初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=0;①写出cpu执行的指令序列(用汇编指令写出)。②写出cpu执行每条指令后,cs、ip和相关寄存器中的数值。③再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?解:初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=0①②movax,6622hax=6622h其他寄存器保持不变,以下同理jmp0ff0:0100cs=0ff0h,ip=0100hmovax,2000hax=2000hmovds,axds=20000hmovax,[0008]ax=c389hmovax,[0002]ax=ea66h③没有区别,被cs:ip指向的信息是程序;被传送、运算等指令操作的是数据。检测点3.2(1)补全下面的程序,使其可以将10000h~1000fh中的8个字,逆序复制到200000h~2000fh中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。movax,1000hmovds,axmovax,2000hmovss,axmovsp,10hpush[0]push[2]push[4]push[6]push[8]push[a]push[c]push[e](2)补全下面的程序,使其可以将100000h~1000fh中的8个字,逆序复制到200000h~2000fh中。movax,2000hmovds,axmovax,1000hmovss,axmovsp,0pop[e]pop[c]pop[a]pop[8]pop[6]pop[4]pop[2]pop[0]实验2用机器指令和汇编指令编程1.预备知识:debug的使用略2.实验任务(1)使用debug,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。movax,ffffmovds,axmovax,2200movss,axmovsp,0100movax,[0];ax=58eaaddax,[2];ax=5ccamovbx,[4];bx=30f0addbx,[6];bx=6021pushax;sp=00fe;修改的内存单元的地址是220fe,内容为5ccapushbx;sp=00fc;修改的内存单元的地址是220fc,内容为6021popax;sp=00fe;ax=6021popbx;sp=0100;bx=5ccapush[4];sp=00fe;修改的内存单元的地址是220fe,内容为30f0push[6];sp=00fc;修改的内存单元的地址是220fc,内容为2f31注:内存中的数据会因机器、环境而异(2)仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:f中的内容会发生改变?解:t命令为单步中断,cpu会保护现场,即顺序把标志寄存器、cs、ip入栈,此题是关于后面章节的中断问题。第4章第一个程序实验3编程、编译、连接、跟踪(1)将下面的程序保存为t1.asm,将其生成可执行文件ti.exe。assumecs:codesgcodesgsegmentmovax,2000hmovss,axmovsp,0addsp,10popaxpopbxpushaxpushbxpopaxpopbxmovax,4c00hint21hcodesgendsend【篇三:汇编语言(王爽)第二版课后题全答案】ss=txt>addal,6ax=d888haddal,alax=d810hmovax,cxax=6246hmicrosoft(r)windowsdos(c)copyrightmicrosoftcorp1990-2001.c:\docume~1\admini~1debug-a0c1c:0100movax,f4a30c1c:0103movah,310c1c:0105moval,230c1c:0107addax,ax0c1c:0109movbx,826c0c1c:010cmovcx,ax0c1c:010emovax,bx0c1c:0110addax,bx0c1c:0112moval,bh0c1c:0114movah,bl0c1c:0116addah,ah0c1c:0118addal,60c1c:011aaddal,al0c1c:011cmovax,cx0c1c:011e-rax=0000 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0100nvupeiplnznaponc0c1c:0100b8a3f4 mov ax,f4a3-tax=f4a3 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0103nvupeiplnznaponc0c1c:0103b431mov ah,31-tax=31a3 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0105nvupeiplnznaponc0c1c:0105b023mov al,23-tax=3123 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0107nvupeiplnznaponc0c1c:010701c0add ax,ax-tax=6246 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0109nvupeiplnznaponc0c1c:0109bb6c82 mov bx,826c-tax=6246 bx=826c cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=010cnvupeiplnznaponc0c1c:010c89c1mov cx,ax-tax=6246 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=010envupeiplnznaponc0c1c:010e89d8mov ax,bx-tax=826c bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0110nvupeiplnznaponc0c1c:011001d8add ax,bx-tax=04d8 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0112ovupeiplnzacpecy0c1c:011288f8mov al,bh-tax=0482 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0114ovupeiplnzacpecy0c1c:011488dcmov ah,bl-tax=6c82 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0116ovupeiplnzacpecy0c1c:011600e4add ah,ah-tax=d882 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=00000c1c:01180406add al,06-tax=d888 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=011anvupeingnznapenc0c1c:011a00c0add al,al-tax=d810 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=011covupeiplnzacpocy0c1c:011c89c8mov ax,cx-tax=6246 bx=826c cx=6246 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=011eovupeiplnzacpocy0c1c:011e0b0corcx,[si]ds:0000=20cd-q检测点2.1(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 mov ax,2ax=2add ax,ax ax=4add ax,ax ax=8add ax,ax ax=16microsoft(r)windowsdos(c)copyrightmicrosoftcorp1990-2001.c:\docume~1\admini~1debug-a0c1c:0100movax,20c1c:0103addax,ax0c1c:0105addax,ax0c1c:0107addax,ax0c1c:0109-rax=0000 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=00000c1c:0100b80200 mov ax,0002-tax=0002 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0103nvupeiplnznaponc0c1c:010301c0add ax,ax-tax=0004 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0105nvupeiplnznaponc0c1c:010501c0add ax,ax-tax=0008 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0107nvupeiplnznaponc0c1c:010701c0add ax,ax-tax=0010 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=0c1c es=0c1c ss=0c1c cs=0c1c ip=0109nvupeiplnzacponc0c1c:010920881615and [bxsi1516],cl ds:1516=00-q检测点2.2(1)给定段地址为0001h,仅通过变化偏移地址寻址,cpu的寻址范围为到。解题过程:物理地址=sa*16eaea的变化范围为0h~ffffh物理地址范围为(sa*160h)~(sa*16ffffh)现在sa=0001h,那么寻址范围为(0001h*160h)~(0001h*16ffffh)=0010h~1000fh检测点2.2(2)有一数据存放在内存20000h单元中,现给定段地址为sa,若想用偏移地址寻到此单元。则sa应满足的条件是:最小为1001h,最大为2000h。当段地址给定为1001h以下和2000h以上,cpu无论怎么变化偏移地址都无法寻到20000h单元。
本文档为【汇编语言第3版答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_003124
暂无简介~
格式:doc
大小:57KB
软件:Word
页数:36
分类:
上传时间:2022-08-19
浏览量:21