Coldfire / m68k跳转编码问题

时间:2014-08-16 15:07:04

标签: math assembly 68000 coldfire

所以我正在使用coldfire(mcf5225x系列),我遇到了跳转编码的一些问题,在这种情况下,它具有与68k相同的二进制表示。

asmtest.o:     file format elf32-m68k

Disassembly of section .text:

00000000 <_start>:
   0:   0682 0000 0040  addil #64,%d2
   6:   d481            addl %d1,%d2
   8:   4efa 0008       jmp %pc@(12 <exit>)
   c:   0682 ffff ffff  addil #-1,%d2

00000012 <exit>:
  12:   d081            addl %d1,%d0

正如您所看到的,jmp指令的模式和寄存器是111010,表示与PC的16位字扩展偏移。 16位扩展是与当前地址8hex的8hex偏移。它应该会产生12但是,我的数学说我得到了10.这里有什么问题,为什么看起来跳转到错误的地址正在生成?它在我正在设计的处理器模型中引起了一些问题。任何帮助都会受到重视!

0 个答案:

没有答案