通过动态值调用子例程

康尼

我刚接触68k,我想知道是否可以通过内存中的值调用特定的子例程。

伪代码示例:

X: dc.w 0

routine1: 
code
rts

routine2:
more code
rts

在代码中的某处类似:

move.w #2,X
JSR routine(X)

执行例程2,或者move.w #1,X在例程1之前执行

我不知道,也找不到任何示例,我的猜测是制作一个包含例程的标签,然后使用地址寄存器跳转到特定偏移量,但不知道如何做。

任何帮助都将受到欢迎!

康尼

因此,这就是我最终将Peter Corder解决方案与一些外部建议结合起来的方式:

  TIMELINE:       DC.L __BLOCK_0,__BLOCK_1,__BLOCK_1
    DC.L __BLOCK_2,__BLOCK_2
    DC.L __BLOCK_2,__BLOCK_3 ... etc


 __BLOCK_0:
   ; SOME CODE
   RTS

-在主循环中-

MOVE.W  P61_LAST_POS,D5
LEA TIMELINE,A3
MULU.W  #4,D5     ; OFFSET IN BYTES
MOVE.L  (A3,D5),A4
JSR (A4)        ; EXECUTE SUBROUTINE BLOCK#

其中P61_LAST_POS是增量索引,它随时间变化。

这样,通过编辑LUT“ TIMELINE”,我可以控制在任何给定点执行的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

定义可以通过方法语法调用的子例程

来自分类Dev

为什么通过寄存器调用子例程?

来自分类Dev

自动调用作为子例程引用的哈希值

来自分类Dev

自动调用作为子例程引用的哈希值

来自分类Dev

R调用Fortran子例程

来自分类Dev

从Python调用Access子例程

来自分类Dev

在并行 Fortran do 循环中调用内部子例程时,子例程无法访问迭代变量的正确值

来自分类Dev

从Fortran调用的子例程C ++:如何处理动态内存分配?

来自分类Dev

子例程中调用的子例程中的Application.ScreenUpdating

来自分类Dev

Fortran是否通过子例程多次调用来修改输入参数?

来自分类Dev

从VB6不再可以直接通过名称调用Workbook子例程

来自分类Dev

Fortran是否通过子例程多次调用来修改输入参数?

来自分类Dev

子例程在其调用例程的堆栈中写入是否安全?

来自分类Dev

我想从GNU Parallel在Bash中调用的子例程(函数)返回值

来自分类Dev

在并行环境中调用子例程

来自分类Dev

从R调用并行的fortran MPI子例程

来自分类Dev

Excel加载项从ActiveWorkbook调用子例程

来自分类Dev

从C调用模块中的子例程

来自分类Dev

Perl线程-从模块(pm)调用子例程

来自分类Dev

调用参数为指针别名的子例程

来自分类Dev

Excel加载项从ActiveWorkbook调用子例程

来自分类Dev

从C#调用FORTRAN子例程

来自分类Dev

使用参数调用Excel VBA子例程

来自分类Dev

Perl线程-从模块(pm)调用子例程

来自分类Dev

Perl子例程返回意外值

来自分类Dev

Fortran子例程值关键字

来自分类Dev

Perl子例程未返回任何值

来自分类Dev

将值从函数传递到子例程

来自分类Dev

在fortran的子例程中更新数组的值

Related 相关文章

热门标签

归档