主题:大家帮我看看怎么改呀??
xit001
[专家分:20] 发布于 2007-03-24 08:10:00
程序:
prognam segment
assume
cs:prognam
org 100h A100
mov dl,1 mov dl,1
mov ah,2 mov ah,2
int 21h int 21
int 20h int 20
prognam ends
end
用MASM611调试错误信息:
Assembling: q.asm
q.asm(4): error A2206: is obsolete : ESC ignored
q.asm(5): error A2008: record redefinition : mov
q.asm(6): error A2008: record redefinition : mov
q.asm(7): error A2008: record redefinition : int
q.asm(8): error A2008: record redefinition : int
帮我看看 怎么弄呀!!
谢谢了!
回复列表 (共7个回复)
沙发
小牛斑斑 [专家分:1210] 发布于 2007-03-24 08:54:00
怎么都是双的
org 100h A100
mov dl,1 mov dl,1
mov ah,2 mov ah,2
int 21h int 21
int 20h int 20
把后面的删了试一试
板凳
ccpp [专家分:9360] 发布于 2007-03-24 11:57:00
.model tiny ;com文件
.code
org 100h ;com文件
start:
mov dl,1
;代码
end start
3 楼
xit001 [专家分:20] 发布于 2007-03-24 12:08:00
.model tiny ;com文件
.code
2楼的你的这个点是什么作用呀!!
是不是前面有这个东西生成的 就是.COM文件呀
要是没有的话生成的应该是.EXE文件!
4 楼
ccpp [专家分:9360] 发布于 2007-03-24 14:52:00
程序存储模式说明伪指令的格式如下:
.MODEL 存储模式[,语言类型] [,操作系统类型] [,堆栈类型]
程序可选的存储模式有:TINY、SMALL、COMPACT、MEDIUM、LARGE、HUGE和FLAT。
TINY 在汇编程序MASM 6.11和TASM 4.0,该存储类型是为编写COM文件类型而设置的。程序员还可用汇编命令行选项/AT和连接命令选项/TINY来达到此目的。
简化段定义伪指令在说明一个新段即将开始的同时,也说明了上一个段的结束。在本段定义结束时,也不必用伪指令“ENDS”来标识。
具体的伪指令说明形式及其功能描述如下:
1、代码段定义
.CODE
作用:说明其下面的内容是代码段中内容。
2、堆栈段定义
.STACK [堆栈字节数]
其中,“堆栈字节数”可以不写,其缺省值为1024B。
3、数据段定义
.DATA
5 楼
mygoogle [专家分:500] 发布于 2007-03-24 15:15:00
bu dong
6 楼
ccpp [专家分:9360] 发布于 2007-03-24 16:15:00
data segment
msg db 'hello masm','$'
data ends
stack segment STACK ;stack指明是堆栈段
db 64 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
lea dx,msg
mov ah,09h
int 21h
mov ax,4c00h
int 21h
code ends
end start
使用简化指令后:
.model small
.stack 64
.data
msg db 'hello masm','$'
.code
start:
mov ax,@data
mov ds,ax
lea dx,msg
mov ah,09h
int 21h
mov ax,4c00h
int 21h
end start
7 楼
xit001 [专家分:20] 发布于 2007-03-24 16:19:00
mov ax,@data
这里需要这个@吗?
我来回复