汇编语言程序设计练习题

上传人:桔**** 文档编号:571455322 上传时间:2024-08-10 格式:PDF 页数:9 大小:297.81KB
返回 下载 相关 举报
汇编语言程序设计练习题_第1页
第1页 / 共9页
汇编语言程序设计练习题_第2页
第2页 / 共9页
汇编语言程序设计练习题_第3页
第3页 / 共9页
汇编语言程序设计练习题_第4页
第4页 / 共9页
汇编语言程序设计练习题_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汇编语言程序设计练习题》由会员分享,可在线阅读,更多相关《汇编语言程序设计练习题(9页珍藏版)》请在金锄头文库上搜索。

1、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!汇编语程序设计练习题汇编语程序设计练习题阅读程序并完成填空:11MOV BL,85HMOV AL,17HADD AL,BLAL=?,BL=?,CF=?22MOV AX,BXNOT AXADD AX,BXINC AXAX=?,CF=?33MOV AX,0FF60HSTCMOV DX,96XOR DH,0FFHSBB AX,DXAX=?,CF=?44MOV BX,0FFFEHMOV CL,2SAR BX,CL55MOV BX,0FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH上

2、述程序段运后,BX=?,CF=?66CMP AX,BXJGE NEXTXCHG AX,BXNEXT:CMP AX,CXJGE DONEXCHG AX,CXDONE:。试回答:(1)(1)上述程序段执后,原有AX、BX、CX中最数存放在哪个寄存器中?欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!(2)(2)这3个数是带符号数还是符号数?77在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。MOV AX,SEG ADDR1MOV DS,AXMOV ES,-MOV SI,-MOV DI,OFFSET ADDR2MOV-,200CLDR

3、EP-88ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。MOV CX,2XOR BX,BXCLCNEXT:MOV AX,ADDR1+BXADC AX,-MOVADDR2+BX,AXADD-,2-NEXT99设初值AX=1234H,BX=5678H,DX=0ABCDH,则执下段程序后AX=-,BX=-,DX=-。MOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL1010设有个地址为ARRAY有N个字数据的数组,要求求出该数组之和,并把结果存TOTAL地址中,有关程序如下:MOV CX,-MOV AX,0MOV

4、 SI,0START:ADD AX,-ADD SI,2DEC CXJNZ STARTMOV-,AX1111设段地址为1000H偏移地址为STR的5个字节的内容逐装累加器中,加1后,再送STR为地址的存储单元欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!中,程序如下:MOV AX,1000HMOV ES,AXMOV DS,AX-MOV CX,5CLDNEXT:LODSBADD AL,1LOOP NEXT1212在个地址为STR、长度为N的字符串中查找空格,找到则向DL中送1,否则向DL中送-1。MOV CX,NMOV SI,0MOV AL,20HN

5、EXT:CMP AL,-JZ DISPYINC-NEXTMOV DL,-1JMP NEXT1DISPY:MOV DL,1。NEXT1:1313将数据段中地址为ADDR、长度为N的组数据加1,并送回原处。MOV AX,-MOV DS,AXMOV ES,-MOV SI,OFFSET ADDRMOV-,SICLDMOV CX,NNEXT:-ADD AL,1STOSBLOOP NEXT欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1414若定义如下数据段DATA SEGMENTORG1000HDAT1DBABC,-2,12HDAT2DW3,AB,$+4D

6、AT3DB2DUP(1,2,3DUP(?)DATA ENDS试写出下列指令执后,AX=-,BX=-,CX=-。MOV BX,DAT2+4MOV CH,DAT3MOV AX,WORD PTRDAT1+2MOV CL,LENGTH DAT3SHL AX,CLOR BX,0F000H四分析以下的汇编语源程序。1)tack segment stackDw256dup(?)Stack endsData segmentDa1dw-1,-3,5,6,9Rs dw?Data endsCode segmentAssume cs:code,ss:stack,ds:dataStart:mov ax,dataMov

