首页
社区
课程
招聘
[求助]32位汇编编译时遇到的问题
发表于: 2008-7-27 16:04 4527

[求助]32位汇编编译时遇到的问题

2008-7-27 16:04
4527
本人初学汇编``编译的时候遇到些问题```

在DOS下输入NMAKE后``提示
   
Assembling:hello.asm
hello.asm<26>:error A2008:syntax error :.
hello.asm<27>:error A2034:must be in segment block
hello.asm<28>:error A2034:must be in segment block
hello.asm<34>:error A2006:undefined symbol :szGaption
hello.asm<34>:error A2114:I NVOKE argument type mismatch:argument :3hello.asm<34>:error A2006:undefined symbol :szText
hello.asm<34>:error A2114:I NVOKE argument type mismatch:argument :2
NMAKE : fatal error U1077:'ML' : return code '0x1'
stop.
  
我只是更改了实例的数据段"szText    db 'Hello,world !',0"改成了szText    db 'Hello,world !',0dh,0ah,'echo,i love you',0dh,0ah,0

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
类型不匹配?
2008-7-27 17:36
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
若之前可以
表示你改的不只那一行. 那一行没问题.
至少他就找不到 szGaption 了
check一下你的 .data .code 写在那里
2008-7-27 18:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这是原来的代码
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 2nd Edition>
; by 罗云彬, 47fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3q4K6L8g2)9J5k6i4W2W2j5h3S2Q4x3X3g2F1k6i4b7`.
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Hello.asm
; 使用 Win32ASM 写的 Hello, world 程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff Hello.asm
; Link /subsystem:windows Hello.obj
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .386
                .model flat,stdcall
                option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include                windows.inc
include                user32.inc
includelib        user32.lib
include                kernel32.inc
includelib        kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .data
szCaption        db        'A MessageBox !',0
szText                db        'Hello, World !',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                .code
start:
                invoke        MessageBox,NULL,offset szText,offset szCaption,MB_OK
                invoke        ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                end        start
2008-7-27 19:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
.386
                .model flat,stdcall
                option casemap:none

include                windows.inc
include                user32.inc
includelib        user32.lib
include                kernel32.inc
includelib        kernel32.lib

.date(.data写错了)
szCaption db 'A MessageBOX !',0
szText    db 'Hello,world !',0dh,0ah,'echo,i love you',0dh,0ah,0

                .code
start:
                invoke        MessageBox,NULL,offset szText,offset szCaption,MB_OK
                invoke        ExitProcess,NULL

                end        start
这是我照着写的..就改过那一行``
2008-7-27 19:15
0
游客
登录 | 注册 方可回帖
返回