需要汇编语言编码帮助

时间:2010-11-23 21:58:44

标签: assembly

有人可以改进此代码(MC9S08JM60):

ldhx  #0xDFC4;  // Vector location
ldhx  ,x        // Fetch vector contents
jsr   ,x        // Execute interrupt function

我想要做的是跳转到0xABCD位置, 0xAB 位于 0xDFC4 中, 0xCD 位于 0xDFC5

所以,上面的代码似乎没有跳转到 ABCD 位置。

1 个答案:

答案 0 :(得分:1)

HCS08 Reference Manual在这种情况下很方便:

指令的立即模式LDHX将地址0xDFC4的字节装入“H”寄存器,将地址0xDFC5的字节装入“X”寄存器。

我认为你的第二条指示没问题。

但我认为你的第三条指令JumptoSubRoutine(JSR)会进行偏移跳跃。试试JMP,x

另请注意,JSR会将当前(返回)地址推送到堆栈,从而有效地将堆栈指针递增2。