|
![]() | 作者: seny11 [seny11]
![]() |
登录 |
怎么简单的显示窗口就能运行,,但我换成了显示字符串就不行了? .386 .model flat, stdcall option casemap :none ; case sensitive include ..\include\windows.inc include ..\include\kernel32.inc includelib ..\lib\kernel32.lib .data szCaption db 'Win32汇编例子',0 szText db 'Win32汇编,Simple and powerful!',0 .code start: invoke MessageBox,NULL,addr szText,addr szCaption,MB_OK invoke ExitProcess,NULL end start 这个可以运行. --------------------------------------------------- 但我把程序的一部分改成: ...前面一样` .data st1 db "hello",0 .code start mov edx,offset st1 ;或者lea edx,st1 mov ah,09h int 21h end start 就出错了.. |
地主 发表时间: 06-04-01 04:35 |
![]() | 回复: jhkdiy [jhkdiy] ![]() |
登录 |
因为你使用了中断,而原来的例子使用windows的API函数。 如果要写DOS程序不要用masm32,它不是为这个设的(虽然有时可以编译成功),应该使用masm5.11来编译和链接DOS程序。尤其是中断。 |
B1层 发表时间: 06-04-01 22:18 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号