win32 汇编学习(二)

Myth丶恋晨 2022-03-25 08:09 402阅读 0赞

我们学习汇编需要有适合自己的asm编辑器,由于笔者太笨, 不会用atom和bracket编写汇编。因此采用RadASM。采用的操作系统是win7.

RadASM 的编辑器下载地址:http://www.xue51.com/soft/5455.html

  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  5. ; Include 文件定义
  6. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  7. include windows.inc
  8. include user32.inc
  9. includelib user32.lib
  10. include kernel32.inc
  11. includelib kernel32.lib
  12. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  13. ; 数据段
  14. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  15. .const
  16. szCaption db '欢迎',0
  17. szText db 'welcome to win32 world!',0
  18. .code
  19. start:
  20. invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
  21. invoke ExitProcess,NULL
  22. end start

运行的方法有两种:

方法一:是在RadASM中构建并运行;

方法二:打开cmd:

首先进入目录,总共需要运行两条指令(注意需要修改asm的文件名)。第一条指令:

  1. ml -c -coff FirstWindow.asm

运行第一条指令后生成.obj 文件,第二条指令生成可执行的.exe文件:

  1. link -subsystem:windows FirstWindow.obj

具体运行可以看如下框图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjUyODA4OQ_size_16_color_FFFFFF_t_70

运行结果:

20190119162325837.png

最后祝大家好运!

发表评论

表情:
评论列表 (有 0 条评论,402人围观)

还没有评论,来说两句吧...

相关阅读

    相关 汇编学习 ()

    一. 改变EIP的三种方式 1. jmp:改变EIP的值。 2. call:需要在要跳转的位置点击F12设置断点;会将下一行将要执行指令的地址(计算出来的)压栈,以便返