高级程序设计:深入理解过程调用与多模块编程
1. 输入输出参数与交换整数示例
在程序设计中,输入输出参数是一种特殊的参数类型。它与输出参数类似,但被调用的过程期望该参数引用的变量包含一些数据,并且过程会通过指针修改该变量。
下面是一个交换两个32位整数内容的程序示例:
TITLE Swap Procedure Example (Swap.asm)
INCLUDE Irvine32.inc
Swap PROTO,
pValX:PTR DWORD,
pValY:PTR DWORD
.data
Array DWORD 10000h, 20000h
.code
main PROC
; Display the array before the exchange:
mov esi, OFFSET Array
mov ecx, 2 ; count = 2
mov ebx, TYPE Array
call DumpMem ; dump the array values
INVOKE Swap,
ADDR Array,
ADDR [Array + 4]
; Display the array after the exchange:
call DumpMem
exit
main ENDP
Swap PROC USES eax esi edi,
pValX:PTR DWORD, ; pointer to first integer
pValY:PTR DWORD ; pointer to second
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



