回 帖 发 新 帖 刷新版面

主题:大家帮我看看怎么改呀??

程序:
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个回复)

沙发

怎么都是双的

org 100h A100 
mov dl,1 mov dl,1 
mov ah,2 mov ah,2 
int 21h int 21 
int 20h int 20 

把后面的删了试一试

板凳

.model tiny  ;com文件
.code 
org 100h     ;com文件
start:

mov dl,1  
;代码

end start

3 楼

.model tiny  ;com文件
.code 
2楼的你的这个点是什么作用呀!!
是不是前面有这个东西生成的 就是.COM文件呀
要是没有的话生成的应该是.EXE文件!

4 楼

程序存储模式说明伪指令的格式如下: 

.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 楼

bu dong

6 楼

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 楼

mov ax,@data
这里需要这个@吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册