第51章汇编语言程序设计.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文档。上传文档
查看更多

第5章汇编语言程序设计;5.1概述;5.1.1汇编语言程序设计的一般步骤;5.1.2流程图;(2)判断框;(5)指向线;5.2顺序程序设计;设计思路一:

(1)设公式中出现的三个变量X、Y、Z是8位带符号数;

(2)用算术运算指令实现加减乘除运算;

(3)指令顺序按照运算顺序书写。;程序段:

MOVAL,X ;AL←X

ADDAL,Y ;AL←X+Y加法

MOVBL,8 ;BL←8

IMULBL ;AX←AL×8乘法

MOVBL,X ;BL←X

MOVBH,0 ;BH←0

SUBAX,BX ;AX←AX-X减法

MOVBL,2 ;BL←2

IDIVBL ;AX÷2除法,商在 AL,余数在AH中

MOVZ,AL ;Z←商

MOVZ1,AH ;Z1←余数;设计思路二:

(1)公式中出现的三个变量X、Y、Z是带符号数,在数据段中定义;

(2)用算术运算指令实现加减运算;

(3)将操作数左移3位二进制位数代替乘以8运算,操作数右移1位相当于除以2;

(4)指令在代码段中,指令顺序按照运算顺序书写。

;

DATASEGMENT;数据段定义伪指令

XDW4 ;定义X为字单元,值为4

YDW5

ZDW? ;定义Z为空单元

DATAENDS ;数据段结束

;CODESEGMENT ;代码段定义伪指令

ASSUMECS:CODE,DS:DATA;指定段寄存器与对应段名

START:MOVAX,DATA

MOVDS,AX ;将数据段段地址送入DS

MOVBX,X

MOVAX,Y

ADDAX,BX ;加法

MOVCL,3

SALAX,CL ;算术左移3次,相当于乘以8

SUBAX,X ;减法

SARAX,1 ;算术右移1次,相当于除以2

MOVZ,AX

MOVAH,4CH ;此两句为结束程序,返回DOS

INT21H

CODEENDS ;代码段结束

ENDSTART ;整个程序结束伪指令

;5.3分支程序设计;5.3.1用条件转移指令实现程序分支;图5.2分支运算程序流程图;DATA SEGMENT

X DB-10

Y DB?

DATA ENDS

STACK SEGMENTSTACK

DB200DUP(0)

STACK ENDS

CODE SEGMENT

ASSUMEDS:DATA,SS:STACK,CS:CODE

START: MOV AX,DATA;MOV DS,AX

CMP X,0 ;与0进行比较

JGE A1 ;X≥0转A1

MOV Y,-1 ;X<0时,-1→Y

JMP EXIT

A1:JG A2 ;X>0转A2

MOV Y,0 ;X=0时,0→Y

JMP EXIT

A2:MOV Y,1 ;X>0,1→Y

EXIT:MOV AH,4CH

INT 21H

CODEENDS

END START;MOV DS,AX

CMP X,0 ;与0进行比较

JGE A1 ;X≥0转A1

MOV Y,-1 ;X<0时,-1→Y

JMP EXIT

A1:JG A2 ;X>0转A2

MOV Y,0 ;X=0时,0→Y

JMP EXIT

A2:MOV Y,1 ;X>0,1→Y

EXIT:MOV AH,4CH

INT 21H

CODEENDS

END START;【例5.4】试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。

设三个带符号数分别在三个字变量X、Y、Z中存储。程序流程图如图5.3所示;图5.3[例

文档评论(0)

188****1741 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档