vs2008上编译ASM文件出错

long_2012 2009-06-15 11:13:28
1>------ 已启动生成: 项目: AsmTest, 配置: Debug Windows Mobile 5.0 Pocket PC SDK (ARMV4I) ------
1>Assembling...
1> Assembling: .\simple_idct_mmx.asm
1>.\simple_idct_mmx.asm(23) : error A2008:syntax error : BITS
1>.\simple_idct_mmx.asm(29) : error A2008:syntax error : macro
1>.\simple_idct_mmx.asm(34) : error A2008:syntax error : global
1>.\simple_idct_mmx.asm(36) : error A2008:syntax error : endmacro
1>.\simple_idct_mmx.asm(38) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(39) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(40) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(41) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(42) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(43) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(44) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(45) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(46) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(47) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(56) : error A2008:syntax error : .
1>.\simple_idct_mmx.asm(63) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(64) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(65) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(67) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(68) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(69) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(71) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(72) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(73) : error A2045:missing angle bracket or brace in literal
1>.\simple_idct_mmx.asm(74) : error A2045:missing angle bracket or brace in literal
1>.\simple_idct_mmx.asm(76) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(77) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(79) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(80) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(82) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(83) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(85) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(86) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(88) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(89) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(91) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(92) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(103) : error A2008:syntax error : macro
1>.\simple_idct_mmx.asm(104) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(105) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(106) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(107) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(108) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(109) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(110) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(111) : error A2008:syntax error : define
1>.\simple_idct_mmx.asm(112) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(113) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(114) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(115) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(116) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(117) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(118) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(119) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(120) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(121) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(122) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(123) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(124) : error A2034:must be in segment block
1>.\simple_idct_mmx.asm(125) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(126) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(127) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(128) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(129) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(130) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(131) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(132) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(133) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(134) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(135) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(136) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(137) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(138) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(139) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(140) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(141) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(142) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(143) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(144) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(145) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(146) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(147) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(148) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(149) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(150) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(151) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(152) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(153) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(154) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(155) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(156) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(157) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(158) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(159) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(160) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(161) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(162) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(163) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(164) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(165) : error A2085:instruction or register not accepted in current CPU mode
1>.\simple_idct_mmx.asm(166) : fatal error A1012:error count exceeds 100; stopping assembly
1>Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "Assembling..."
1>生成日志保存在“file://d:\test\AsmTest\AsmTest\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug\BuildLog.htm”
1>AsmTest - 25 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
...全文
2089 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
来了解了解
long_2012 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 czbever 的回复:]
有把nasm.exe放到 bin目录下了吧?
然后在文件的属性里加入

命令行:armasm.exe -cpu xscale $(InputPath) "$(IntDir)/$(InputName).obj"
输出:$(IntDir)/$(InputName).obj
[/Quote]

这个添进去了,不过armasm.exe好像只能对标准ARM汇编进行编译啊,还是有很多问题。过后我把命令行里的armasm.exe改成nasm.exe不知道可以不,而且我把工具——>选项——>项目与解决方案——>vc++目录里的可执行文件里把nasm.exe的路径也加进去了,就出现以下问题:

1>正在执行自定义生成步骤
1>nasm: error: unrecognised option `-c'
1>nasm: error: more than one input file specified
1>nasm: error: more than one input file specified
1>type `nasm -h' for help
1>Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行自定义生成步骤"
1>生成日志保存在“file://d:\test\AsmTest\AsmTest\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug\BuildLog.htm”
1>AsmTest - 4 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
会思考的草 2009-06-16
  • 打赏
  • 举报
回复
先手工汇编,然后再link汇编出来的obj文件。
czbever 2009-06-15
  • 打赏
  • 举报
回复
有把nasm.exe放到 bin目录下了吧?
然后在文件的属性里加入

命令行:armasm.exe -cpu xscale $(InputPath) "$(IntDir)/$(InputName).obj"
输出:$(IntDir)/$(InputName).obj
世外涛缘 2009-06-15
  • 打赏
  • 举报
回复
不了解,关注下,帮顶。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