奇怪了,书上的程序还这么多错误

dongjiutiao 2009-10-06 07:13:19
DATA SEGMENT
BUFFER DB 1,6,2,5,4,7,3,8,9,8,,"$"
DATA ENDS
CODE SEGNENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,BUFFER
LOP: MOV AL,[SI]
CMP AL,"$"
JE NEXT
OR AL,30H
MOV [SI],AL
INC SI
JMP LOP
NEXT: MOV AH,9
LEA DX,BUFFER
INT 21H
MOV AH,4CH
INT 21
CODE ENDS
END START
出现了17个错误提示。哪里错了??
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongjiutiao 2009-10-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fandelei1982 的回复:]
直接按我在1#的代码有问题吗,那个代码是我改好的,不用再改。第一行的注释是说去掉一个逗号。
[/Quote]
哦!是逗号啊....
friendly_ 2009-10-09
  • 打赏
  • 举报
回复
直接按我在1#的代码有问题吗,那个代码是我改好的,不用再改。第一行的注释是说去掉一个逗号。
tinyparticle 2009-10-09
  • 打赏
  • 举报
回复
DATA SEGMENT
BUFFER DB 1,6,2,5,4,7,3,8,9,8,,"$" ;多了个,
DATA ENDS
CODE SEGNENT ;segment拼错啦
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,BUFFER
LOP: MOV AL,[SI]
CMP AL,"$"
JE NEXT
OR AL,30H
MOV [SI],AL
INC SI
JMP LOP
NEXT: MOV AH,9
LEA DX,BUFFER
INT 21H
MOV AH,4CH
INT 21
CODE ENDS
END START


一楼兄弟说的没错啊,改下就能通过编译了
dongjiutiao 2009-10-09
  • 打赏
  • 举报
回复
error A4910: cannot open file: ML.err
A.asm(4): error A2008: : CODE
A.asm(6): error A2034:
A.asm(7): error A2034:
A.asm(8): error A2034:
A.asm(9): error A2034:
A.asm(10): error A2034:
A.asm(11): error A2034:
A.asm(12): error A2034:
A.asm(13): error A2034:
A.asm(14): error A2034:
A.asm(15): error A2034:
A.asm(16): error A2034:
A.asm(17): error A2034:
A.asm(18): error A2034:
A.asm(19): error A2034:
A.asm(20): error A2034:
A.asm(21): fatal error A1010: : CODE


这是出错信息
txjily 2009-10-09
  • 打赏
  • 举报
回复
学习了,菜鸟
pla_007 2009-10-09
  • 打赏
  • 举报
回复
DATA ENDS
这一行不能去掉。

发代码的时候最好先格式化一下,方便别人查看。
另外,如果是编译错误,最好把错误信息发上来。而不是发代码。
dongjiutiao 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fandelei1982 的回复:]
兄弟你也太粗心了。
Assembly code
DATA SEGMENT
BUFFER DB1,6,2,5,4,7,3,8,9,8,"$";去掉一个,DATA ENDS
CODE SEGMENT;SEGNENT -->SEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,BUFFERLOP:MOV AL,[SI]CMP AL,"$"JE NEXTOR AL,30HMOV [SI],ALINC SIJMP LOPNEXT:MOV AH,9LEA DX,BUFFERINT 21HMOV AH,4CHINT 21H;21 -->21HCODE ENDS
END START
[/Quote]
把这些红的都去掉吗?我该了一下还是不对
dongjiutiao 2009-10-06
  • 打赏
  • 举报
回复
我说的MSDN里说的是什么意思呢

ML 非致命错误 A2034[本文档用于预览仅,和有更高版本中的变更。 空白主题是作为占位符]。

必须在段块

以下的其中一个被发现在一段块的外部:

指令

标签定义

THIS 运算符

$ 运算符

一个过程定义

一个 对齐 指令

一个 ORG 指令

沐浴-vip 2009-10-06
  • 打赏
  • 举报
回复
补充一下,在汇编里,数字最后加B为二进制,Q为八进制,D为十进制,H为十六进制……
沐浴-vip 2009-10-06
  • 打赏
  • 举报
回复
书本偶尔会有一些错误的,有时候是因为编译环境不同,有时候是因为标准改变了,更有甚者就是错误,不要迷信书本,IT技术变革太快了,楼主,加油~!
friendly_ 2009-10-06
  • 打赏
  • 举报
回复
兄弟你也太粗心了。

DATA SEGMENT
BUFFER DB 1,6,2,5,4,7,3,8,9,8,"$" ;去掉一个,
DATA ENDS
CODE SEGMENT ;SEGNENT -->SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,BUFFER
LOP: MOV AL,[SI]
CMP AL,"$"
JE NEXT
OR AL,30H
MOV [SI],AL
INC SI

JMP LOP
NEXT: MOV AH,9
LEA DX,BUFFER
INT 21H
MOV AH,4CH
INT 21H ;21 -->21H
CODE ENDS
END START

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