第03章 汇编语言程序设计1_顺序结构程序设计.pptVIP

第03章 汇编语言程序设计1_顺序结构程序设计.ppt

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

顺序结构程序设计 汇编语言的特点 汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数 利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序 在有些应用领域,汇编语言的作用是不容置疑和无可替代的 汇编程序设计的过程与其他高级语言程序设计大致相同 顺序程序设计 没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序 顺序结构是最基本的程序结构 完全采用顺序结构编写的程序并不多见 例1:数据段 ;数据段 ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;对应0 ~ 9的ASCII码 db 41h,42h,43h,44h,45h,46h ;对应A ~ F的ASCII码 hex db 04h,0bh ;假设两个数据 例1:代码段 ;代码段 mov bx,offset ASCII ;BX指向ASCII码表 mov al,hex ;AL取得一位16进制数 ;恰好就是ASCII码表中的位移 and al,0fh ;只有低4位是有效的,高4位清0 xlat ;换码:AL←DS:[BX+AL] 例1:代码段(续) mov dl,al ;入口参数:DL←AL mov ah,2 ;02号DOS功能调用 int 21h ;显示一个ASCII码字符 mov al,hex+1 ;转换并显示下一个数据 and al,0fh xlat mov dl,al mov ah,2 int 21h 顺序结构程序举例 例2、计算y=-x。设x为三个字节长的数据,存于DATA1开始的单元。结果存入DATA2开始的单元。 设置堆栈指针 MOV SP,SIZE STK MOV AL,DATA1 MOV AH,DATA1+1 MOV BL,DATA1+2 NEG AL CMC NOT AH ADC AH,0 NOT BL ADC BL,0 MOV DATA2,AL MOV DATA2+1,AH MOV DATA2+2,BL MOV AX,4C00H INT 21H CSEG ENDS END MBNEG [例3]设内存DATA单元存放一个无符号字节数据,编制程序将其拆成两位16进制数,并存入HEX和HEX+1单元的低4位,HEX存放高位16进制数,HEX+1单元存放低位16进制数。 设置堆栈指针 MOV SP,SIZE STK MOV AL,DATA MOV AH,AL AND AL,0F0H MOV CL,04 SHR AL,CL MOV HEX,AL AND AH,0FH MOV HEX+1,AH MOV AX,4C00H INT 21H CSEG ENDS END DISC 参考资料 简化段定义的源程序格式 .model small ;小型模式存储模式 .stack ; 1KB空间堆栈段 .data ;数据段 …… ;数据定义 .code ;代码段 start: mov ax,@data ;起始点 mov ds,ax ;设置DS …… ;程序代码 mov ax,4c00h int 21h ;结束点,返回DOS …… ;子程序代码 end start ;汇编结束 存储模式 *大连海事大学计算机科学与技术学院 * * Dalian Maritime University. *大连海事大学计算机科学与技术学院 * * Dalian Maritime University. 例题1:顺序程序设计实例 采用查表法,实现一位16进制数 转换为ASCII码显示 分析:数以补码存储,已知[x]补,求[-x]补,对三字节数据无法直接运用求补指令NEG,可应用对原数据包括符号位在内取反加1的办法。 又知使用NEG指令对一个字节数据取补时,若数据非0,则CF=1 则该操作可分以下几步完成: 最低字节取补; 进位取反; 中间字节取反的结果加进位; 高字节取反的结果加进位。 SSEG SEGMENT STACK STK DB 20 DUP(0) SSEG ENDS DSEG SEGMENT DATA1 DB 35H,26H,03H DATA2 DB 3 DUP(0) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG ASSUME SS:SSEG MBNEG: MOV AX,DSEG MOV DS,A

文档评论(0)

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

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

1亿VIP精品文档

相关文档