汇编语言程序设计练习题.doc_第1页
汇编语言程序设计练习题.doc_第2页
汇编语言程序设计练习题.doc_第3页
汇编语言程序设计练习题.doc_第4页
汇编语言程序设计练习题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序设计练习题阅读程序并完成填空:1 1MOV BL,85HMOV AL,17HADD AL,BLAL=?,BL=?,CF=?2 2MOV AX,BXNOT AXADD AX,BXINC AXAX=?,CF=?3 3MOV AX,0FF60HSTCMOV DX,96XOR DH,0FFHSBB AX,DXAX=?,CF=?4 4MOV BX,0FFFEHMOV CL,2SAR BX,CL5 5MOV BX,0FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH上述程序段运行后,BX=?,CF=?6 6CMP AX,BXJGE NEXTXCHG AX,BXNEXT:CMP AX,CXJGE DONEXCHG AX,CXDONE:。试回答:(1) (1)上述程序段执行后,原有AX、BX、CX中最大数存放在哪个寄存器中?(2) (2)这3个数是带符号数还是无符号数?7 7在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。MOV AX,SEG ADDR1MOV DS,AXMOV ES,-MOV SI,-MOV DI,OFFSET ADDR2MOV -,200CLDREP -8 8ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。MOV CX,2XOR BX,BXCLCNEXT:MOV AX,ADDR1+BXADC AX,-MOV ADDR2+BX,AXADD -,2- NEXT9 9设初值AX=1234H,BX=5678H,DX=0ABCDH,则执行下面一段程序后AX=-,BX=-,DX=-。MOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL10 10设有一个首地址为ARRAY有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中,有关程序如下:MOV CX,-MOV AX,0MOV SI,0START:ADD AX,-ADD SI,2DEC CXJNZ STARTMOV -,AX 11 11设段地址为1000H偏移地址为STR的5个字节的内容逐一装入累加器中,加1后,再送入STR为首地址的存储单元中,程序如下:MOV AX,1000HMOV ES,AXMOV DS,AX-MOV DI,SIMOV CX,5CLDNEXT:LODSBADD AL,1LOOP NEXT12 12在一个首地址为STR、长度为N的字符串中查找空格,找到则向DL中送1,否则向DL中送-1。MOV CX,NMOV SI,0MOV AL,20HNEXT:CMP AL,-JZ DISPYINC - NEXTMOV DL,-1JMP NEXT1DISPY:MOV DL,1。NEXT1:13 13将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处。MOV AX,-MOV DS,AXMOV ES,-MOV SI,OFFSET ADDRMOV -,SICLDMOV CX,NNEXT:-ADD AL,1STOSBLOOP NEXT14 14若定义如下数据段DATA SEGMENTORG 1000HDAT1 DB ABC,-2,12HDAT2 DW 3,AB,$+4DAT3 DB 2 DUP(1,2,3 DUP(?)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 stackDw 256 dup(?)Stack endsData segmentDa1 dw -1,-3,5,6,9Rs dw ?Data endsCode segmentAssume cs:code,ss:stack,ds:dataStart: mov ax,dataMov 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,4ch Int 21hCode ends End start1) 1)请描述该程序的功能:_。2) 2)在注释处回答相应问题。3) 3)寄存器BX的变化规律是:_。(递增还是递减)4) 4)寄存器CX的变化规律是:_。(递增还是递减)5) 5)每次变化时,指令的源操作书是如何变化的?_。Stack segment stackDw 256 dup(?)Stack endsData segmentBlock db 0e8h,34h,12h,91h,0fbh,99h,25h,3eh Db 6ah,03h,65h,77h,80h,0beh,75h;定义数组blockCount equ $-blockBuffer1 db count dup(?)Buffer2 db count dup(?)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 miusMov di,alInc diJmp again ;Mius: mov bx.alInc bxAgain: inc si Loop goon Mov ah,4ch Int 21hCode ends End start6) 6)请描述该程序的功能:_。7) 7)试分析:该程序执行完后:数组block的内容是:_。数组buffer1的内容是:_。数组buffer2的内容是:_。8) 8)请分析指令jmp again能否直接改成jmp goon?请说明原因。请根据提示,补充完成下列程序段:_;数据段定义array dw 10 dup(2)_;程序段定义_;assume伪指令_;数据段地址送段寄存器值_ xor ax,axmov cx,0ahmov si,12hnext: add ax,arraysisub si,2loop next_ _ _ _ 1) 1)阅读分析程序,本程序实现的功能是:_。2) 2)当循环体执行完后,查看AX=_。五补充完整程序。1) 1)以 buffer为首地址的字节单元中,存放count个无符号数,编写程序找出其中最大数并送入max单元中。Buffer db 5,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 cx mov max,al请分析,程序执行完毕后,MAX单元的值是:_。2) 2)da1数据区有20个字节的数据,将每个数据的低四位变反而高四位不变,并依次存入da2数据区中。请阅读分析下面程序。将空缺之处补充完整。Mov cx,20Lea si,da1Lea di,da2K1: mov al,si_Mov di,alInc siInc diDec cx_3) 3)从键盘读入一字符串(长度小于maxno),再将该串反转后输出显示。请阅读程序,根据程序设计思路,在空缺处填写正确的指令和注释。Maxno equ 41Sseg segment stackDw 100 dup(?)Sseg endsDseg segment Mesg1 db input a string:$ Mesg2 db 0ahits reverse is:$ Buf db maxno,?,maxno dup(?)Dseg endsCseg segmentAssume cs:cseg,ds:dseg,ss:ssegStart: _;_Mov ds,axMov dx,offset mesg1Mov ah,9Int 21hMov dx,offset bufMov ah,0ah;设置输入字符串中断调用功能号Int 21hXor ax,ax_;取得实际读入字符的个数存入AX中lea di,buf+2; _mov si,di; _add si,ax; _mov byt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论