注册 登录
编程论坛 汇编论坛

[求助]请教:为什么org无法编译?

snfuksse 发布于 2006-07-12 20:25, 769 次点击

这个程序请问是否有问题,为什么编成EXE后,运行总出现这样的问题:
NTVDM CPU 遇到无效指令。
CS:0000 IP:0077 OP:f0 37 05 0e 02 选择“关闭”终止应用程序。

选择“忽略”,却出现了一团乱码。
我试过去掉org这行指令,但是去了之后什么也没有。请问这是怎么回事?是CPU的问题吗?

程序:
code  segment
  assume cs:code,ds:code
  org 100h
main  proc near
  jmp start
mess db'hello,world!',0dh,0ah,24h
start: mov dx,offset mess
mov ah,09
int 21h
int 20h
main endp
code ends
end main

4 回复
#2
zhangenter2006-07-17 13:48
data segment
mess db 'hello,world!',0dh,0ah,24h
data ends
code segment
assume cs:code,ds:data
main proc near
jmp start
start: mov ax,data
mov ds,ax
mov dx,offset mess
mov ah,09
int 21h
mov ah,01h
int 21h
main endp
code ends
end main
#3
snfuksse2006-07-31 09:59

谢谢

#4
maker3162006-08-15 13:29

我想我的这个方法应该可以吧
CODES SEGMENT
ASSUME CS:CODES, DS:CODES, ES:CODES, SS:CODES
ORG 100H
START: JMP MAIN
MESS DB 'Hello', 0DH, 0AH, '$'
MAIN: MOV DX, OFFSET MESS
MOV AH, 9H
INT 21H

MOV AH, 4CH
INT 21H
CODES ENDS
END START

#5
maker3162006-08-15 13:35

用TASM或者MASM编译并连接成EXE文件
然后用EXE2BIN转成COM文件 只有33个字节哦

1