首页 > 解决方案 > jmp 使用表性能(周期(延迟))

问题描述

我的问题是关于jmp此源代码中的性能(周期(延迟)):

...
jmp qword [8 * rax + .TABLE]

.... (about 10K instructions)

.TABLE:
   dq .addr1
   dq .addr2
   dq .addr3
   dq .addr4
   ...
   dq .addr1024

这里的跳转表很远jmp(它们之间大约有10K指令(出于某种原因......))并且rax是索引并且RAX是我们的索引所以我想知道这个JUMP的类型......它是什么?跳得很远吗?这些跳跃中的哪一个是我的跳跃?

JMP rel8
JMP rel16
JMP rel32
JMP r/m16
JMP r/m32
JMP r/m64
JMP ptr16:16
JMP ptr16:32
JMP m16:16
JMP m16:32
JMP m16:64

这个 jmp 的 CYCLE(延迟)是多少?

标签: performanceassemblyx86-64

解决方案


推荐阅读