1 使用PrintString宏输出字符串
.386
.model flat,stdcall
option casemap:none
include W:\masm32\include\windows.inc
include W:\masm32\include\kernel32.inc
include W:\masm32\include\masm32.inc
include W:\masm32\include\debug.inc
includelib W:\masm32\lib\kernel32.lib
includelib W:\masm32\lib\masm32.lib
includelib W:\masm32\lib\debug.lib
.data
v1 db 'DAYE1 DAYE2', 0
v2 db "DAYE3 DAYE4", 0
v3 db 'A', 'B', 'C', 'D', 'E', 'F', 'G', 0
v4 db 'BAIDU', 'SOHU', 0
v5 db 35, 36, 37, 38, 39, 40, 41, 0
v6 db 'A', 'A'+1, "C", 44h, 105o, 70, 1000111b, 0
.code
start:
PrintString v1 ;ABCDEFG
PrintString v2 ;ABCDEFG
PrintString v3 ;ABCDEFG
PrintString v4 ;ABCDEFG
PrintString v5 ;ABCDEFG
PrintString v6 ;ABCDEFG
ret
end start
运行结果如下;
为什么会有这个弹出窗口呢;看下PrintString宏的定义;在debug.inc中;
此宏又调用了DebugPrint,DebugPrint是个什么,在哪里定义的,一时没发现,下次再搞;
2 使用PrintText宏直接输出字符串
3 使用PrintLine输出横线
4 使用Spy跟踪变量
构建成功;但是执行exe,不会有任何输出;这个Spy宏,下次再搞;
5 使用CTEXT宏直接输出字符串
.386
.model flat,stdcall
option casemap:none
include W:\masm32\include\windows.inc
include W:\masm32\include\kernel32.inc
include W:\masm32\include\user32.inc
include W:\masm32\include\debug.inc
includelib W:\masm32\lib\kernel32.lib
includelib W:\masm32\lib\user32.lib
includelib W:\masm32\lib\debug.lib
.code
start:
invoke MessageBox, NULL, CTEXT("Hello World!"), CTEXT("Hello"), MB_OK
invoke ExitProcess, NULL
ret
end start
参阅
https://www.cnblogs.com/del/archive/2010/04/04/1704160.html
https://www.cnblogs.com/del/archive/2010/04/04/1704296.html