吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8142|回复: 4
收起左侧

[其他转载] 一个汇编的程序。帮我看看哪里错了。郁闷

[复制链接]
回首以惘然 发表于 2009-6-13 17:43
本帖最后由 回首以惘然 于 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,[bx][si]3
      and ax,0000000011011111b
      mov [bx][si]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

构建时发生错误.

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qyc0129 发表于 2009-6-13 17:52
不会这个
只会E
帮不了你
zzage 发表于 2009-6-13 23:10
assume code:cs stack:ss data:ds
明显写错了...
应该为:
assume cs:code,ss:stack,ds:data

mov ax,[bx][si]3
...这种基址变址寻址方式LZ不觉得很奇怪吗....
 楼主| 回首以惘然 发表于 2009-6-16 08:47
本帖最后由 回首以惘然 于 2009-6-16 08:49 编辑

mov ax,[bx][si]3  我本来是想写成[bx+si+3]的   但怕编译器不认。就给改成那样了。谢谢楼上的大哥了

总是你来帮助我。HOHO```

把assume cs:code,ss:stack,ds:data
改了也不对。我的编译器是RadASM     寻址改成[bx+si+3]也是错的。我无语了
zzage 发表于 2009-6-16 11:08
这是DOS程序!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 04:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表