第 5 章 教学重点 在掌握基本的汇编语言程序设计方法之后,进一步学习如何提高编程效率的各种实用方法: 高级语言特性 宏结构 模块化 5.1 高级语言特性 MASM 6.0引入高级语言的程序设计特性 条件控制伪指令 .IF .ELSE .ENDIF 循环控制伪指令 .WHILE .ENDW .REPEAT .UNTIL 过程声明和过程调用伪指令 .PROTO .INVOKE 5.1.3 过程声明和过程调用伪指令 过程名 PROC 调用距离 语言类型 作用范围 起始参数 USES 寄存器列表, 参数:类型 LOCAL 参数表 … ;汇编语言语句 过程名 ENDP 例5.3-1/2 ;汇编语言程序:lt503.asm .model small checksumd PROTO c,:word,:word ;声明过程 .stack .data array db 12h,25h,0f0h,0a3h,3 db 68h,71h,0cah,0ffh,90h count equ $-array ;数组的元素个数result db ? ;校验和 .code .startup INVOKE checksumd,count,offset array ;调用过程 mov result,al ;保存校验和 .exit 0 例5.3-2/2 checksumd PROC c USES bx cx,\ countp:word,arrayp:word mov bx,arrayp ;BX←数组的偏移地址 mov cx,countp ;CX←数组的元素个数 xor al,al sumd: add al,[bx] ;求和:AL←AL+DS:[BX] inc bx loop sumd ret checksumd endp end 例5.3-1/2 ;lt503.asm的列表文件(lt503.lst) ... INVOKE checksumd,count,offset array * mov ax,word ptr OFFSET array * push ax * mov ax,+000Ah * push ax * call checksumd * add sp,04h mov result,al ... 例5.3-2/2 checksumd PROC c USES bx cx,\ countp:word,arrayp:word * push bp ;起始代码 * mov bp,sp * push bx ;保护bx和cx * push cx mov bx,arrayp ;arrayp=[BP+6] mov cx,countp ;cuontp=[BP+4] ... ret * pop cx ;结尾代码 * pop bx * pop bp * ret 0000h checksumc endp 5.2 宏结构程序设计 宏汇编 重复汇编 条件汇编 ——统称宏结构 5.2.1 宏汇编 宏——具有宏名的一段汇编语句序列 ——宏定义时书写 宏指令——这段汇编语句序列的缩写 ——宏调用时书写 宏展开——宏指令处用这段宏代替的过程 ——宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令 宏定义 宏名 macro [形参表] 宏定义体 endm mainbegin MACRO ;;定义名为mainbegin的宏,无参数 mov ax,@data ;;宏定义体 mov ds,ax ENDM ;;宏定义结束 mainend MACRO retnum ;;带有形参retnum mov al,retnum ;;宏定义中使用参数 mov ah,4ch int 21h ENDM 宏调用 宏名 [实参表] start: mainbegin ;宏调用,建立DS内容 dispmsg string ;宏调用,显示字符串 mainend 0 ;宏调用,返回DOS end start 宏调用的实质是在汇编过程中进行宏展开 宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体取代源程序的宏指令,同时用位置匹配的实参对形参进行取代 宏展开 宏展开——在汇编时,用宏定义体的代码序列替代宏指令的过程。 start: mainbegin ;宏指令 1 mov ax,@data ;宏展开 1 mov ds,ax mainend 0 ;宏指令 1 mov al,0 ;宏展开 1 mov ah,4ch 1 int 21h 宏的参数 宏的参数使用非常灵活 宏定义时, 可以无参数,例如5.4a的m
您可能关注的文档
- 第一节 货代在国际供应链中的作用.ppt
- 调查周边环境中的生物(正式).ppt
- 二年级上册 回家的路上.ppt
- 方程的根与函数零点.ppt
- 供应链运作参考模型.ppt
- 宫颈癌的放射治疗.ppt
- 宫内节育器相关.ppt
- 广电定额GY5212-2008-1学习.ppt
- 广东省中考历史古代史考纲解读.ppt
- 22.1.1+变量与常量+课件-2025-2026学年人教版数学八年级下册.pptx
- Unit+7+Section+A+Grammar+Focus课件++2025-2026学年人教版英语八年级上册.pptx
- 第5课《秋天的怀念》课件+2025—2026学年统编版语文七年级上册.pptx
- 21.1.2 多边形及其内角和+课件-2025-2026学年人教版数学八年级下册.pptx
- Unit+7+Section+B(3a-3c+Writing)(同步实用课件)-2025-2026学年八年级英语上册同步精美课件(人教版2024).pptx
- 7.4+平移(培优教学课件)数学新教材人教版七年级下册.pptx
- 第12课《词四首——破阵子 为陈同甫赋壮词以寄之》课件+2025—2026学年统编版语文九年级下册.pptx
- Unit+7+SectionB(1a~2b)课件+2025-2026学年人教版英语七年级上册.pptx
- Unit+8+Let’s+Communicate!Section+B+2a-2c+课件2025-2026学年人教版英语八年级上册.pptx
- Unit+2+Section+A++Pronunciation(课件)+-2025-2026学年人教版七年级英语下册.pptx
- 第22课《皇帝的新装》课件+-2025—2026学年统编版语文七年级上册.pptx
最近下载
- 监理服务质量的检查与考核办法.doc VIP
- 监理服务质量的检查与考核办法.docx VIP
- 2025年中好建造(安徽)科技有限公司第一次社会招聘21人笔试备考试题及答案解析.docx VIP
- 世界杯主题营销IP《2026心跳三部曲》.pptx VIP
- 消防员战斗精神课件.pptx VIP
- 项目工程监理工作保证措施.docx VIP
- (最新)ISO 56006-2021创新管理-战略情报管理的工具和方法-指南(译-2024)(推荐下载).pdf VIP
- GD019-2024电气电子产品型式认可试验指南.pdf VIP
- (高清版)ZT 0130-2006 地质矿产实验室测试质量管理规范.pdf VIP
- 计算机网络课件-计算机网络基础.pptx VIP
原创力文档

文档评论(0)