编译器相关
stack segment stackdw 100 dup (?)
stack ends
data segment
x1 db 'please input a letter','$' ;必须'$'结尾
x2 db 'zhongyunde','$' ;
data ends
code segment
assume cs:code,ds:data,ss:stack
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov ah,1h
int 21h
cmp al,0
jz start
call far ptr xx2
mov ah,1h
int 21h
ret
xx2 proc ;far
;mov ax,data
;mov ds,ax
mov dx,offset x2
mov ah, 9h
int 21h
ret
xx2 endp
code ends
end start
上面的代码在 masm5.0上能够编译、链接
但是使用 RadASM2.2.1.1却不能通过编译
提示:
C:\RadASM\projects\dd.asm(14) : error A2004: symbol type conflict
C:\RadASM\projects\dd.asm(36) : warning A4023: with /coff switch, leading underscore required for start address : start
是不是因为 masm5.0 编译的是16位汇编代码
而现在这个 RadASM2.2.1.1 却只能编译32位汇编代码??