1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| ;.386是伪指令 告诉编译器使用 386指令集 .386
;.model 内存模式[,语言模式][,其它模式] ;flat 是win32程序使用的模式,代码和数据段使用同一个4GB段 ;stdcall 是函数调用约定,参数从右往左压栈 .model flat,stdcall
;大小写敏感 option casemap:none
;包含和应用的库文件 include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib include masm32.inc includelib masm32.lib
;数据段 .data colHello db 'Dian团队网安组登录测试', 0Ah,0 colAccount db 'please input the account',0Ah,0 colPassword db 'please input the password',0Ah,0 colOk db 'login success !',0Ah,0 colWrong db 'password wrong !',0Ah,0 len equ 8
root db 'root',0 truePassword db 'diangroup',0 account db ? password db ?
;代码段 .code start: invoke StdOut, addr colHello invoke StdOut, addr colAccount invoke StdIn, addr account,len invoke StdOut, addr colPassword invoke StdIn, addr password,len
movsx AX, account movsx BX, root cmp AX,BX jz @ok movsx AX, password movsx BX, truePassword cmp AX,BX jz @ok invoke StdOut, addr colWrong jmp @end
@ok: invoke StdOut, addr colOk
@end: invoke ExitProcess, 0 end start
|