第四章 汇编语言设计 第二讲.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 汇编语言设计 第二讲

4.4 汇编语言程序设计基础 4.4.1 概述 1.汇编语言程序设计的步骤: 1-根据实际问题抽象出数学模型,确定算法 2-画出程序框图(流程图) 3-分配内存工作单元和寄存器 4-根据框图编写源程序,存成.ASM文件 5-对源程序汇编,生成.OBJ目标文件 6-把.OBJ文件连接成.EXE执行文件 7-运行、调试 2.源程序的基本结构:顺序、分支、循环、过程 (1)用方框表示工作框,框中用简明语言标明要完成的功能 (4)各框之间用直线连起来表示程序走向。 汇编语言上机过程 4.4.2 顺序程序 例 1:用查表法计算平方值。0 ~ 9的平方值连续存在以SQTAB开始的存储区中,求SUR单元内容X的平方值,并放在DIS单元中。假定0≤X≤ 9且为整数。 分析:建立平方表,通过查表完成。 STACK SEGMENT DB 100 DUP(?) STACK ENDS DATA SEGMENT SUR DB ? DIS DB ? SQTAB DB 0,1,4,9,16,25,36,49,64,81 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA BEGIN:PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX LEA BX,SQTAB MOV AL,SUR XLAT MOV DIS, AL CODE ENDS END BEGIN 4.4.3 分支程序 例2 试编写程序段,实现符号函数。 分析:变量X的符号函数可表示为: 1 X0 Y= 0 X=0 -1 X0 程序可通过对符号标志的判别来确定执行哪一分支。 START:MOV AX,BUFFER ;(BUFFER)=X OR AX,AX JE ZERO ;X=0,则转ZERO JNS PLUS ;X为正数,则转PLUS MOV BX,0FFFFH ;X为负数,则-1送BX JMP CONT1 ZERO:MOV BX,0 JMP CONT1 PLUS:MOV BX,1 CONT1: …… 4.4.4 循环程序 循环程序是经常遇到的程序结构,循环结构通常由以下几个部分组成。 1、循环初始化部分。进行地址指针、循环次数及标志设置,相关寄存器清零等操作。 2、循环体。重复执行的程序段部分。 3、循环控制部分。修改并判断控制循环的条件是否满足,决定是否继续循环。 4、循环结束部分。保存循环运行结果等。 1.DO…UNTIL条件 结构 先执行,再判断条件。工作部分至少执行一次。 2. DO WHILE条件 结构 先判断条件,再执行。工作部分有可能一次都不执行。 例 3 在给定个数的16位数串中,找出大于零、等于零和小于零的个数,紧跟原串存放。 分析:统计问题,设定三个计数器统计结果。 DATA SEGMENT BUFF DW X1,X2,X3,……,Xn COUNT EQU $-BUFF PLUSE DB ? ZERO DB ? MINUS DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ASSUME ES:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV CX,COUNT SHR CX,1 MOV DX,0 ;设定计数器初值 MOV AX,0 ;设定计数器初值 LEA BX,BUFF AGAIN: CMP WORD PTR[BX],0 JAE PLU ;大于等于0,则转PIU INC AH ;0,则统计 JMP NEXT PLU: JZ ZER ;=0,则转ZER INC DL ;0,则统计 JMP NEXT ZER: INC DH ;=0,则统计 NEXT:INC BX

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档