企业即时通讯 - Enterprise Instant Messenger

局域网聊天工具,文字讯息、文件发送、语音通讯、高清视频通讯、远程桌面控制。

用户操作
[即时聊天] [发私信] [加为好友]
FreeEIM StudioID:i_like_cpp
972423次访问,排名32,好友4人,关注者7人。
i_like_cpp的文章
原创 888 篇
翻译 4 篇
转载 69 篇
评论 1148 篇
FreeEIM Studio的公告
最近评论
ScanerKi:#include <stdio.h>

int asm(int s)
{
int t=0;
__asm
{
mov eax, DWORD PTR [ebp+8] ;把s的值传给eax
mov t, eax ;把eax的值传给t
}
printf("- %d……
li_delong:谢谢
li_delong:谢谢
li_delong:谢谢
XUETUJIAN:
文章分类
收藏
相册
EIM 截图
相关软件图片
PI的最精确值
FreeEIM 标签
FreeEIM华军下载
XP SP2 SDK
下载FreeEIM
盛天龙
飞鸽传书
不错的网站
CPPBLOG
局域网聊天
泡妞专家
用VC写Assembly代码(RSS)
百度的Blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 一个15岁少年写的汇编代码收藏

新一篇: 中国人写的编译器-值得看看 | 旧一篇: C++程序员必需的修养

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

 

.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

发表于 @ 2006年04月08日 16:32:00|评论(loading...)|编辑

新一篇: 中国人写的编译器-值得看看 | 旧一篇: C++程序员必需的修养

评论

#mynote 发表于2006-04-08 16:49:00  IP: 219.133.14.*
风格还不错.
#hacker47 发表于2006-04-08 22:08:00  IP: 218.23.65.*
win32汇编,这种东西个人认为除了耍酷外没有存在的价值。
win32下能用asm而不能用C解决的问题非常之少,而用这种ASM按Win32中c语言编程的顺序写出实在没什么意义,以上这个程序完全是《windows程序设计》__charles petzold的第一个程序的asm版本,也近似罗云彬的win32asm的一个例程,再次重复,这样没什么意义的。除非在关键应用的关键模块写几个关键指令(汇编指令),其他的都是在浪费程序员的时间,而程序员也不应以此为酷,多钻研些数学吧,这些都是死的,只要不傻,都能学会,早晚的事。
QQ:295538936
EMail:hacker47@tom.com
欢迎讨论,欢迎朋友
#HicroKee 发表于2006-04-10 20:36:00  IP: 218.14.190.*
模板一个罢了,我十五岁那时都不只写这种东西啦~~
#fhb13 发表于2006-04-13 00:07:00  IP: 222.47.86.*
这代码风格完完全全和我在MASM32里面看到的教程一模一样,连宏定义都没改,估计是从里面复制出来。
#Unknown 发表于2006-05-07 16:05:00  IP: 221.207.220.*
不错嘛,我15岁QB那.嘎嘎!
#Shawn 发表于2006-05-31 11:41:00  IP: 221.10.50.*
我15岁还沉迷在QUAKE当中,现在好一点了.
发表评论  


登录
Csdn Blog version 3.1a
Copyright © FreeEIM Studio