网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章 汇编语言及编程4 11-17~23.ppt

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

3.3 汇编语言编程环境 需求分析 根据需求和规模等因素划分功能模块 确定各功能模块的求解算法、并定义所需的数据结构(分配内存单元和寄存器),画程序流程图。 进行编程和调试 操作步骤: 1)在MS-DOS下,用Edit命令进入编辑状态,完成所编写程序的输入。 2)程序编写完成后,将文件保存为xx.asm,并退出编辑状态。 3)用masm命令对所编写的程序进行编译,格式如下: masm xx 回车 4)用link命令对所编写的程序进行连接,格式如下: link xx 回车 5)运行程序命令格式如下: xx 回车 3.4 DOS/BIOS功能调用 3.5 三种基本结构程序的设计 顺序结构 分支结构 循环结构 3.5.1 顺序结构程序设计 在实际应用中,完全采用顺序结构编写的完整程序很少见,但是在程序段中它却是大量的存在。所以掌握它是编写复杂应用程序的基础。 例1:编程实现两个字节变量相乘送字变量的程序,即C=A*B 例2:实现Z=X+Y,其中,X、Y、Z均是8位带符号数。 DATA SEGMENT ; 数据段 X DB 05H Y DB 04H Z DB ? DATA ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ; 数据段基址→AX MOV DS,AX ; AX →DS MOV AL,X ; 内存单元X的数据→AL ADD AL,Y ; 内存单元Y的数据+AL→AL, 即 X+Y →AL MOV Z, AL ; AL→内存单元Z, 即求和结果送回Z MOV AH,4CH ;送功能号 INT 21H ;系统功能调用,返回DOS操作系统 CODE ENDS END START 例3:试编制一程序,求出下列公式中Z的值,并将结果放在RESULT单元中(设能整除),其中,X,Y的值分别存放在VARX,VARY变量中,X,Y,Z均为16位带符号数。 DATA SEGMENT VARX DW 6 VARY DW 7 RESULT DW ? DATA ENDS STACK SEGMENT PARA STACK DW 20H DUP(0) STACK ENDS CODE SEGMENT ASSUMECS:CODE,SS:STACK,DS:DATA PROC1 PROC FAR START: PUSH DS MOV AX,0 PUSH AX 3.5.2 分支结构程序设计 实现:分支程序是利用条件指令,使程序执行到某一指令后,根据条件是否满足,来改变程序执行的顺序。这类程序使计算机有了判断作用。 分支程序的结构有三种形式: 参考程序1: 参考程序2: 例2:编写一个程序,从外设71号中取一个数M,判断其值是否在10H和20H之间。如果M≥20H,则送OFFH给外设73H;如果M10H,则送00H给外设73H;如果10H≤M20H,则送88H给外设73H 。 2止 ….. START : IN AL, 71H ;将71H端口的字节读入AL     CLC ;清除CF CMP AL, 10H ;AL与10H比较    JC LP1 ;小于10H转至LP1    CMP AL, 20H ;AL与20H比较    JC LP2 ;10H≤AL20H转到LP2 MOV BL, OFFH ;AL≥20H则 OFFH→BL

文档评论(0)

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

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

1亿VIP精品文档

相关文档