一个汇编的程序。帮我看看哪里错了。郁闷
本帖最后由 回首以惘然 于 2009-6-13 17:44 编辑再次麻烦大家。帮我看看。为什么编译错误
.386
.model flat,stdcall
option casemap:none
assume code:cs stack:ss data:ds
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov cx,4
mov bx,0
s:push cx
mov si,0
mov cx,4
s0:mov ax,3
and ax,0000000011011111b
mov 3,al
inc si
loop s0
add bx,16
pop cx
loop s
mov ax,4c00h
int 21h
code ends
end start
end
=======================================================
补充一下。我用的编译器是:RadASM
编译错误提示是:
D:\RadASM\Masm\Projects\1.asm(6) : error A2008: syntax error : code
D:\RadASM\Masm\Projects\1.asm(32) : error A2206: missing operator in expression
D:\RadASM\Masm\Projects\1.asm(34) : error A2206: missing operator in expression
D:\RadASM\Masm\Projects\1.asm(22) : error A2004: symbol type conflict
D:\RadASM\Masm\Projects\1.asm(25) : error A2004: symbol type conflict
构建时发生错误. 不会这个
只会E
帮不了你 assume code:cs stack:ss data:ds
明显写错了...
应该为:
assume cs:code,ss:stack,ds:data
mov ax,3
:dizzy: ...这种基址变址寻址方式LZ不觉得很奇怪吗.... 本帖最后由 回首以惘然 于 2009-6-16 08:49 编辑
mov ax,3我本来是想写成的 但怕编译器不认。就给改成那样了。谢谢楼上的大哥了
总是你来帮助我。HOHO```
把assume cs:code,ss:stack,ds:data
改了也不对。我的编译器是RadASM 寻址改成也是错的。我无语了 这是DOS程序!
页:
[1]