汇编语言中的过程定义、使用与程序设计
1. 过程的定义与使用
1.1 寄存器保存与恢复
在汇编语言中,过程执行时常常需要保存和恢复寄存器的值,以避免数据被意外覆盖。传统方法是使用 PUSH 和 POP 指令,不过 USES 操作符能更便捷地完成这一任务。
例如, ArraySum 过程原本使用 PUSH 和 POP 指令保存和恢复 ESI 与 ECX 寄存器:
ArraySum PROC
push esi
push ecx
mov eax,0 ; set the sum to zero
L1:
add eax,[esi] ; add each integer to sum
add esi,TYPE DWORD ; point to next integer
loop L1 ; repeat for array size
pop ecx
pop esi
ret
ArraySum ENDP
使用 USES 操作符后,代码变得更简洁:
ArraySum PROC USES esi ecx
mov eax,0 ; set the sum to zero
L1:
add eax,[esi] ; add each integer t
超级会员免费看
订阅专栏 解锁全文
1693

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



