看上去,好像抄书的!!!!!

.386
.model flat, stdcall
option casemap:none

include /masm32/include/windows.inc
include /masm32/include/kernel32.inc
include /masm32/include/user32.inc
include /masm32/include/gdi32.inc

includelib /masm32/lib/kernel32.lib
includelib /masm32/lib/user32.lib
includelib /masm32/lib/gdi32.lib

return MACRO arg
        mov eax, arg
        ret
    ENDM
    m2m MACRO m1, m2
        push m2
        pop m1
    ENDM
    WinMain PROTO :DWORD, :DWORD, :DWORD, :DWORD
    WndProc PROTO :DWORD, :DWORD, :DWORD, :DWORD
.data
    szClsName   db "mycls", 0
    szWndName   db "My window", 0
    szFormat    db "= %0X =", 0
.data?
    hInstance HINSTANCE ?
.code
start:
    invoke GetModuleHandle, NULL
    mov hInstance, eax
    invoke WinMain, hInstance, NULL, NULL, SW_SHOWDEFAULT
    invoke ExitProcess, eax

WinMain proc hInst:DWORD, hPrevInst:DWORD, CmdLine:DWORD, CmdShow:DWORD
    LOCAL wc        :WNDCLASSEX
    LOCAL hWnd      :HWND
    LOCAL msg       :MSG

mov wc.cbSize, SIZEOF WNDCLASSEX
    mov wc.style, CS_HREDRAW OR CS_VREDRAW
    mov wc.cbWndExtra, 0
    mov wc.cbClsExtra, 0
    mov wc.lpfnWndProc, OFFSET WndProc
    mov wc.lpszMenuName, NULL
    mov wc.lpszClassName, OFFSET szClsName
    invoke LoadIcon, hInst, IDI_APPLICATION
    mov wc.hIcon, eax
    mov wc.hIconSm, eax
    invoke LoadCursor, NULL, IDC_ARROW
    mov wc.hCursor, eax
    m2m wc.hInstance, hInst
    mov wc.hbrBackground, COLOR_WINDOW
    invoke RegisterClassEx, ADDR wc
    invoke CreateWindowEx, WS_EX_OVERLAPPEDWINDOW,
                            ADDR szClsName,
                            ADDR szWndName,
                            WS_OVERLAPPEDWINDOW,
                            CW_USEDEFAULT, 0,
                            CW_USEDEFAULT, 0,
                            NULL, NULL, hInst, NULL

mov hWnd, eax
    invoke ShowWindow, hWnd, CmdShow
    invoke UpdateWindow, hWnd

StartLoop:
        invoke GetMessage, ADDR msg, NULL, 0, 0
        cmp eax, 0
        je ExitLoop
        invoke TranslateMessage, ADDR msg
        invoke DispatchMessage, ADDR msg
        jmp StartLoop
    ExitLoop:
    mov eax, msg.wParam
    ret
WinMain endp

WndProc proc hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD
    LOCAL hDC       :HDC
    LOCAL ps        :PAINTSTRUCT
    LOCAL szBuf[128]:BYTE
    .if uMsg == WM_DESTROY
        invoke PostQuitMessage, 0
    .elseif uMsg == WM_PAINT
        invoke wsprintf, ADDR szBuf, ADDR szFormat, 0ffffh
        invoke BeginPaint, hWnd, ADDR ps
        mov hDC, eax
        invoke lstrlen, ADDR szBuf
        invoke TextOut, hDC, 10, 10, ADDR szBuf, eax
        invoke EndPaint, hWnd, ADDR ps
    .elseif uMsg == WM_CREATE
        ret
    .endif
    invoke DefWindowProc, hWnd, uMsg, wParam, lParam
    ret
WndProc endp
end start

