POTO 发表于 2007-1-26 22:49:43

BASIC程序会装载到$2000运行....

POTO 发表于 2007-1-26 22:51:07

引用第0楼lzjseed于2007-01-26 20:56发表的“高手来回答一下!!!!!”:
不遇到goto的时候程序还好,但一但遇到goto语句就会报告出错!这到底是怎么回事?
不理解意思

lzjseed 发表于 2007-1-26 23:07:16

我想知道一般在basic的运行地址范围插入汇编是用什么方法呢?

lzjseed 发表于 2007-1-26 23:16:01

还有就是说遇到goto语句后如果是往前面跳转就会出错,如果往后跳转就没有!不知道是怎么回事!

Isword 发表于 2007-1-27 09:13:52

引用第3楼lzjseed于2007-01-26 23:07发表的“”:
我想知道一般在basic的运行地址范围插入汇编是用什么方法呢?
用POKE,其实POKE就相当与汇编里的STA,然后在CALL来执行嵌的入汇编程序.CALL相当于JSR.

shenji 发表于 2007-1-27 13:21:04

你的汇编把BASIC的内容覆盖了,你的GOTO当然出问题了。。。

Isword 发表于 2007-1-27 14:27:46

建议LZ把嵌入的汇编程序送到$2000--$3FFF之间,这样就不会覆盖掉BASIC程序了!!
以为BASIC解释器是从$4000开始加载程序的!

POTO 发表于 2007-1-27 16:53:07

好像不是从4000开始运行的....

lzjseed 发表于 2007-1-27 19:01:07

我是用poke把数据放在内存里的,而且也是在$2000~$3fff之内的呀!怎么回事呢?

lzjseed 发表于 2007-1-27 21:29:05

我只是想知道在basic环境下$2000~$3fff之间要用汇编该怎么样做才不会引起错误!

Isword 发表于 2007-1-27 21:40:52

给你个例子好了!!
10 FOR I =0 TO 3: READ A:A(I) =A
20 DATA 0,39,5,96
30 POKE I +8192,A(I)
40 NEXT
50 CALL 8192

POTO 发表于 2007-1-27 21:46:53

晕!估计是我弄错了!

POTO 发表于 2007-1-27 21:50:08

对,一遇到GOTO就会出错!好像是GVBASIC的问题(我原先写程序也遇见过)
比如
1 PRINT "HELLO"
10 FOR I =0 TO 3: READ A:A(I) =A
20 DATA 0,39,5,96
30 POKE I +8192,A(I)
40 NEXT
50 CALL 8192
60 GOTO 1

lzjseed 发表于 2007-1-27 22:10:38

那怎么做才能防止这种情况的发生呢?应该有的吧?各位高手们!

lzjseed 发表于 2007-1-27 22:14:24

引用第11楼Isword于2007-01-27 21:40发表的“”:
给你个例子好了!!
10 FOR I =0 TO 3: READ A:A(I) =A
20 DATA 0,39,5,96
30 POKE I +8192,A(I)
40 NEXT
.......
这样是没问题,但一但之后有goto语句并是向前跳转就会出错
比如我再加一句60 GOTO 50 ,系统就会报错!

gcwy 发表于 2007-1-28 07:30:06

这样应该不会错吧!
大不了这样改!
0 REM:XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX
1 PRINT "HELLO"
10 FOR I =0 TO 3: READ A:A(I) =A
20 DATA 0,39,5,96
30 POKE I +8192,A(I)
40 NEXT
50 CALL 8192
60 GOTO 1

gcwy 发表于 2007-1-28 07:30:45

你看看这吧
也是GOTO的问题!
http://www.emsky.net/bbs/read.php?tid=15508&keyword=

lzjseed 发表于 2007-1-28 11:50:37

引用第16楼gcwy于2007-01-28 07:30发表的“”:
这样应该不会错吧!
大不了这样改!
0 REM:XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX
.......
我试过了,但还是有行号不存在的错误!

lzjseed 发表于 2007-1-31 23:38:23

没有人能解决下吗??

lzjseed 发表于 2007-2-10 12:27:56

高手们到现在还没有人能回答下?
页: [1] 2
查看完整版本: 高手来回答一下!!!!!