欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《汇编教程》PPT课件.ppt

    • 资源ID:5541232       资源大小:501KB        全文页数:72页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《汇编教程》PPT课件.ppt

    第4章 程序结构,4.1 顺序程序结构4.2 分支程序结构4.3 循环程序结构,第4章 程序结构,以顺序、分支和循环程序结构为主线结合数值运算、数组处理等示例程序掌握控制转移指令以及编写基本程序的方法,4.1 顺序程序结构,按照指令书写的前后顺序执行每条指令最基本的程序片段构成复杂程序的基础2个示例程序知道“123N”等于多少吗?知道处理器内置的识别字符串是什么吗?,例4-1自然数求和程序,;数据段numdd 3456;假设一个N值(小于232-1)sumdq?;代码段mov eax,num;EAX=Nadd eax,1;EAX=N+1imul num;EDX.EAX=(1+N)Nshr edx,1;64位逻辑右移一位(除以2)rcr eax,1;EDX.EAX=EDX.EAX2mov dword ptr sum,eax;小端方式保存mov dword ptr sum+4,edx,12N(1N)N2,例4-2处理器识别程序,;数据段bufferdb The processor is,12 dup(0),$bufsize=sizeof buffer;代码段mov eax,0cpuid;执行处理器识别指令mov dword ptr buffer+bufsize-13,ebxmov dword ptr buffer+bufsize-9,edxmov dword ptr buffer+bufsize-5,ecxmov dx,offset buffer;显示信息mov ah,9int 21h,GenuineIntel,使用.686替代.486,4.2 分支程序结构,改变程序执行顺序、形成分支、循环、调用等程序结构是很常见的程序设计问题高级语言采用IF等语句表达条件,并根据条件是否成立转向不同的程序分支汇编语言需要首先利用比较CMP、测试TEST、加减运算、逻辑运算等影响状态标志的指令形成条件然后利用条件转移指令判断由标志表达的条件,并根据标志状态控制程序转移到不同的程序段,4.2.1 无条件转移指令,程序代码在代码段CS:指明代码段在主存中的段基地址EIP:给出将要执行指令的偏移地址程序顺序执行,处理器自动增量EIP程序控制转移,EIP随之改变程序转移到另外的代码段,EIP和CS都改变控制转移类指令:改变EIP(有些也改变CS),即改变程序执行顺序(实现程序控制转移)的指令,本章学习控制转移类指令,1.转移范围,段内转移在当前代码段范围内的程序转移不需更改CS,只要改变EIP(偏移地址)近转移(Near):32位近转移NEAR32、16位近转移NEAR16短转移(Short):转移范围在127-128字节段间转移从当前代码段跳转到另一个代码段需要更改CS(段地址)和EIP(偏移地址)远转移(Far):48位远转移FAR32、32位远转移FAR16,2.指令寻址方式,相对寻址方式提供目标地址相对于当前指令指针EIP的位移量目标地址(转移后的EIP)当前EIP位移量相对寻址都是段内转移,最常用、最灵活直接寻址方式直接提供目标地址目标地址(转移后的CS和EIP)指令操作数间接寻址方式指示寄存器或存储单元目标地址来自寄存器或存储单元、间接获得寄存器间接寻址:用寄存器保存目标地址存储器间接寻址:用存储单元保存目标地址,目标地址目的地址转移地址,3.JMP指令,无条件转移:程序无条件改变执行顺序JMP指令相当于高级语言的goto语句JMP label;程序转向label标号指定的地址;段内相对寻址,段间直接寻址JMP reg32/reg16;程序转向寄存器指定的地址;寄存器间接寻址JMP mem48/mem32/mem16;程序转向存储单元指定的地址;存储器间接寻址,JMP指令的4种类型,1.段内转移、相对寻址标号指明目标地址,指令代码包含位移量2.段内转移、间接寻址通用寄存器或主存单元包含目标指令偏移地址3.段间转移、直接寻址标号包含目标指令的段地址和偏移地址4.段间转移、间接寻址32位段用3字存储单元包含目标地址16位段用双字存储单元包含目标地址,MASM会根据存储模式等信息自动识别,例4-3无条件转移程序1,;数据段00000000nvardw?000200000000fvardd?;代码段0010EB 01jmp labl1;相对寻址001290nop0013E9 0001labl1:jmp near ptr labl2;相对近转移001690nop,例4-3无条件转移程序2,0017B8 001D Rlabl2:mov ax,offset labl3001AFF E0 jmp ax;寄存器间接寻址001C90nop001DB8 0028 Rlabl3:mov ax,offset labl40020A3 0000 Rmov nvar,ax0023FF 26 0000 Rjmp nvar;存储器间接寻址,例4-3无条件转移程序3,002790nop0028EA-002E Rlabl4:jmp far ptr labl5002D90nop002EB8 0040 Rlabl5:mov ax,offset labl6,例4-3无条件转移程序4,0031A3 0002 Rmov word ptr fvar,ax0034BA-Rmov dx,seg labl6003789 16 0004mov word ptr fvar+2,dx003BFF 2E 0002 Rjmp fvar;段间转移、间接寻址003F90nop0040labl6:,16,4.2.2 条件转移指令,根据指定的条件确定程序是否发生转移Jcc label;条件满足,发生转移;否则,顺序执行下条指令LABEL表示目标地址,采用段内相对寻址32位IA-32处理器:达到32位的全偏移量16位80 x86处理器:-128+127间的短转移条件转移指令不影响标志,但要利用标志cc表示利用标志判断的条件,16种、两类单个标志状态作为条件两数大小关系作为条件,17,转移条件cc:单个标志状态,JZ/JEZF=1Jump if Zero/EqualJNZ/JNEZF=0Jump if Not Zero/Not EqualJSSF=1Jump if SignJNSSF=0Jump if Not SignJP/JPEPF=1Jump if Parity/Parity EvenJNP/JPOPF=0Jump if Not Parity/Parity OddJOOF=1Jump if OverflowJNOOF=0Jump if Not OverflowJCCF=1Jump if CarryJNCCF=0Jump if Not Carry,多个助记符方便记忆,18,转移条件cc:两数大小关系,JB/JNAECF=1Jump if Below/Not Above or EqualJNB/JAECF=0Jump if Not Below/Above or EqualJBE/JNACF=1或ZF=1Jump if Below/Not AboveJNBE/JACF=0且ZF=0Jump if Not Below or Equal/AboveJL/JNGESFOFJump if Less/Not Greater or EqualJNL/JGESF=OFJump if Not Less/Greater or EqualJLE/JNGZFOF或ZF=1Jump if Less or Equal/Not GreaterJNLE/JGSF=OF且ZF=0Jump if Not Less or Equal/Greater,19,1.单个标志状态作为条件的条件转移指令,JZ(JE)和JNZ(JNE):利用零位标志ZF判断结果是零(相等)还是非零(不等)JS和JNS:利用符号标志SF判断结果是负还是正JO和JNO:利用溢出标志OF判断结果是溢出还是没有溢出JP(JPE)和JNP(JPO):利用奇偶标志PF判断结果低字节“1”的个数是偶数还是奇数JC和JNC:利用进位标志CF判断结果是有进位(为1)还是无进位(为0),20,例4-4个数折半程序1,mov eax,885;假设一个数据shr eax,1;数据右移进行折半jnc goeven;余数为0,即CF0条件成立,转移add eax,1;否则余数为1,即CF1,进行加1操作goeven:call dispuid;显示结果,443,运行结果,21,例4-4个数折半程序2,mov eax,886;假设一个数据shr eax,1;数据右移进行折半jc goodd;余数为1,即CF1条件成立,转移jmp goeven;余数为0,即CF0无需处理,转移到显示!goodd:add eax,1;进行加1操作goeven:call dispuid;显示结果,22,例4-4个数折半程序3,mov eax,887;假设一个数据shr eax,1;数据右移进行折半adc eax,0;余数CF1,进行加1操作;余数CF0,没有加1call dispuid;显示结果,mov eax,888;假设一个数据add eax,1;个数加1rcr eax,1;数据右移进行折半call dispuid;显示结果,改进算法,消除分支,23,例4-5位测试程序1,;数据段no_msgdb Not Ready!,$yes_msgdb Ready to Go!,$;代码段mov eax,56h;假设一个数据test eax,02h;测试D1位(D11,其他位为0)jz nom;D10条件成立,转移mov eax,offset yes_msg;D11,显示准备好jmp done;跳转过另一个分支体!nom:mov dx,offset no_msg;显示没准备好done:mov ah,9int 21h,24,例4-5位测试程序2,;数据段no_msgdb Not Ready!,$yes_msgdb Ready to Go!,$;代码段mov eax,56h;假设一个数据test eax,02h;测试D1位(D11,其他位为0)jnz yesm;D11条件成立,转移mov eax,offset no_msg;D10,显示没准备好jmp done;跳转过另一个分支体!yesm:mov eax,offset yes_msg;显示准备好done:mov ah,9int 21h,25,例4-6奇校验程序,;数据段Tdatadb?;保存待发送数据的变量;代码段mov ah,1;1号功能int 21h;键盘输入and al,7fh;最高位置“0”、其他位不变,PF反映“1”的个数jnp next;个数为奇数,则转向NEXTor al,80h;最高位置“1”、其他位不变 next:mov Tdata,al;保存待发送的数据,26,2.两数大小关系作为条件的条件转移指令,无符号数用高(Above)、低(Below)低于(不高于等于):JB(JNAE)不低于(高于等于):JNB(JAE)低于等于(不高于):JBE(JNA)不低于等于(高于):JNBE(JA)有符号数用大(Greater)、小(Less)小于(不大于等于):JL(JNGE)不小于(大于等于):JNL(JGE)小于等于(不大于):JLE(JNG)不小于等于(大于):JNLE(JG),27,例4-7数据比较程序1,;数据段dvar1dd-3765dvar2dd 8930msg0db Equal$msg1db First$msg2db Second$;代码段mov eax,dvar1;取第1个数据cmp eax,dvar2;与第2个数据比较je equal;两数相等,转移,28,例4-7数据比较程序2,jnl first;第1个数据大,转移mov dx,offset msg2;第2个数据大jmp donefirst:mov dx,offset msg1jmp doneequal:mov dx,offset msg0done:mov ah,9;显示结果int 21h,29,4.2.3 单分支结构,只有一个分支的程序类似高级语言的IF-THEN语句结构注意采用正确的条件转移指令当条件满足(成立),发生转移,跳过分支体条件不满足,顺序向下执行分支体条件转移指令与高级语言的IF语句正好相反IF语句是条件成立,执行分支体,30,例题4-8求绝对值程序,;代码段mov eax,dvar;获得变量值cmp eax,0;比较EAX与0jge nonneg;条件满足:EAX0,转移neg eax;条件不满足:EAX0,为负数;需求补得正值nonneg:mov result,eax;分支结束,显示结果,示意图,31,单分支结构的流程图,返回,neg eax,32,例4-9字母判断程序,mov ah,1int 21h;输入一个字符,从AL返回值cmp al,A;与大写字母A比较jb done;比大写字母A小,不是大写字母,转移cmp al,Z;与大写字母Z比较ja done;比大写字母Z大,不是大写字母,转移or al,20h;转换为小写;显示小写字母done:,33,4.2.4 双分支结构,双分支程序结构有两个分支,条件为真执行一个分支;条件为假,执行另一个分支相当于高级语言的IF-THEN-ELSE语句顺序执行的分支体1最后一定要有一条JMP指令跳过分支体2JMP指令必不可少,实现结束前一个分支回到共同的出口作用双分支结构有时可以改变为单分支结构事先执行其中一个分支(选择出现概率较高的分支),34,例4-10显示数据最高位程序1,;数据段dvardd 0bd630422h;假设一个数据;代码段mov ebx,dvarshl ebx,1;EBX最高位移入CF标志jc one;CF1,即最高位为1,转移mov dl,0;CF0,即最高位为0:DL0jmp two;一定要跳过另一个分支one:mov dl,1;DL1two:mov ah,2int 21h;显示,双分支结构,示意图,35,双分支结构的流程图,返回,36,例4-10显示数据最高位程序2,;代码段mov ebx,dvarmov dl,0;假设最高位为0:AL0shl ebx,1;EBX最高位移入CF标志jnc two;CF0,即最高位为0,转移mov dl,1;CF1,即最高位为1,AL1two:mov ah,2int 21h;显示,单分支结构,37,例4-11有符号数运算溢出程序,;数据段dvar1dd 1234567890;假设两个数据dvar2dd-999999999dvar3dd?okmsgdb Correct!,$;正确信息errmsgdb ERROR!Overflow!,$;错误信息;代码段mov eax,dvar1 sub eax,dvar2;求差jo error;有溢出,转移mov dvar3,eax;无溢出,保存差值lea dx,okmsg;显示正确jmp disperror:lea dx,errmsg;显示错误disp:,38,4.2.5 多分支程序,实际问题存在多分支结构分支处理中又有分支具有多个分支走向利用单分支和双分支这两个基本结构,可以解决程序中多个分支结构的问题熟悉了汇编语言编程思想,还可以采用其他技巧性的方法解决实际问题,使用表结构实现多分支,39,例4-12地址表程序1,;数据段msg1db Chapter 1:Fundamentals,0dh,0ah,$;10个信息msgdb Input number(19):,0dh,0ah,$crlfdb 0dh,0ah,$;回车换行字符tabledw disp1,disp2,disp3,disp4,disp5dw disp6,disp7,disp8,disp9,1)提示输入数字,并输入数字;2)判断数字是否在规定的范围内,不在范围内、重新输入;3)显示数字对应的信息,退出。,40,例4-12地址表程序2,;代码段again:mov dx,offset msgmov ah,9int 21h;提示输入mov ah,1int 21h;接收输入:AL=数字的ASCII码push ax;暂时保存到堆栈mov dx,offset crlf;回车换行mov ah,9int 21hpop ax;恢复按键字符,41,例4-12地址表程序3,cmp al,1;判断范围jb againcmp al,9ja again;不在范围内,重新输入and ax,000fh;将ASCII码转换成数字 dec ax;AX=AX-1shl ax,1;乘以2(地址表以2个字节为单位)mov bx,axjmp tablebx;多分支跳转,42,例4-12地址表程序4,disp1:mov dx,offset msg1jmp dispdisp2:mov dx,offset msg2jmp dispdisp9:mov dx,offset msg9jmp dispdisp:mov ah,9int 21h;显示,43,例4-12地址表程序5,;数据段tabledw msg1,msg2,msg3,msg4,msg5dw msg6,msg7,msg8,msg9;代码段shl ax,1;乘以2mov bx,axmov dx,tablebx;获得信息字符串地址mov ah,9int 21h;显示,44,4.3 循环程序结构,三个部分组成:循环初始为开始循环准备必要的条件,如循环次数、循环体需要的初始值等;循环体重复执行的程序代码,其中包括对循环条件的修改等;循环控制判断循环条件是否成立,决定是否继续循环“先判断、后循环”的循环程序结构对应高级语言的WHILE语句“先循环、后判断”的循环程序结构对应高级语言的DO语句,示意图,45,循环程序结构的流程图,返回,46,4.3.1 循环指令,LOOP label;ECXECX1;若ECX0,循环到LABEL;否则,顺序执行JECXZ label;ECX0,转移;否则顺序执行目标地址采用相对短转移实地址存储模型使用CX作为计数器,47,例4-13数组求和程序,mov ecx,lengthof array;ECX数组元素个数xor eax,eax;求和初值为0mov ebx,eax;数组指针为0again:add eax,arrayebx*(type array);求和 inc ebx;指向下一个数组元素loop againmov sum,eax;保存结果,48,4.3.2 计数控制循环,通过次数控制循环利用LOOP指令属于计数控制常见是“先循环、后判断”循环结构计数可以减量进行,即减到0结束计数可以增量进行,即达到规定值结束,循环程序结构的关键是如何控制循环,49,例4-14求最大值程序1,;数据段arraydd-3,0,20,900,-56count=lengthof array;数组的元素个数maxdd?;存放最大值;代码段mov ecx,count-1;元素个数减1是循环次数mov esi,offset arraymov eax,esi;取出第一个元素给EAX,用于暂存最大值,50,例4-14求最大值程序2,again:add esi,4cmp eax,esi;与下一个数据比较jge next;已经是较大值,继续下一个循环比较mov eax,esi;EAX取得更大的数据next:loop again;计数循环mov max,eax;保存最大值,51,例4-15简单加密解密程序1,;数据段keydb 234bufferdb This is a secret.,$;待加密信息count=sizeof buffer-1msg1db Encrypted message:,$msg2db 13,10,Original messge:,$;代码段mov ecx,count;ECX循环次数xor ebx,ebx;EBX指向待处理的字符mov al,key;AL密钥,52,例4-15简单加密解密程序2,encrypt:xor bufferebx,al;异或加密inc ebx;指向下一个字符cmp ebx,ecxjb encrypt;不是最后,继续mov dx,offset msg1;显示提示信息mov ah,9int 21hmov dx,offset buffer;显示密文mov ah,9int 21h,53,例4-15简单加密解密程序3,xor ebx,ebx;EBX指向字符mov al,key;AL密钥decrypt:xor bufferebx,al;异或解密inc ebxdec ecxjnz decrypt;loop decryptmov dx,offset msg2mov ah,9int 21hmov dx,offset buffer;显示明文mov ah,9int 21h,54,4.3.3 条件控制循环,根据条件决定是否进行循环需要使用有条件转移指令实现多见“先判断、后循环”结构先行判断的条件控制循环程序很像双分支结构主要分支需要重复执行多次(JMP的目标位置是循环开始)另一个分支用于跳出这个循环先行循环的条件控制循环程序类似单分支结构,循环体就是分支体顺序执行就跳出循环,55,例4-16字符个数统计程序,;数据段stringdb Do you have fun with Assembly?,0;以0结尾的字符串;代码段xor ebx,ebx;EBX用于记录字符个数,也用于指向字符again:mov al,stringebxcmp al,0jz doneinc ebx;个数加1jmp again;继续循环done:;显示个数,56,例4-17斐波那契数列程序,mov eax,1;EAX=F(1)=1call dispuid;显示第1个数call dispcrlf;回车换行call dispuid;显示第2个数call dispcrlf;回车换行mov ebx,eax;EBX=F(2)=1again:add eax,ebx;EAX=F(N)=F(N-2)+F(N-1)jc donecall dispuid;显示一个数call dispcrlf;回车换行xchg eax,ebx;下次:EAX=F(N-2),EBX=F(N-1)jmp againdone:,F(N)=F(N-1)+F(N-2)N3,57,4.3.4 多重循环,实际的应用问题单纯的分支或循环结构循环体中具有分支结构分支体中采用循环结构循环体中嵌套有循环,即形成多重循环结构如果内外循环之间没有关系比较容易处理如果需要传递参数或利用相同的数据问题比较复杂,58,例4-18冒泡法排序程序,mov ecx,count;ECX数组元素个数dec ecx;元素个数减1为外循环次数outlp:mov edx,ecx;EDX内循环次数mov ebx,offset arrayinlp:mov eax,ebx;取前一个元素cmp eax,ebx+1;与后一个元素比较jng next;前一个不大于后一个,不交换xchg eax,ebx+1;否则,进行交换mov ebx,eaxnext:inc ebx;下一对元素dec edxjnz inlp;内循环尾loop outlp;外循环尾,示意图,59,冒泡法的排序过程,返回,比较遍数,从小到大排序,60,例4-19字符剔除程序1,mov esi,offset stringoutlp:cmp byte ptr esi,$;外循环,先判断后循环jz done;为0结束again:cmp byte ptr esi,;是否是空格jnz next;不是空格继续循环mov edi,esi;是空格,剔除分支inlp:inc edi;该分支是循环程序mov al,edi;前移一个位置mov edi-1,al,61,例4-19字符剔除程序2,cmp byte ptr edi,$;内循环,先循环后判断jnz inlp;内循环结束处jmp again;再次判断是否为空格(处理连续空格)next:inc esi;继续对后续字符进行判断处理jmp outlp;外循环结束处done:,62,4.3.5 串操作类指令,数据串(数组):以字节、字和双字为单位的多个数据存放在连续的主存区域中源操作数:允许段超越:DS:ESI目的操作数:不允许段超越:ES:EDI每执行一次串操作:ESI和EDI自动1/2/4以字节为单位(用B结尾)操作:地址指针1以字为单位(用W结尾)操作:地址指针2以双字为单位(用D结尾)操作:地址指针4DF0(执行CLD指令):地址指针增加()DF1(执行STD指令):地址指针减小(),63,1.串传送指令,MOVSB|MOVSW|MOVSD;串传送:ES:EDIDS:ESI;然后:ESIESI1/2/4,EDIEDI1/2/4STOSB|STOSW|STOSD;串存储:ES:EDIAL/AX/EAX;然后:EDIEDI1/2/4LODSB|LODSW|LODSD;串读取:AL/AX/EAXDS:ESI;然后:ESIESI1/2/4REP;执行一次串指令,ECX减1;直到ECX0,64,例4-20字符串复制程序1,;数据段 srcmsgdb Try your best,why not.$dstmsgdb sizeof srcmsg dup(?);代码段 start:mov ax,dsmov es,ax;附加段ESDSmov esi,offset srcmsg;ESI源串地址mov edi,offset dstmsg;ESI源串地址mov ecx,lengthof srcmsg;ECX串长度cld;地址增量传送,65,例4-20字符串复制程序2,rep movsb;重复字符串传送mov ah,9;显示字符串mov edx,offset dstmsgint 21h,66,例4-21直接清除屏幕程序,;代码段start:mov dx,0b800hmov es,dxmov di,0;设置ES:DIB800H0000Hmov cx,25*80;设置CX填充个数mov ax,0720h;设置AX填充内容cldrep stosw,67,2.串检测指令,CMPSB|CMPSW|CMPSD;串比较:DS:ESIES:EDI;然后:ESIESI1/2/4,EDIEDI1/2/4SCASB|SCASW|SCASD;串扫描:AL/AX/EAXES:EDI;然后:EDIEDI1/2/4REPE|REPZ;执行一次串指令,ECX减1;直到ECX0或ZF0REPNE|REPNZ;执行一次串指令,ECX减1;直到ECX0或ZF1,68,例4-22等长字符串比较程序,mov es,axmov ecx,sizeof string1mov esi,offset string1mov edi,offset string2cldrepz cmpsb;重复比较,不同或比较完jne found;发现不同字符,转移mov dl,Y;字符串相同,显示Yjmp donefound:mov dl,N;字符串不同,显示Ndone:,69,例4-23字符串查找程序1,mov edx,0 mov es,dxmov edi,edx;逻辑地址(ES:EDI=0:0)起始mov ecx,8000h;32KB主存空间cldagain1:mov edx,sizeof search;EDX=待查找字符串长度mov esi,offset search;ESI=待查找字符串地址lodsb;取出第一个待比较的字符AL=DS;ESI,ESI=ESI+1repnz scasb;重复扫描:ALES:EDI,EDI=EDI+1jecxz next;ECX=0,扫描到最后字符,转移,70,例4-23字符串查找程序2,mov ebx,edi;不是最后,保存第一个字符相同时的地址again2:dec edxjz found;比较完所有字符,查找到lodsb;比较下一个字符scasbjz again2;还相同,继续比较mov edi,ebx;不是完全相同,恢复第一个字符相同时的地址jmp again1;重新从第一个字符开始比较,71,例4-23字符串查找程序3,next:jnz nofound;最后一个字符不相同,没有查找到dec edxjz found;待查找内容只有一个字符,查找到nofound:mov dl,N;未查找到,显示Njmp donefound:mov dl,Y;查找到,显示Ydone:mov ah,2int 21h,第4章习题:程序结构,4.1 简答题(2、5、6、9、10)4.2 判断题(2、4、6、7、10)4.3 填空题(2、3、4、5、6)4.4、4.13、4.15、4.25、4.26、4.29,

    注意事项

    本文(《汇编教程》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开