第4章_2 汇编语言程序设计(顺序分支).ppt

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

4.3实地址方式下的汇编语言程序设计 程序设计的一般步骤 1)分析问题——问题性质、目的、已知数据、精度要求及速度要求等。选择合适的解决方法 2)确定算法——确定求解步骤和方法,输入、出数据的格式等。 3)分配存贮区——程序和数据的内存分配,存入方式。 4)绘制流程图——形象化描述程序算法。 5)根据流程图编程——简单明了,层次清晰,运算迅速。 6)上机调试程序。 4.3 实地址方式下的汇编语言程序设计 顺序结构程序——简单程序结构;无分支、无循环、无转移程序。 例、用字节加法,对两个16位数做加法运算。这两个数从地址3000H:0050H开绐连续存放。 程序清单如下:在DEBUG下进行。 MOV AX,3000H MOV DS,AX MOV SI,0050H ;被加数指针 MOV DI,0052H ;加数指针 MOV BX,54H ;和的指针 MOV AL,[SI] ;取被加数低8位 ADD AL,[DI] ;低位相加 INC SI ;修改指针 INC DI MOV AH,[SI] ;取被加数高8位 ADC AH,[DI] ;高位相加 MOV [BX],AX ;保存运算结果 INT 20H ;结束 3000:0050 DB 34H 3000:0051 DB 12H 3000:0052 DB 78H 3000:0053 DB 56H 起 始 终 止 保存运算结果 AH=高8位相加 AH=被加数高8位 AL=低8位相加 AL=被加数低8位 SI=50H,DI=52H,BX=54H DS=3000H DEBUG演示 4.3实地址方式下的汇编语言程序设计 例、编写计算f=(V-(X*Y+Z-500))/X的程序。X、Y、Z、V均为有符号16 位二进制数。 DATA SEGMENT X DW 0100H Y DW 01ABH Z DW -2100H V DW 6200H F DW ?, ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,X IMUL Y ;DX:AX=X*Y ADD AX,Z ADC DX,0 ;DX:AX=X*Y+Z SUB AX,500H SBB DX,0 ;DX:AX=( ) 此处注意进位和借位的处理方法。 MOV BX,AX MOV CX,DX ;保存中间结果 MOV AX,V CWD ;DX:AX=V SUB AX,BX SBB DX,CX ;DX:AX=((V-( )) IDIV X MOV AH, 4CH INT 21H CODE ENDS END START MOV F,AX ;保存商 MOV F+2,DX ;保存余数 演示EXE1.ASM 4.3实地址方式下的汇编语言程序设计 P180 例4.7、用查表方法将一位十六进制数转换成与它对应的ASCII码。 DATA SEGMENT TABLE DB 30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H,41H,42H DB 43H,44H,45H,46H HEX DB 4 ASCI DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET TABLE MOV AH,0 MOV AL,HEX ADD BX,AX MOV AL,[BX] MOV ASCI,AL MOV AH, 4CH INT 21H CODE ENDS END START MOV AL,HEX XLAT 4.3实地址方式下的汇编语言程序设计 分支结构程序 分支程序是利用条件转移指令,使程序执行到某一指令后,根据运算状态标志条件是否满足,来改变程序执行的次序。分支程序的结构如图所示。 条件 程序段1 程序段2 Y N Y= 1当X0 (-128≤x ≤127) 0当X=0 -1当X0 例1 符号函数 4.3实地址方式下的汇编语言程序设计 分支结构程序 Y= 1当X0 (-128≤x ≤127) 0当X=0 -1当X0 例1 符号函数 起 始 取数 终 止 保存结果 Y=FFH=-1 Y=0 Y=1 X=0? Y N X0? Y N MOV AL,XX CMP AL,0 JG BIGR JE EQUL MOV AL,0FFH ;x0 MOV YY,AL HLT BIGR:

文档评论(0)

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

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

1亿VIP精品文档

相关文档