首页
社区
课程
招聘
[求助]编写脚本的问题
发表于: 2006-7-10 23:23 3962

[求助]编写脚本的问题

2006-7-10 23:23
3962
在查看Loveboom大侠的脚本后,有些不明白
请各位大侠予于指教。

start:
  sto
  sti
  mov addr,esp
  add addr,4
  bphws addr,"r"
  eob lbl1       //这里不是很明白。
  run            //这里为什么不跟上面一行替换位置呢?

lbl1:
  bphwc addr
  sto
  sto

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
当我替换过位置后,也是可以运行。

但我不是很明白 如果没有替换位置的时候。当“跳转到指定标签处”后,那run 不就不起作用了?
2006-7-10 23:25
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
OllyScript 的语法似乎不是太精确
一般上个中断会跳转到其下的标签处处理
2006-7-11 00:20
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
我简单的回答你吧,我看源程序有点优势.

eob和eoe都是等中断和异常后,判断是否需要跳转到标签位置,那么它就必须在中断(异常)发生前在脚本解释器中留下判定的标记.
源码原理如下:

(1)EOB_row = labels[ops[0]]     ;(标记EOB标签,如果没有EOB就标记为-1)
(2)script_state = SS_INITIALIZED;(查看脚本的状态)
(3)如果是eob(eoe)不为-1,则跳去相应的标签位开始继续脚本.

所以,你所疑问的问题,如果Run或者esto在前面,由于没有标记
eob(eoe)标志位,那么,一到脚本中断状态下,就等于不能转流程了

这个并不是ODBGscript的问题,而是设计上它的流程确定的.

希望能帮你解惑.
2006-7-12 00:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢2位的回答,让我懂得了不少。
2006-7-13 19:09
0
雪    币: 556
活跃值: (2298)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
6
前期写的脚本吧,其实那个eob是可以不要的,你的那个问题,我看根本可能是在你对EOB和EOE的概念不清楚.
eob   当发生中断后跳去一个位置
eoe   当发生异常后跳去一个位置

eob lbl1   发生中断后跳去lbl1
run
           //因此你写在这里或不写结果也是一样的
      
lbl1:
  //code
2006-7-13 19:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 loveboom 发布
前期写的脚本吧,其实那个eob是可以不要的,你的那个问题,我看根本可能是在你对EOB和EOE的概念不清楚.
eob 当发生中断后跳去一个位置
eoe 当发生异常后跳去一个位置

eob lbl1 发生中断后跳去lbl1
........


恩,我现在已经明白了
2006-7-13 19:22
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 hnhuqiong 发布
我简单的回答你吧,我看源程序有点优势.

eob和eoe都是等中断和异常后,判断是否需要跳转到标签位置,那么它就必须在中断(异常)发生前在脚本解释器中留下判定的标记.
源码原理如下:

........

谢谢,又长见识了
2006-7-13 19:36
0
游客
登录 | 注册 方可回帖
返回
//