- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言 第四章 模块化程序设计 2
* 4.2 系统功能调用 系统功能调用目前分为:基本输入输出子程序层功能(BIOS) 模块、DOS层功能模块和Windows层功能调用。 4.2.1 BIOS层功能模块的调用 其调用子程序时需完成下列3步: 第一,置入口参数; 第二,选功能号于AH中; 第三,使用“INT 中断号”语句调用。 1. BIOS中的键盘输入 在BIOS系统中,提供了中断16H来实现键盘输入功能,其具体 的功能如下: 00H——从键盘读一个字符,输入字符不回显。 01H——判断键盘缓冲区内是否有字符可读。 02H——读取当前键盘状态字。 2. BIOS中的屏幕输出 BIOS系统提供了中断10H来实现各种屏幕处理功能。其具体 的功能如下: 例如在显示器上显示一个字符需完成以下3步: 第一,入口参数:AL?需显示字符的ASCII码,BH ?页号, BL ?字符的显示属性。 第二,AH?09H; 第三,INT 10H 0FH—读取显示器模式 0DH—读图形象素 0CH—写图形象素 0AH—在当前光标处显示字符 09H—在当前光标处按指定属性显示字符 08H—读光标处的字符及其属性 06H、(07H)—向上滚屏和(向下滚屏) 05H—设置显示页 03H—读取光标信息 02H—设置光标位置 01H—设置光标形状 00H—设置显示器模式 4.2.2 DOS层功能调用 DOS层的功能模块在系统盘中,系统启动时被装入内存。 在DOS下,其调用子程序时需完成下列3步: 第一,置入口参数; 第二,选功能号于AH中; 第三,通常使用“INT 21H”语句调用。 DOS中的键盘输入 INT 21H中的相关功能如下: 0CH——清除输入缓冲区的输入功能 0BH——检查键盘有无输入 0AH——键盘输入字符串 08H——不回显的键盘输入 06H——控制台的输入/输出:当DL=0FFH,表示键盘输入 01H——带回显的键盘输入 例如带回显的键入单个字符的功能调用,需完成以下3步: 第一,选功能号于AH中; 第二,入口参数:无; 第三,通常使用“INT 21H”语句调用。 执行完成后,用户可从AL取出输入字符的ASCII码。 又如键入字符串功能调用,需完成以下3步: 第一,功能号:AH?0AH; 第二,入口参数:DS:DX?存储键入字符串的首地址, (DS:DX)=允许键入字符的个数; 第三,中断指令:INT 21H。 2. DOS中的显示器输出 INT 21H中的相关功能如下: 02H—显示单个字符 06H—控制台的输入/输出:当DL≠0FFH,表示显示字符 09H—在屏幕上显示一个字符串 例如显示单个字符,需完成以下3步: 第一,功能号:AH?02H; 第二,入口参数:DL?要显示字符的ASCII码; 第三,INT 21H 执行完成后,屏幕上就会显示出该字符。 又如显示一个字符串,需完成以下3步: 第一,功能号:AH?09H; 第二,入口参数:DS:DX?字符串首地址,字符串是以“$”结束; 第三,INT 21H 例4-3 用键盘最多输入10个字符,并存入内存变量Buff中,若按 “Enter”键,则表示输入结束。 4.2.3 WINDOWS层功能模块调用 Win32程序是构筑在Win32 API基础上的。Win32 的系统功能 模块放在Windows 的动态链接库(DLL)中,DLL 是一种Windows 的可执行文件。 Win32 API 的核心由3 个DLL 提供,它们是: KERNEL32.DLL—系统服务功能。 GDI32.DLL—图形设备接口。 USER32.DLL—用户接口服务。 1. API函数调用 和在DOS 中用中断方式调用系统功能一样,用API 方式调用存 放在DLL 中的函数必须同样约定一个规范。Win32 API 是用堆栈来 传递参数的,调用者把参数一个个压入堆栈,DLL 中的函数程序再 从堆栈中取出参数处理,并在返回之前将堆栈中已经无用的参数丢 弃。 先来看消息框函数的声明: int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style); 最后还有一句说明: Library: Use User32.lib 用汇编语言说明如
您可能关注的文档
- 水循环Ciclo del agua.pptx
- 水彩画及油画配.ppt
- 水文与水资源 刘建祥.ppt
- 水循环实验规律介绍宋闰柳.ppt
- 水文地质学基础--第八章_地下水资源评价.ppt
- 水文地质学基础--第六章_地下水运动与动态.ppt
- 水文地质学基础--第三章_地质构造.ppt
- 水文地质学基础--第二章_岩石学.ppt
- 水文学 沈阳生态所 --- 张新建.ppt
- 水文地质学基础--第四章_自然地质作用.ppt
- 中国国家标准 GB 42125.11-2025测量、控制和实验室用电气设备的安全要求 第11部分:用于处理医用材料的灭菌器和清洗消毒器的特殊要求.pdf
- 《GB 42125.11-2025测量、控制和实验室用电气设备的安全要求 第11部分:用于处理医用材料的灭菌器和清洗消毒器的特殊要求》.pdf
- 《GB/T 15237-2025术语工作及术语科学 词汇》.pdf
- GB/T 15237-2025术语工作及术语科学 词汇.pdf
- GB/T 22454-2025企业建模与体系结构 企业建模构件.pdf
- 中国国家标准 GB/T 15237-2025术语工作及术语科学 词汇.pdf
- 中国国家标准 GB/T 22454-2025企业建模与体系结构 企业建模构件.pdf
- 《GB/T 22454-2025企业建模与体系结构 企业建模构件》.pdf
- 中国国家标准 GB/T 18910.64-2025液晶显示器件 第6-4部分:测试方法 带动态背光的液晶显示模块.pdf
- 《GB/T 18910.64-2025液晶显示器件 第6-4部分:测试方法 带动态背光的液晶显示模块》.pdf
文档评论(0)