- 1、本文档共163页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言与汇编程序2课件
IBUF DB 5,0,5 DUP(0) SW DW 0 MOV DX,OFFSET IBUF MOV AH,10 INT 21H MOV AX,WORD PTR IBUF+4 例3 键入4位十进制数,以压缩BCD数形式存入字变量SW单元中 7.5.2 常用系统功能调用应用举例 AND AH,0FH MOV CL,4 SHL AL,CL OR AL,AH MOV BYTE PTR SW,AL MOV AX,WORD PTR IBUF+2 AND AH,0FH SHL AL,CL OR AL,AH MOV BYTE PTR SW+1,AL 7.5.2 常用系统功能调用应用举例 7.5.3 BIOS BIOS软中断服务程序依功能分为两种,一种为系统 服务程序,另一种为设备驱动程序。本书介绍中断 类型号为10H、16H和17H的显示器、键盘和打印机 的服务程序。调BIOS程序类同于DOS系统功能调用 ,先将功能号送AH,并按约定设置人口参数,然后 用软中断指令INT N实现调用。 1.键盘服务程序 键盘服务程序的中断类型码为16H,用INT 16H调用 。软中断INT 16H服务程序有3个功能,功能号为O~ 2,功能号及出口参数如表7-4所示 表7-4 INT 16H的功能 功能号 功能 出口参数 0 从键盘读字符 输入字符的ASCII码在AL中 1 检测键盘是否输入字符 输入了字符ZF=O,未输入字符ZF=1 2 读键盘各转换键的当前状态 各转换键的状态在AL中 MOV AL,MASK Z ;AL MOV BL,MASK X ;BL 13. 结构伪指令 结构伪指令是把多个数据定义语句组织成一个结构,而把每一个数据定义语句称为一个结构字段,内存变量名称为字段名。 (1) 结构定义 格式: 结构名 STRUC 〈数据定义语句〉 结构名 ENDS 结构定义不真正为结构分配存储空间,它是在汇编时进行结构说明的。 (2) 结构存储单元分配及赋值 格式: [变量名]结构名〈字段值表〉 变量名是自定义符,字段值表的各字段值赋给结构的各字段中,其顺序与结构定义的顺序相同,若字段值表中某些项默认,则保留初始值。应用时尖括号“〈 〉”不能默认。例如: TAN1 STRUC D1 DB2,25,10H D2 DB′WTAN′ SYY DB? TAN1 ENDS SUN TAN1〈,′DOG1′,2〉 CAT TAN1〈,′beg′,〉 在存储器中分配了两个结构单元。 (3) 结构引用 格式: 结构变量名结构字段名 例如: MOVDH,SUNSYY;DH←2 MOVAL,CATSYY;AL←0 14. 块注释伪指令 格式: COMMENT定界符注释定界符定界符是自定义任何非空字符。 例如, COMMENT/注释文/ 第七章 汇编语言与汇编程序 2 3 指令的格式与寻址方式 常用指令 伪指令 4 宏指令 1 5 常用DOS系统功能调用和BIOS功能调用 为了简化汇编语言源程序的书写,把一些频繁出现的程序段定义为“宏指令”,当程序中遇到这个程序段时,只需用一条宏调用语句,这样有效地缩短了源程序的长度,使源程序易读,也减少了由于重复书写而引起的错误。从某种意义上讲,它与前述的“过程”有相似之处,也可以将构成一条宏指令的程序段定义为一个“过程”,但两者具有明显的区别,主要表现如下: (1) 宏调用语句由宏汇编程序MASM86中的宏处理程序来识别,并完成相应的处理;而调用过程的CALL语句由CPU来执行。 7.4 宏指令 (2) 汇编语言源程序在汇编过程中要将宏指令所代替的程序段汇编成相应的机器代码,并插入到源程序的目标代码中,每次调用均要插入,这样,使用宏调用并不能缩短目标代码的长度。但被定义的“过程”经汇编后的机器代码是与主程序分开而独立存在的,其目标代码在存储器中只需保留一份,因此,采用过程调用能有效地缩短目标代码的长度,即节省内存空间,而宏指令却没有这一优点。 (3) 过程调用时需要保留程序的断点和现场,待过程执行完毕还要恢复现场和断点,这些操作需要耗费CPU的时间,而宏调用则不需进行这些操作。因此,过程调用可节省程序占用的存储空间,但会降低程序的执行速度;而宏调用不能节省存储空间,却能有较快的执行速度。 (4) 在每次宏调用时允许修改有关参数,使得同一条宏指令在各次调用过程中可完成不同的操作;而“过程”一旦被定义,一般不允许修改。
您可能关注的文档
最近下载
- 河北对口单招第十类职业适应性测试(计算机)-第七章演示文稿软件应用课件ppt.pptx VIP
- 亚硫酸氢钠安全技术说明书.docx VIP
- 疾控大学习《病原微生物实验室生物安全风险识别和控制》习题答案.docx
- 四年级上册数学三位数乘两位数竖式计算题练习150道.pdf
- 医院公开招聘简章.pdf
- XX银行A分行业务人员培训效果评估.pdf VIP
- 思维导图在高中化学学习中的应用教学研究开题报告教学研究课题报告.docx
- GB 50937-2013 选煤厂管道安装工程施工与验收规范.docx
- 第四章 控制及其设计 课件-2023-2024学年高中通用技术苏教版(2019)必修《技术与设计2》.pptx VIP
- 学习贯彻党的二十届三中全会精神测试题三套(含答案).docx VIP
文档评论(0)