一个15岁少年写的汇编代码相关推荐

  1. 【锋会现场】15岁少年极客黑入小米路由器

    继昨天成功举办"妹子专场"(舌尖上的智能)之后,今天雷锋网又在北京举办了史上最有技术范儿的活动:OpenWrt开发者沙龙.据说,国内OpenWrt圈有一半的大牛都来到了现场,更有好 ...

  2. 瑞典品牌Happy Plugs推出专为3至15岁少年设计的新耳机

    斯德哥尔摩2021年7月27日 /美通社/ -- Happy Plugs®自豪地宣布推出Play,这款青年耳机将年轻人的娱乐需求与父母们对安全和质量的期望结合在一起.Play提供有线和无线两种使用体验 ...

  3. 边走边充电:15岁少年发明手机充电鞋

    优点:只要穿戴者给鞋垫造成压力,鞋子就能产生电能,给手机等USB接口的设备充电. 缺点:只要穿戴者给鞋垫造成压力,鞋子就能产生电能. 腾讯科技讯 6月11日消息,当我们当中的大部分人还是青少年时,我们 ...

  4. 15岁中国学生斩获苹果WWDC奖学金:写代码只用了2个周末

      转自:新智元  编辑:鹏飞.金磊 [新智元导读]自古英雄出少年!15岁00后开发者获WWDC 2019奖学金并受邀参会.WWDC奖学金用于奖励有才华的学生和STEM组织成员,并有机会参加WWDC大 ...

  5. 一个19岁美国少年眼中的各种社交应用

     一个19岁美国少年眼中的各种社交应用 36氪微信号:wow36kr 36氪开通个人微信号啦!想在朋友圈里见到氪君吗,想更近距离了解互联网创业吗,想打氪君吗,加氪君的个人微信号吧: hellow ...

  6. 郁金香汇编代码注入怎么写看雪_世界黑客编程大赛冠军的汇编代码 你见过吗?...

    前几天发布了一篇"雷军22年前写的汇编代码"的文章,引起网友的热议.有人说汇编是最牛逼的编程语言,没有之一.汇编语言确实厉害,不知道你有没有见过世界黑客编程大赛冠军的作品? 雷军编 ...

  7. 郁金香汇编代码注入怎么写看雪_汇编语言入门五:流程控制(一)

    回顾 前面说到过这样几个内容: 几条简单的汇编指令 寄存器 内存访问 对应到C语言的学习过程中,无非就是这样几个内容: 超级简单的运算 变量 好了,到这里,我们继续接下来的话题,程序中的流程控制. 文 ...

  8. 只用了2个周末,15岁中国学生斩获苹果WWDC奖学金

    来自 | 新智元 [导读]自古英雄出少年!15岁00后开发者获WWDC 2019奖学金并受邀参会.WWDC奖学金用于奖励有才华的学生和STEM组织成员,并有机会参加WWDC大会.今年获奖学金的中国学生 ...

  9. 15岁极客王逸翛:希望大家都有“开源精神”

    在6月28日举行的硬创邦"B.I.G硬创达人秀"上,一位15岁的少年一登台便引起了轰动.他的名字叫王逸翛,精通Linux和电子电路,并和同伴一块基于Android系统深度优化开发了 ...

最新文章

  1. HDU1201 18岁生日【日期计算】
  2. 抽象类和接口的联系与区别
  3. 安装win7操作系统
  4. 【福利】有道云笔记免费送30天VIP会员,有道云笔记功能优缺点汇总
  5. 一个失败项目的复盘会
  6. centos7下安装storm步骤
  7. Linux之定时任务补充
  8. [转载] Java 将字符串首字母转为大写 - 利用ASCII码偏移
  9. Android 系统(268)---native保活5.0以下方案推演过程以及代码详述
  10. 4083. 最大公约数
  11. 区块链技术指南学习(三)转型之擎
  12. jmail邮件服务器,jmail.smtpmail的核心代码:
  13. 在线JSON格式化美化
  14. 聊聊技术人的“绩效考核”
  15. opencv学习(三十九)之反向投影calcBackProject()
  16. 大学物理上册详细笔记_大学物理上册课堂笔记
  17. payjs 源码_第三方支付平台源码,仿支付宝
  18. Laravel5.5 项目开发文档,精简版,不适合新手使用。
  19. 华为手机怎么打开位置服务器,华为手机怎么开启远程定位服务器
  20. 笔记 | 产品经理必懂的技术(三)

热门文章

  1. ElasticSearch和solr的对比
  2. 2020年中国无人经济市场研究报告
  3. 输出最小公倍数和最大公约数
  4. 作者:温孚江,现任山东农业大学校长、教授,农业大数据创新战略联盟理事长,全国人民代表大会常务委员会委员。...
  5. 作者:张晴晴,山东农业大学硕士生。
  6. 作者:许洪波,男,博士,中国科学院计算技术研究所副研究员、硕士生导师。...
  7. 【Servlet】Servlet生命周期
  8. 【Java】探究Java数组的本质
  9. lambda表达式相关
  10. cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建