显示过程参数,显示地址和数字

本文深入探讨了汇编语言程序的结构与实现细节,通过具体示例解释了如何调用函数,传递参数,并展示了参数在堆栈中的布局。此外,还介绍了如何在程序中进行十六进制数的读写操作。
cool proto hah:dword,haha:dword,ok:dword,bb:dword
.data
hh byte "Address ",0
cc byte "Stack parameters:",0
big dword 0
.code
main proc
  invoke cool,2737h,374873h,2749494h,4857884h
  exit
main endp
cool proc hah:dword,haha:dword,ok:dword,bb:dword
  push 4;参数个数,注意使用时更改
  call ShowParams
  ret
cool endp
ShowParams proc
  push ebp
  mov ebp,esp
  mov edx,[ebp+8]
  imul edx,4
  add edx,8
  mov big,edx
  mov edx,offset cc
  call WriteString
  call Crlf
  mov ebx,ebp
  mov ecx,[ebp+8]
L1:
  mov edx,offset hh
  call WriteString
  push ebx
  add ebx,big
  mov eax,ebx
  call WriteHex
  pop ebx
  mov al,"="
  call WriteChar
  mov eax,[ebp+20]
  call WriteHex
  call Crlf
  add ebp,4
  add big,4
  loop L1
  pop ebp
  ret 
ShowParams endp
end main
在这里插入代码片

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值