| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1666 人关注过本帖
标题:求助 为什么我在不同的masm集成环境下编译结果不同
只看楼主 加入收藏
sky飞舞
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-11-7
收藏
 问题点数:0 回复次数:7 
求助 为什么我在不同的masm集成环境下编译结果不同
我刚学习汇编,编了个小程序,代码如下

DATA SEGMENT
    X DB -3
    Y DB ?
    BUF1 DB'-1$'  
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:
    MOV AX,DATA
    MOV DS,AX
    MOV AX,0
    MOV AL,X
    CMP AL,0
    JGE LOOP1
    MOV DX,OFFSET BUF1
    MOV AH,9
    INT 21H
    JMP EXIT
    LOOP1:JE LOOP2
    MOV AL,1
    MOV Y,AL
    MOV DL,49
    MOV AH,2
    INT 21H
    JMP EXIT
    LOOP2:MOV AL,0
    MOV Y,AL
    MOV DL,48
    MOV AH,2
    INT 21H
    JMP EXIT
    EXIT:MOV AH,4CH
    INT 21H
CODE ENDS
    END START

用MASMPlus和RadASM编译错误为
E:\程序\我的程序\汇编程序\BBB.asm(9) : error A2004: symbol type conflict
E:\程序\我的程序\汇编程序\BBB.asm(35) : warning A4023: with /coff switch, leading underscore required for start address : START

而用Masm for Windows 集成实验环境可以正常编译

那2处错误到底是什么,怎样才能通过编译?
搜索更多相关主题的帖子: masm 环境 编译 结果 
2008-11-19 13:32
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
LZ,你的程序是16位的DOS汇编,没有错误~~
但你用的MASMPlus RadASM编译器却是在一般情况下都是编译32位的Win32汇编的呀?
请LZ看这两个工具的相关说明和用法:如何设置才能编译16位的汇编~~不了解工具,干活可不顺手哦~~
2008-11-19 15:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]ONEPROBLEM[/un] 在 2008-11-19 15:16 的发言:[/bo]

LZ,你的程序是16位的DOS汇编,没有错误~~
但你用的MASMPlus RadASM编译器却是在一般情况下都是编译32位的Win32汇编的呀?
请LZ看这两个工具的相关说明和用法:如何设置才能编译16位的汇编~~不了解工具,干活可不顺手哦 ...


9494 不赖ide
2008-11-19 17:27
sky飞舞
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-11-7
收藏
得分:0 
我是小白,课程需要学习的汇编,多谢各位指教!
2008-11-20 09:50
sky飞舞
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-11-7
收藏
得分:0 
那能推荐个适合16位工具吗
2008-11-20 12:50
sky飞舞
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-11-7
收藏
得分:0 
还有用什么命令才可以使程序运行时不会一闪而过。

    MOV AH,4CH
    INT 21H
貌似没起作用了!
2008-11-20 12:56
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
回复 6# 的帖子
1.MASMPlus 也可以编译16位的~~
2.MOV AH,4CH
    INT 21H
能保证程序的正确退出!
可以用DEBUG 加载执行,就可以看到结果了~~~
2008-11-20 13:33
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]ONEPROBLEM[/un] 在 2008-11-20 13:33 的发言:[/bo]

1.MASMPlus 也可以编译16位的~~
2.MOV AH,4CH
    INT 21H
能保证程序的正确退出!
可以用DEBUG 加载执行,就可以看到结果了~~~


最好的方法是在命令行下运行 也可以最后加个读取键盘的

直接退出双击当然一闪就没了 呵呵
2008-11-20 15:49
快速回复:求助 为什么我在不同的masm集成环境下编译结果不同
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.063977 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved