问题7,9的代码编译不了有错误提示
assume cs:codesg,ss:stacksg,ds:datasgstacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:mov ax,stacksg
mov ss,ax
mov sp 16
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s0: push cx
mov si,0
mov cx,4
s: mov al,
and al,11011111b
mov ,al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
#########################################################
D:\resource\folder>masm 1.txtMicrosoft (R) MASM Compatibility DriverCopyright (C) Microsoft Corp 1993.All rights reserved.
Invoking: ML.EXE /I. /Zm /c /Ta 1.txt
Microsoft (R) Macro Assembler Version 6.15.8803 Patched for you by promethee in the year 2001 - enjoyCopyright (C) Microsoft Corp 1981-2000.All rights reserved.
Assembling: 1.txt1.txt(16) : error A2008: syntax error : in instruction1.txt(25) : error A2070: invalid instruction operands1.txt(27) : error A2070: invalid instruction operands
这是为什么呢?
第16行代码 SP 后加个逗号,不加逗号编译器认为只有操作符,没有操作数。 还有就是代码 最后加
end start 。我就弄了这两个地方,就编译通过了。 谢谢楼上 按你说的做还是不行,还要把改成才可以不知道为什么 我 编译过只看到D:\resource\folder>debug 1.exe
-r
AX=0000BX=0000CX=0081DX=0000SP=0000BP=0000SI=0000DI=0000
DS=13D8ES=13D8SS=13E8CS=13EDIP=0000 NV UP EI PL NZ NA PO NC
13ED:0000 B8E813 MOV AX,13E8
-d 13d8:0 3f
13D8:0000CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 E5 0D 8A 03 . ........O.....
13D8:0010E5 0D 17 03 E5 0D D4 0D-01 01 01 00 02 FF FF FF ................
13D8:0020FF FF FF FF FF FF FF FF-FF FF FF FF 92 13 4C 01 ..............L.
13D8:0030A5 12 14 00 18 00 D8 13-FF FF FF FF 00 00 00 00 ................为什么不是别人这样呢?-d0c4e:0 3f
0C4E:0000 31 2E 20 64 69 73 70 6C-61 79 20 20 20 20 20 20 1. display
0C4E:0010 32 2E 20 62 72 6F 77 73-20 20 20 20 20 20 20 20 2. brows
0C4E:0020 33 2E 20 72 65 70 6C 61-63 65 20 20 20 20 20 20 3. replace
0C4E:0030 34 2E 20 6D 6F 64 69 66-79 20 20 20 20 20 20 20 4. modify sslas 发表于 2011-7-19 12:49 static/image/common/back.gif
谢谢楼上 按你说的做还是不行,还要把改成才可以不知道为什么
呵呵,可能是编译器版本不同。 本帖最后由 a89361461 于 2011-7-19 18:32 编辑
sslas 发表于 2011-7-19 13:19 http://bbs.fishc.com/static/image/common/back.gif
我 编译过只看到为什么不是别人这样呢?
这是我执行后看到的结果,你的IP为0,代码并没有执行。你看到的当然是DS段原先的数据啦。先猛按 T 执行完就能看到了。{:5_109:}
sslas 发表于 2011-7-19 12:49 static/image/common/back.gif
谢谢楼上 按你说的做还是不行,还要把改成才可以不知道为什么
我和你出现了一样的问题。
页:
[1]