- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章汇编语言概要
五、 程序开始和结束语句 NAME、ORG、END 格式: NAME 程序名 功能: 为源程序目标模块赋名。 位置:放在程序开始。 2. ORG 1. NAME 表达式:给定的偏移地址值,表达式的值(必须是正整数)即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。 格式:ORG 表达式 功能: 为目标程序设置位置指针,指定下面语句的 起始偏移地址。 五、 程序开始和结束语句 格式: END 标号名 功能: 标记汇编源程序结束。 位置:放在源程序的最后一行。 3. END 标号名:该程序第一条可执行语句的标号名。 4.4 常用DOS系统功能调用和BIOS DOS系统调用 MS DOS使用中断号21H作为系统说明,为程序员提供了上百种系统服务功能。 (P516附录F) 对这些功能的调用步骤如下: (1)由AH给出功能号; (2)根据相应功能的要求,设置入口参数。入口参数是子程序运行所需要的数据,DOS系统功能调用的入口参数通常是放在指定的内部寄存器中,少数功能调用也可以没有入口参数; (3)执行中断指令INT 21H; (4)分析和使用出口参数。 4.4 常用DOS系统功能调用和BIOS 例:字符与字符串的输入/输出的调用方法 (1)键盘读入一个字符 功能号:01H。 入口参数:无。 出口参数:AL=输入字符的ASCII码。 功能:等待从键盘读入一个字符,将其ASCII码送入AL,同时将字符显示在屏幕上。 调用方法: MOV AH,1 INT 21H 说明:输入一个字符后,不需要回车。若只输入回车,则AL=0DH。 例:程序中有时需要用户对提示做出应答。 GET_KEY: MOV AH,1 ;等待键入字符 INT 21H ;结果在AL中 CMP AL,’Y’ ;是’Y’? JZ YES ;是,转YES CMP AL,’N’ ;是’N’? JZ NO ;是,转NO JMP GET_KEY ;否则继续等待输入 YES: … … NO: … (2)显示一个字符 功能号:02H。 入口参数:DL=要显示字符的ASCII码。 出口参数:无。 4.4 常用DOS系统功能调用和BIOS 功能:在当前光标位置显示DL中的字符,光标右移。 调用方法示例: MOV DL,‘A’ ;显示字符’A’ MOV AH,2 INT 21H (3)显示一个字符串 功能号:09H。 入口参数:DS:DX=欲显示字符串在内存的首地址,且字符串必须以‘$’(24H) 作为结束符。 出口参数:无。 4.4 常用DOS系统功能调用和BIOS 功能:在当前光标位置,显示由DS:DX所指的、以‘$’结尾的字符串,且光标右移。其中,‘$’不算在显示的字符串之内。 例:在屏幕上显示:’HELLO,WORLD!’ ;在数据段定义字符串: DATA SEGMENT STR1 DB ‘HELLO,WORLD!$’ DATA ENDS ;在代码段中进行显示输出 MOV AH,9 LEA DX,STR1 INT 21H (4)从键盘读入一个字符串 功能号:0AH。 入口参数:DS:DX=输入缓冲区首地址。 出口参数:无。 功能:从键盘读入一个字符串,存放DS:DX所指的 缓冲区。 4.4 常用DOS系统功能调用和BIOS MOV AH, 0AH LEA DX, 字符串缓冲区首地址 INT 21H (预留的N1个字节的存储单元) 0DH N2 N1 N1: 缓冲区长度(最大键入字符数) N2: 实际键入的字符数(不包括回车符) 用户定义的输入字符串的缓冲区格式 若用户键入的字符数(包括回车符)大于定义的N1, 本功能调用将不再接收新的键入,且光标不再向右移动。 例4.48 (5)异步通讯 功能号:03H、04H。 入口参数:03H无;04H为输出的8位数据在DL中。 出口参数:04H无;03H为输入的8位数据在AL中。 4.4 常用DOS系统功能调用和BIOS 03H:从标准异步通讯端口输入一个字符,并将该字符放入AL寄存器。 功能: 04H: 将DL寄存器中的一个
文档评论(0)