【求救】msam32编译问题!!!

mancook 2006-05-10 08:09:32
我刚刚开始学习汇编,使用沈美明,温冬婵《IBM-PC汇编语言程序设计》。
编译书上的一个例子:
------------------------------------------------------------------
.386
.model flat, stdcall

data segment
src_buf db 40 dup('a')
data ends

extra segment
dst_buf db 40 dup(?)
extra ends

;********************************************************************
code segment
assume cs:code,ds:data,es:extra
start:
; set up stack for return
push ds
sub ax,ax
push ax

mov ax,data
mov ds,ax

mov ax,extra
mov es,ax

;Main part of the program
lea si,src_buf
lea di,dst_buf
cld
mov cx,40
rep movsb
ret
code ends
end start

-----------------------------------------------------------

使用masm32编译这个程序,报错:

D:\exer\masm\test_1>ml /c /coff mov_str.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: mov_str.asm
mov_str.asm(21) : error A2004: symbol type conflict
mov_str.asm(24) : error A2004: symbol type conflict

请问大家,这个是什么原因啊?
谢谢 :-)
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大熊猫侯佩 2006-05-11
  • 打赏
  • 举报
回复
www.aogosoft.com
zara 2006-05-11
  • 打赏
  • 举报
回复
楼主的代码是普通的 dos16 类型的, 所以程序开始处的两个语句最好调整为:
.model small ; 不应该用 flat 内存模式的
.386 ; .386 应该在 .model 之后, 这个是编译器对 16 位程序的要求设置
mancook 2006-05-10
  • 打赏
  • 举报
回复
那里可以下载到masm6 ?
mancook 2006-05-10
  • 打赏
  • 举报
回复
谢谢。msam32和masm6有什么区别啊?
大熊猫侯佩 2006-05-10
  • 打赏
  • 举报
回复
不要使用 masm32 请使用 masm6.x 编译连接

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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