- 7
- 0
- 约2.17万字
- 约 39页
- 2017-01-22 发布于河南
- 举报
汇编语言子程序计
本章主要教学内容 1.子程序调用与返回指令。 2.子程序设计的基本过程和设计方法。 7.1 概述 7.2 子程序调用和返回指令 7.3 子程序的定义、调用和返回 7.4 子程序的参数传递方法 7.5 子程序的嵌套与递归 7.6 子程序设计举例 本章小结 本章主要介绍了子程序的概念、定义格式、特性;子程序的调用和返回指令;子程序的设计、参数传递方法、嵌套和递归等内容,并给出了一些较为综合的子程序示例。 把可以多次调用、能完成特定操作功能的程序段编写成独立的程序模块称为子程序。调用这些子程序的程序称为主程序。子程序设计方法可以节省编程的工作量和节省存储空间。一个子程序应具备重复性、通用性、可浮动性、可递归和可重入性。 主程序调用子程序要通过调用指令来实现;子程序执行完了要返回主程序,这个功能由返回指令实现。 一个完整的子程序,应包括子程序调用方法说明、保护现场和恢复现场、子程序定义等部分。子程序调用方法说明包括子程序名、子程序功能、占用寄存器、入口参数、输出参数、子程序调用示例等内容。 (2)输出子程序 子程序名:SUBOUT 功 能:从标准输出设备(一般为屏幕)输出一个字符 入口参数:输出的字符的ASCII码送寄存器AL 出口参数:在屏幕上显示单个字符 程序清单: SUBOUT PROC PUSH DX MOV DL,AL MOV AH,2 INT 21H POP DX RET SUBOUT ENDP 给邯蠕倍刊圃加尚蠢爷衷黑戏付鉴刷游缩坪苔淖易驭也饶声巨膏蔬侥捻账汇编语言子程序计汇编语言子程序计 输入输出子程序应用举例 【例7-11】在CRT上连续输出字符0~9 子程序名:CRT0~9 功 能:在CRT上连续输出字符0~9 入口参数:寄存器BL中不断累加得到的字符 出口参数:在CRT上连续输出字符0~9 CRT0~9 PROC NEAR/FAR BEGIN:PUSH DS MOV AX,0 PUSH AX MOV BL,OFFH PUSH BX MOV CX,10 GOON:MOV DL,20H CALL SUBOUT POP BX MOV AL,BL INC AL DAA AND AL,0FH MOV BL,AL PUSH BX OR AL,30H CALL SUBOUT LOOP GOON POP DS RET CRT0~9 ENDP 使BL为-1 输出空格字符 BL增1 DAA调整 屏蔽高4位 变为ASCII码 输出字符 CX-1=0? N Y 结束 开始 迷暑益震伸赡肃啼浚洒绘史孩个绽沏嗜绰郡紧岭荚帮座众姿浮剁由骑模约汇编语言子程序计汇编语言子程序计 7.6.2 代码转换子程序 1.十六进制数的ASCII码转换成二进制数 转换规律:数字字符0~9进行转换时,对ASCII码的高4位清0就可以 了;而A~F进行转换时,要减37H(a~f则减57H)。 【例7-12】将四位十六进制数(ASCII码)转换为十六位二进制数 子程序名:HEX16IN。 功 能:从输入设备输入四位16进制数,将其转换为16位2进 制数。 入口参数:从输入设备得到ASCII码表示的16进制数的各位,有 效数字为0-9和A-F。 出口参数:一个16位2进制数存放在DX寄存器中 JL HEX3 CMP AL,0FH JG HEX3 HEX2:CBW MOV CL,4 SAL DX,CL ADD DX,AX DEC BL JNZ HEX1 HEX3:POP AX POP CX RET HEX16IN ENDP HEX16IN PROC NEAR/FAR
您可能关注的文档
最近下载
- 天津市部分区2024-2025学年八年级上学期11月期中数学试题(解析版).docx VIP
- 会议活动策划方案模板.docx VIP
- 土方意向协议书范本.docx VIP
- 履带吊安拆监理细则.docx VIP
- T_ZZB 2614-2022 BD100生物柴油标准.docx VIP
- 2026领导班子成员民主生活会“五个带头”个人对照检查材料8篇.docx VIP
- 2025年度民主生活会个人对照检查发言材料.docx VIP
- 山东省烟台龙口市(五四制)2022-2023学年六年级上学期期末考试数学试题(含答案).docx VIP
- 部编版七年级语文上册第三单元第9课时_主题阅读:有为有不为.docx VIP
- 《人工智能辅助的翻译技术》课件.ppt VIP
原创力文档

文档评论(0)