7、ds,axMov bx,offset da1;BX的含义是:_Mov cx,(rs-da1)/2;CX的含义是:_Mov dx,0;DX的含义是:_ Lop1:mov ax,bx;指令Cmp ax,0Jge jus;什么条件下转到标号指令?_Inc dxjus:inc bx;bx为什么要加1两次?_Inc bxDec cx;指令欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!Jnz lop1;指令和前的指令可以哪条指令替代?_Mov rs,dx;rs单元存放的值的含义是什么?_Mov ah,4chInt21hCode endsEnd start1)

8、1)请描述该程序的功能:_。2)2)在注释处回答相应问题。3)3)寄存器BX的变化规律是:_。(递增还是递减)4)4)寄存器CX的变化规律是:_。(递增还是递减)5)5)每次变化时,指令的源操作书是如何变化的?_。Stack segment stackDw256dup(?)Stack endsData segmentBlock db0e8h,34h,12h,91h,0fbh,99h,25h,3ehDb6ah,03h,65h,77h,80h,0beh,75h;定义数组block Count equ$-blockBuffer1db count dup(?)Buffer2db count dup(?

9、)Data endsCode segmentAssume cs:code,ss:stack,ds:dataStart:mov ax,dataMov ds,axMov si,offset blockMov bx,offset buffer2Mov di,offset buffer1Mov cx,countGoon:mov al,siTest al,80hJnz mius欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!Movdi,alInc diJmp again;Mius:movbx.alInc bxAgain:inc siLoop goonMov

10、ah,4chInt21hCode endsEnd start6)6)请描述该程序的功能:_。7)7)试分析:该程序执完后:数组block的内容是:_。数组buffer1的内容是:_。数组buffer2的内容是:_。8)8)请分析指令jmp again能否直接改成jmp goon?请说明原因。请根据提,补充完成下列程序段:_;数据段定义array dw10dup(2)_;程序段定义_;assume伪指令_;数据段地址送段寄存器值_xor ax,axmov cx,0ahmov si,12hnext:add ax,arraysisub si,2loop next_欢迎您阅读并下载本文档,本文档来源于

11、互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!_1)1)阅读分析程序,本程序实现的功能是:_。2)2)当循环体执完后,查看AX=_。五补充完整程序。1)1)以buffer为地址的字节单元中,存放count个符号数,编写程序找出其中最数并送max单元中。Buffer db5,6,7,58h,62,45,127,128Count equ$-bufferMax db?Mov bx,offset bufferMov cx,count-1Mov al,bxLop1:inc bx_jae nextmov al,bxnext:dec cxmov max,al请分析,程序执完毕后,MAX单元的值是

12、:_。2)2)da1数据区有20个字节的数据,将每个数据的低四位变反四位不变,并依次存da2数据区中。请阅读分析下程序。将空缺之处补充完整。Mov cx,20Lea si,da1Lea di,da2K1:mov al,si_Movdi,alInc siInc diDec cx_3)3)从键盘读字符串(长度于maxno),再将该串反转后输出显。请阅读程序,根据程序设计思路,在空缺处填写正确的指令和注释。Maxno equ41欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!Sseg segment stackDw100dup(?)Sseg endsDs

13、eg segmentMesg1dbinput a string:$Mesg2db0ahits reverse is:$Buf db maxno,?,maxno dup(?)Dseg endsCseg segmentAssume cs:cseg,ds:dseg,ss:ssegStart:_;_Mov ds,axMov dx,offset mesg1Mov ah,9Int21hMov dx,offset bufMov ah,0ah;设置输字符串中断调功能号Int21hXor ax,ax_;取得实际读字符的个数存AX中lea di,buf+2;_mov si,di;_add si,ax;_mov byte ptrsi,$;_dec sicmp di,si_;_; 如果字符串长度是奇数,会出现_;如果字符串长度是偶数,会出现_mov al,sixchg al,didec si_;调整DIjmp contlea dx,mesg2mov ah,9int21h欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!lea dx,buf+2;_mov ah,9int21hmov ah,4chint21h Cseg endsEnd start

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号