这是什么错了??
本帖最后由 C语言鱼c 于 2014-5-3 17:04 编辑assume cs:code
a segment
db 1, 2, 3, 4, 5, 6, 7, 8
a ends
b segment
db 1, 2, 3, 4, 5, 6, 7, 8
b ends
c segment
db 0, 0, 0, 0, 0, 0, 0, 0
c ends
code segment
start: mov ax, c
mov ds, ax
mov bx, a
mov es, bx
mov cx, 8
mov dx, 0
s: mov cx, es:
mov ds:, cx
add dx, 2
loop s
mov ax, b
mov es,ax
mov cx, 8
mov dx, 0
s1: mov cx, es:
add ds:, cx
add dx, 2
loop s1
mov ax, 4c00h
int 21h
code ends
end start
这是什么错了????????????????????????????????
ML.EXE文件 应该和你的002.asm 文件 在同一个文件夹内,
还有 31行的mov es:ax 应该是 mov es,ax 豪豪 发表于 2014-5-3 16:46 static/image/common/back.gif
ML.EXE文件 应该和你的002.asm 文件 在同一个文件夹内,
还有 31行的mov es:ax 应该是 mov es,ax
ML.EXE文件和002.asm 文件是 在同一个文件夹内
31行修改后还是错, c 有什么问题??????
不再同意文件夹 找不到你的文件目录请修改下即可! 1.asm(12) : error A2008:: c
1.asm(13) : error A2034:
1.asm(14) : error A2008:: c
1.asm(18) : error A2008:: c
1.asm(25) : error A2031:
1.asm(26) : error A2031:
1.asm(35) : error A2031:
1.asm(36) : error A2031:
c segment
db 0, 0, 0, 0, 0, 0, 0, 0
c ends
第一个问题:命名问题,你不该命名为 "c",把名字改了就行,具体什么原因,可能c是有特别的用处吧。
s: mov cx, es:[dx]
mov ds:[dx], cx
第二个问题:[ ]里面如果你想放寄存器,必须是 bx,si,di,,bp 这几个寄存器,当然如果你使用bp的话,那他默认的段地址是SS,其他的寄存器在一般的指令下,默认段寄存器是DS。
xiaosawanjava 发表于 2014-5-3 18:01 static/image/common/back.gif
1.asm(12) : error A2008:: c
1.asm(13) : error A2034:
1.asm(14) : error A2008:: c
assume cs: code
a segment
db 1, 2, 3, 4, 5, 6, 7, 8
a ends
b segment
db 1, 2, 3, 4, 5, 6, 7, 8
db 1, 2, 3, 4, 5, 6, 7, 8
b ends
d segment
db 0,0,0,0,0,0,0,0 ;八个零
d ends
code segment
start: mov ax, d
mov ds, ax
mov ax, a
mov es, ax
mov cx, 8
mov bx, 0
s: mov cx, es:
mov ds:, cx
add bx, 2
loop s
mov ax, b
mov es, ax
mov cx, 8
mov bx, 0
s1: mov cx, es:
add ds:, cx
add bx, 2
loop s1
mov ax, 4c00h
int 21h
code ends
end start
现在改好了, 过了好长时间没有碰汇编了,
这次编译已经没有错了,
可是用debug跟踪时,按t,都是一些不懂得代码,跟踪到一条代码时,按什么也没有用,只能关掉窗口。
在我的记忆中C是关键字
话说你怎么学汇编了???
你不是在学C啊 牡丹花下死做鬼 发表于 2014-5-24 17:32 static/image/common/back.gif
在我的记忆中C是关键字
话说你怎么学汇编了???
你不是在学C啊
开学的时候就在学汇编了
我c已经改了,还是不行
页:
[1]