注册 登录
编程论坛 汇编论坛

新手求解下面小程序哪里出了问题

宾克斯drink 发布于 2012-06-06 10:00, 1569 次点击
.386
.model flat, stdcall
option casemap:none
include     windows.inc
include     user32.inc
include     kernel32.inc
include     masm32.inc
;*****************************************************
includelib     user32.lib
includelib     kernel32.lib
includelib     masm32.lib
;*****************************************************
;数据段
;*****************************************************
            .data
text    db    10,20,30,40
buffer    db    10  dup(0)
szFmt    db   '结果是:%d',0
;*****************************************************
;代码段
;*****************************************************
            .code
start:
    xor eax,eax
      mov al,text
    mov bl,text+1
    mov cl,text+2
    mov dl,text+3
    add    al,bl
    add    al,cl
    add    al,dl
      invoke     wsprintf,addr buffer,addr szFmt,eax
    invoke     ClearScreen
    invoke    locate,10,10
    invoke    StdOut,addr buffer
    invoke        StdIn,addr buffer,LENGTHOF buffer
      invoke ExitProcess,NULL
    end start
21 回复
#2
zklhp2012-06-06 10:04
你连错误信息都懒得帖我也懒得答
#3
宾克斯drink2012-06-06 10:06
不好意思
#4
宾克斯drink2012-06-06 10:08
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

D:\masm32>cmake
请输入需编译文件名:woca1
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

 Assembling: woca1.asm
woca1.asm(3) : error A2044: invalid character in file

***********
ASCII build
***********

d:\masm32\include\windows.inc(156) : error A2004: symbol type conflict : bool
d:\masm32\include\windows.inc(7835) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(7835) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9045) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9045) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9058) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9058) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9070) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9070) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9075) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9075) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9080) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9080) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9085) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9085) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9090) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9090) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9097) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9097) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9104) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9104) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9111) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9111) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9116) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9116) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9122) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9122) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9130) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9130) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9131) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9131) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9135) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9135) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9141) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9141) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9148) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9148) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9155) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9155) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9160) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9160) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9168) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9168) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9175) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9175) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9183) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9183) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9190) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9190) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9200) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9200) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9201) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9201) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9205) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9205) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9206) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9206) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9211) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9211) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9217) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9217) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9224) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9224) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9231) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9231) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9237) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9237) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9248) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9248) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9256) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9256) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9267) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9267) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9279) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9279) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9287) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9287) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9295) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9295) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9306) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9306) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9317) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9317) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9326) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9326) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9334) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9334) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9343) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9343) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9350) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9350) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9355) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9355) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9359) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9359) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9364) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9364) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9374) : error A2179: structure improperly initiali
zed
d:\masm32\include\windows.inc(9374) : error A2008: syntax error : in structure
d:\masm32\include\windows.inc(9393) : fatal error A1012: error count exceeds 100
; stopping assemb
错误信息太多了
#5
zklhp2012-06-06 10:09
编译错误 错误信息

运行错误 错在哪

难道还得我再编译 运行 或者一行一行的看给你找毛病么 我又不是你老师

与人方便 自己方便
#6
zklhp2012-06-06 10:10
头文件有问题 我感觉是编译器和头文件不配套

你用的啥工具啊
#7
宾克斯drink2012-06-06 10:12
masm32包里的,qeditor.exe,ml.exe,link.exe
#8
zklhp2012-06-06 10:12
woca1.asm(3) : error A2044: invalid character in file

这个很容易看 非法字符

认真看我下面打的两个冒号【:】【:】

程序只认英语 自然只认英语符号 短的那个是英语的

头文件的问题不是你的错 或者说不是代码的错
#9
宾克斯drink2012-06-06 10:13
有法改吗
#10
zklhp2012-06-06 10:14
以下是引用宾克斯drink在2012-6-6 10:12:40的发言:

masm32包里的,qeditor.exe,ml.exe,link.exe
没用过那玩意

我推荐你用masmplus 一键编译 里面用的也是masm32包 不过是测试过没问题的


#11
宾克斯drink2012-06-06 10:17
哦,我把那些命令用批处理弄过了,觉得还可以用,就这个程序恼了我半天
#12
zklhp2012-06-06 10:21
以下是引用宾克斯drink在2012-6-6 10:17:41的发言:

哦,我把那些命令用批处理弄过了,觉得还可以用,就这个程序恼了我半天
如果是入门 先用IDE 入门快

如果你非要用命令行呢 也可以 麻烦罢了

你知道不知道你的masm32是啥版本的啊 我看了下我的和你这个还不一样 你下个最新的看看?

我有个帖子也说过 汇编这玩意就是麻烦 而且实事求是的说现在的用处也不大了 你自己想想罢 有问题再问

至于这个头文件问题 一般是这个思路 当然也可以改头文件 不过 万一再改出其他毛病呢 呵呵

祝好运
#13
zklhp2012-06-06 10:23
对了 你先改了我上面说的冒号问题再说。。
#14
宾克斯drink2012-06-06 10:25
以下是引用zklhp在2012-6-6 10:23:14的发言:

对了 你先改了我上面说的冒号问题再说。。
那个,冒号怎么改,改哪里的
#15
zklhp2012-06-06 10:28
woca1.asm(3)

这个3表示第三行 你看看你程序的第三行是什么
#16
宾克斯drink2012-06-06 10:29
改成下面这样,运行就没问题---!,怎么回事  


  .386
    .model flat,stdcall
    option casemap:none
include     windows.inc
include     user32.inc
include     kernel32.inc
include         masm32.inc
;*****************************************************
includelib     user32.lib
includelib     kernel32.lib
includelib  masm32.lib
;*****************************************************
;数据段
;*****************************************************
            .data
szFmt       db  '结果是:%d',0
text          db    10,20,30,40
buffer      db    10 dup(0)
        .code
start:
mov  al,text
mov  bl,text+1
mov cl,text+2
mov dl,text+3
add al,bl
add al,cl
add al,dl
invoke     wsprintf,addr buffer,addr szFmt,al
invoke      ClearScreen
invoke    locate,10,10
invoke    StdOut,addr buffer
invoke      StdIn,addr buffer,LENGTHOF buffer   
invoke      ExitProcess,NULL
    end start
#17
宾克斯drink2012-06-06 10:31
以下是引用zklhp在2012-6-6 10:28:12的发言:

woca1.asm(3)

这个3表示第三行 你看看你程序的第三行是什么
噢噢,好了,谢谢
#18
宾克斯drink2012-06-06 10:32
太马虎了,自己给自己找麻烦
#19
zklhp2012-06-06 10:32
看来是你那个冒号的问题 不过冒号会导致下面这么多error我还是第一次见。。

哦 知道了 你这句话的功能是大小写不敏感 如果没这句话头文件当然出错了

看来错误还是在你
#20
zklhp2012-06-06 10:33
自己总结总结 一个小问题 收获挺多的 反正我有收获
#21
宾克斯drink2012-06-06 10:38
是啊,慢慢来吧,马虎不得
#22
bingghost2012-06-06 12:53
用Radasm吧   
1