微机原理和接口技术-第5章 汇编程序设计_11.pptVIP

微机原理和接口技术-第5章 汇编程序设计_11.ppt

  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章 汇编程序设计_11

第5章 汇编语言程序设计;主要内容:;什么是汇编语言源程序?;DATA SEGMENT ; 数据段 hello db Welcome to the world of assembler!$ DATA ENDS ; 数据段结束 CODE SEGMENT ; 代码段 assume cs:CODE, ds:DATA start: mov ax, data mov ds, ax mov dx, offset hello mov ah, 9 ; 显示$结尾的字符串 int 21h mov ah, 1 ; 等待按键 int 21h mov ah, 4ch ; 返回DOS int 21h CODE ENDS ; 代码段结束 END start ; 整个程序结束,指定程序入口点;什么是汇编程序?;5.1 汇编语句格式; [标识符/语句标号] 助记符 [操作数序列] [;注释] ;DATA SEGMENT ; 数据段 hello db Welcome to the world of assembler!$ DATA ENDS ; 数据段结束 CODE SEGMENT ; 代码段 assume cs:CODE, ds:DATA start: mov ax, data mov ds, ax mov dx, offset hello mov ah, 9 ; 显示$结尾的字符串 int 21h mov ah, 1 ; 等待按键 int 21h mov ah, 4ch ; 返回DOS int 21h CODE ENDS ; 代码段结束 END start ; 整个程序结束,指定程序入口点;主要内容:;5.7 汇编语言程序的上机过程 ;汇编语言上机过程;系统功能调用——由OS提供的一组实现特殊功能的子程序供程序员在程序中调用,以减轻编程工作量。 DOS操作系统中的系统功能调用有两种,一种称为DOS功能调用,另一种称为BIOS功能调用。 DOS中这些功能调用是以软中断的方式提供的。 DOS功能调用由INT 21H提供。 BOIS中的功能调用常用的有INT 10H,INT 16H,INT 13H等。;INT 2lH功能大致可以分为四个方面: 设备管理、目录管理、文件管理和其它。;【功能号01H】;例:程序中有时需要用户对提示做出应答。 GET_KEY: MOV AH,1 ;等待键入字符 INT 21H ;结果在AL中 AND AL,0DFH ;转大写 CMP AL,’Y’ ;是’Y’? JZ YES ;是,转YES CMP AL,’N’ ;是’N’? JZ NO ;是,转NO JMP GET_KEY ;否则继续等待输入 YES: … … NO: …;【功能号02 H】;【功能号05 H】;【功能号09 H】;例:在屏幕上显示:’HELLO,WORLD!’ ;在数据段定义字符串: DATA SEGMENT STR1 DB ‘HELLO,WORLD!$’ DATA ENDS ;在代码段中进行显示输出 MOV AH, 9 LEA DX, STR1 INT 21H ;【功能号0A H】;数据输入缓冲区的格式; 若用户键入的字符数(包括回车)≥定义的N1,本功能调用将不再接收新的键入,且光标不再向右移动。 例:设在数据段定义键盘缓冲区如下: STR1 DB 10,?,10 DUP(?) 调用DOS功能的0AH号功能的程序段为: LEA DX,STR1 MOV AH,0AH INT 21H 此程序段最多从键盘接收10个按键(包括回车)。;DATA?? SEGMENT String DB? 100, ?, 100 DUP(?) DATA??? ENDS? CODE? SEGMENT ??????? … … ?????? MOV? AX, DATA ?????? MOV? DS, AX ??????? … … ?????? LEA?? DX, String ??????

文档评论(0)

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

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

1亿VIP精品文档

相关文档