您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:15 来源:未知

   看下面的小程序,很简单,你认为执行结果会是什么?
------------------------------------------------------------
;文件名:11.ASM
;利用console显示一个字符串信息

.386
.model flat,stdcall
逆风编程精品
option casemap:none

include \MASM7\INCLUDE\windows.inc
include \MASM7\INCLUDE\kernel32.inc
include \MASM7\INCLUDE\masm32.inc

includelib \MASM7\LIB\kernel32.lib
includelib \MASM7\LIB\masm32.lib

.code
messAdd dd 0
messdb'How are you !',0

start:
lea eax,mess
mov messAdd,eax;写代码段中的数据
invoke StdOut,messAdd
invoke ExitProcess,NULL
end start
-----------------------------------------------------------

太简单啦,不就是利用console输出一个字符串?对啦,这就是程序的原意!
但结果却不是想象的。因为在执行程序时,映入我们眼帘的首先是一个错误的消息框!



为什么会这样呢?因为Windows在链接时设置代码段一个属性,那就是“读\执行\代码”,就是不允许写。所以就出错啦!有没有解决的办法呢?

照着下面的操作吧,它可使代码段有写的属性

D:\MASM7>ml /coff 4.asm /link /subsystem:console /section:.text,rw ;R-读,W-写
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.All rights reserved.

Assembling: 4.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/subsystem:console /section:.text,rw
"4.obj"
"/OUT:4.exe"

D:\MASM7>11
How are you !
D:\MASM7>_

相关文章

80386的异常类型
树型视图控件
Win32调试API 第一部分
VxD 程序设计入门
虚拟设备驱动程序初步
自己编程实现多引导
在弹出菜单的同时再次弹出菜单
Windows下控制台输出
列表视图控件
80386的中断和异常
5个DOS专用文件的6种io重定向,more实现管道
汇编中参数的传递和堆栈修正
Win32调试API 第三部分
DeviceIoControl接口
窗口子类化
多文档界面(MDI)
汇编语言与C语言的接口技术
数据转换操作
创建简单的窗口
Kmdkit的下载和安装

相关评论


本文章所属分类:首页 汇编技术

  热门关键字:
进制数据输出的通用程序 2007-09-12
汇编源码--showmem 2007-08-31
汇编源码--CLEAN 2007-08-31
汇编源码--hdr 2007-08-31
汇编源码--basload 2007-08-31
汇编源码--CHAR 2007-08-31
汇编源码--fxn 2007-08-31
汇编源码--alarm 2007-08-31
汇编源码--getsect 2007-08-31
汇编源码--DEV 2007-08-31
汇编源码--getspace 2007-08-31
汇编源码--frespace 2007-08-31
CIH文件型病毒检测消除程序 2007-08-31
Mixer Volume Ctrler V1.0 2007-08-31
汇编源码--COMINT 2007-08-31
自己用汇编语言写的一个病毒(源码... 2007-08-31
汇编源码--col 2007-08-31
汇编源码--BURNOUT 2007-08-31