第讲 宏汇编语言程序设计.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第讲 宏汇编语言程序设计

第07讲 伪指令与汇编语言程序设计 例:假设有多项式形如: f(X)=5X3+4X2—3X+2 要求编制程序计算自变量X=5时函数f(X)的值。 f(X)=((5X+4)X—3)X+2 ┆ MOV AX,5 MUL X ;5* X ADD AX,4 ;5* X+4 MUL X ;(5*X+4)X SUB AX,3 ;(5*X+4)X-3 MUL X ;((5*X+4)X-3)X ADD AX,2 ;((5*X+4)X-3)X+2 MOV RESULT,AX ;保存运算结果 ┆ 根据不同条件转向不同程序段执行的程序称为分支程序。 一般来说,它经常是先用比较指令或数据操作及位检测指令等来改变标志寄存器相关标志位,然后用条件转移指令进行判断转移。 分支程序可以有两种形式:简单分支结构和多分支结构。 例: 在A和B单元各有一个8位无符号数,要求比较这两个无符号数,并根据比较结果在屏幕上显示 A>B 或者 B>A(假设这两个数不相等) 多分支结构是有若干个条件,每一个条件对应一个基本操作。分支程序就是判断产生的条件,哪个条件成立,就执行哪个条件对应操作的程序段。也就是说,从若干分支中选择一个分支执行。 ①.单循环程序设计 例:编写程序完成求1+2+3+……N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。流程图如下图所示。 例: 在以BUF为首址的字存储区中存放有N个有符号数,现需将它们按大到小的顺序排列在BUF存储区中,试编写其程序。 数 10 8 16 90 32 第一遍 10 16 90 32 8 第二遍 16 90 32 10 8 第三遍 90 32 16 10 8 程序流程图如图所示: 调用子程序的程序称为主调程序或主程序。子程序调用与返回由CALL和RET指令实现。子程序调用方式有近程调用、远程调用、直接调用和间接调用。 ①现场保护和恢复 DATA SEGMENT LIST DB 16,48,? DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 256 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA , SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX, STACK MOV SS, AX CALL ADSUB ;二数相加并存放结果 CALL OUTPR ;显示结果 MOV AH,4CH INT 21H ;返回DOS ADSUB PROC MOV AL,LIST ;取数送AL ADD AL,LIST+1 ;二数相加 MOV LIST+2,AL ;存结果 RET ADSUB ENDP OUTPR PROC MOV AL,LIST+2 ;取数送AL MOV AH,0 ;AH清零 MOV BL,10 DIV BL MOV DL,AL ;高位送DL MOV BH,AH ;低位送BH保存 CALL DISPL ;显示高位 MOV DL,BH CALL DISPL ;显示低位 RET OUTPR ENDP CODE E

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档