- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3 汇编语言程序设计基本方法 4.3.1 程序设计概述 1、汇编语言程序设计的一般步骤: (1) 分析题意,确定算法 (2) 根据算法画出程序框图 (3) 根据框图编写程序 (4) 上机调试程序 汇编语言程序的上机过程 1、用文字编辑工具( EDIT或记事本)将源程序输入,其扩展名为.ASM。 2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3、用LINK将.OBJ文件连接成可执行的.EXE文件。 4、在DOS状态下运行产生的. EXE文件。 5、若程序本身在屏幕上无显示或未出现预期结果,用DEBUG查看程序结果或者调试程序。 6、如果修改了源程序,则必须重新进行汇编、连接,运行。 程序运行步骤及生成的文件 汇编程序功能 4.3.1 程序设计概述 2、几个关键点 (1)数据(原始数据)输入方式 ①用数据定义伪指令提供数据 ②用立即数的形式提供数据 ③用键盘提供数据 (2)数据(运算结果)输出方式 ①用数据定义伪指令预留存储单元, ②在显示器上显示输出, (3)返回DOS的方式 3、汇编语言程序的基本结构 4.3.2 顺序结构程序设计 顺序结构是一种最简单最基本的程序结构。 在汇编语言中,顺序结构的程序主要由数据传送、算术运算或者逻辑运算等指令组合而成。 程序实行时,一直线方式一条接着一条指令顺序执行。 顺序结构程序设计举例1 编写一个完整的汇编语言源程序,要求把数据段D_SEG中的NUM1和NUM2相加,并把结果存放在SUM中。其中NUM1,NUM2和SUM均为字变量,NUM1赋值为1234H,NUM2赋值为5678H。(代码段段名用C_SEG)。 参考答案 D_SEG SEGMENT NUM1 DW 1234H NUM2 DW 5678H SUM DW ? D_SEG ENDS C_SEG SEGMENT ASSUME CS:C_SEG,DS:D_SEG START: MOV AX,D_SEG MOV DS,AX 参考答案 MOV AX,NUM1 ADD AX,NUM2 MOV SUM,AX MOV AX,4C00H INT 21H C_SEG ENDS END START 顺序结构程序设计举例2 题目:双字长数相加 分析:利用16位加法指令分两次分别做高16位和低16位的加法运算。 程序: DATA SEGMENT NUM1 DW 0F271H, 5B68H NUM2 DW 5698H,0AC6DH SUM DW ?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,NUM1 ADD AX,NUM2 MOV SUM,AX MOV AX,NUM1+2 ADC AX,NUM2+2 MOV SUM+2,AX MOV AX,4C00H INT 21H CODE ENDS END START 4.3.3 分支结构程序设计 分支程序根据条件的不同作不同的处理 判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志 转移指令Jcc和JMP可以实现分支控制 分支结构程序流程 分支程序的结构形式(二) 分支结构:两分支,判断正负 在NUM字节单元中有一个有符号数,判断其正负,如果为负数,则把“-”存入DL中,否则把“+”存入DL中 DATA SEGMENT NUM DB -1 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX 分支结构:两分支,判断正负 CMP NUM,0 JNS NEXT MOV DL,’-’ JMP EXIT NEXT: MOV DL,’+’ EXIT: MOV AX,4C00H
文档评论(0)