第5章 5.13过程声明和过程调用伪指令 过程名PRoC调用距离语言类型作用范围<起始参数> USEs寄存器列表,参数:类型 LOCAL参数表 汇编语言语句 过程名ENDP >要调用>过程声明伪指令:用于事先声明过程的结构 CALL指令 过程名 PROTO调用距离语言类型,参数:类型 >应该采用 >使用IN过程调用伪指令 PROTO伪 INVOKE过程名,参数
第 5 章 ➢要调用带参数过程定义的过程,不应采用 CALL指令,因为比较烦琐 ➢应该采用过程调用伪指令INVOKE ➢使 用 INVOKE 伪指令的前提是需要用 PROTO伪指令对过程进行声明 5.1.3 过程声明和过程调用伪指令 过程名 PROC 调用距离 语言类型 作用范围 <起始参数> USES 寄存器列表,参数:类型 LOCAL 参数表 … ;汇编语言语句 过程名 ENDP ➢过程声明伪指令:用于事先声明过程的结构 过程名 PROTO 调用距离 语言类型, 参数:类型 ➢过程调用伪指令 INVOKE 过程名,参数,... 如何调 用
;汇编语言程序:1t503.asm 例5.3-1/2 model small checksum proto C,: word,: word ;声明过程 stack data array db 12h, 25h, foH, Oa3h, 3 db 68h,71h, cah, offh 90h count equ s-array 数组的元素个数 result db ;校验和 code startup INVOKE checksum, count, offset array ;调用过程 mov result al ;保存校验和 exit o 列表文件
;汇编语言程序: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-1/2 列表文件
例5.3-2/2 checksum PROC c USES bx cx,\ countp: word, arrayp: word moy bx, arrays;Bx-数组的偏移地址 mov CX, countp;cx数组的元素个数 xor alal smd: add al,[bx];求和:AA+DS:[Bx] inc bx 1。。 p sumd ret checksum endp end 列表文件
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-2/2 列表文件
第5章 5.2宏结构程序设计 宏汇编 重复汇编 条件汇编 统称宏结构 宏( Macro)是汇编语言的一个 特点。它是与子程序类似又独具特色 的另一种简化源程序的方法
第 5 章 5.2 宏结构程序设计 宏汇编 重复汇编 条件汇编 ——统称宏结构 宏(Macro)是汇编语言的一个 特点,它是与子程序类似又独具特色 的另一种简化源程序的方法
第5章 5.2.1宏汇编 宏一具有宏名的一段汇编语句序列 宏定义时书写 宏指令—这段汇编语句序列的缩写 宏调用时书写 宏展开一宏指令处用这段宏代替的过 程 宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令
第 5 章 宏——具有宏名的一段汇编语句序列 ——宏定义时书写 宏指令——这段汇编语句序列的缩写 ——宏调用时书写 宏展开——宏指令处用这段宏代替的过 程 ——宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令 5.2.1 宏汇编