4_基本语言设计辩析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章基本汇编语言程序设计 第四章 基本汇编语言程序设计 4.1 顺序程序设计 4.2 分支程序设计 4.3 循环程序设计 4.4 子程序设计 4.4.1 过程定义伪指令 4.4.2 子程序的参数传递 4.4.3 子程序的嵌套、递归与重入 4.4.4 子程序的应用 本章要点及习题分析 4.1顺序程序设计(e) 4.1 顺序程序设计 指令按程序中的书写顺序逐条执行,称为顺序程序。除非编程解决非常简单的问题,顺序程序并不多见,但是顺序程序往往是复杂程序结构的一部分,如分支结构的一个分支,循环结构的循环体等。 例4.1 例4.1:设有3个字变量x,y和z,求出三者之和,结果存入字变量w。 .model small .startup .stack mov ax,x .data add ax,y X dw 5 add ax,z Y dw 6 mov w,ax Z dw 7 .exit 0 W dw ? end .code 例4.2/1 例4.2 设有一个64位数据,将它整个左移8位。 例4.2/2 .model small .stack .data Qvar dq 1234567887654321h .code mov al,byte ptr qvar[6] mov byte ptr qvar[7],al mov al,byte ptr qvar[5] mov byte ptr qvar[6],al mov al,byte ptr qvar[4] mov byte ptr qvar[5],al mov al,byte ptr qvar[3] mov byte ptr qvar[4],al 例4.2/3 mov al,byte ptr qvar[2] mov byte ptr qvar[3],al mov al,byte ptr qvar[1] mov byte ptr qvar[2],al mov al,byte ptr qvar[0] mov byte ptr qvar[1],al mov byte ptr qvar[0],0 4.2分支程序设计 4.2 分支程序设计 条件转移指令Jcc和无条件转移指令JMP用于实现程序的分支结构,JMP不测试条件,Jcc可根据条件是否成立决定转移到指定位置或不转移而顺序执行后续指令。由于Jcc不支持条件表达式,而是以当前标志位的状态为条件,故Jcc之前一定要安排设置标志位的指令,如加减法、比较、测试等指令。基本分支类型分为单分支和双分支。 单分支 单分支 双分支 2.双分支程序 双分支 双分支举例:显示BX的最高位。 shl bx,1 jc one ;转分支体 mov dl,’0’ ;分支体1 jmp next ;转后续操作 One: mov dl,’1’ ;分支体2 next: mov ah,2 ;后续操作 int 21h 3.分支程序的其他问题 ⑴有些双分支问题可以先假设一种情况,把双分 支改成单分支问题。如上例,先假设BX最高位为0, 在分支外准备显示0;如最高位为0,即可直接跳到后 续操作;如最高位为1才需要执行分支体。⑵⑶ 多分支 ⑵分支的嵌套形成多分支,嵌套形式多种多样。 例1:求符号函数 1 当 X0 Y= 0 当 X=0 -1 当 X0 多分支 例2:判断AL各位的值,D0=1,转移到L0;D1=1,转移到L1;D2=1,转移到L2…… 多分支 例4.4 使用地址表实现多分支。8个分支的标号分别为disp1,disp2… 在代码段有: disp1:mov dx,… disp2:mov … 设disp1的偏移地址为2300h,disp2的偏移地址为2500h……。 在数据段有: tabel dw disp1,disp2,… 多分支(e) 转入分支:按输入的数字转入不同分支 ①按输入的数字求出分支相对tabel的偏移量:disp1为0,disp2为2,disp3为4…,如输入数字2,则偏移量为(2-1)×2=2,将求出的偏移量存入bx。 ②执行指令jmp tabel[bx],设bx=02 则IP← [tabel+bx]

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档