Difference between revisions of "Assembler:Commands:JMP"
Jump to navigation
Jump to search
(Created page with ''''command''' jmp ''mnemonic'' ''operand'' Jumps to the given operand (address). === Command Parameters === {|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" bor…') |
|||
| Line 71: | Line 71: | ||
add [rax],al | add [rax],al | ||
db 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 | db 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 | ||
| + | ret | ||
[[File:Assembler.JMP.01.png]] | [[File:Assembler.JMP.01.png]] | ||
Revision as of 09:43, 13 March 2017
command jmp mnemonic operand
Jumps to the given operand (address).
Command Parameters
| Parameter | Description |
|---|---|
| mnemonic OPTIONAL | The preferred size of the assembled address |
| operand | The address or symbol to jump to |
Examples
jmp +1A // Jump from end of command to +1A (hex).
jmp 00123ABC // Jump to address.
jmp 0000123456ABCDEF // Jump to address.
jmp eax // Jump to value of eax.
jmp rax // Jump to value of rax.
jmp someSymbol // Jump to user defined symbol.
jmp someLabel // Jump to label.
jmp short someLabel // Jump to label with short byte code.
jmp long someLabel // Jump to label with full address.
jmp @b // Jump back to closest anonymous label (@@:).
jmp @f // Jump forward to closest anonymous label (@@:).
Running this script in 64 bit mode:
globalAlloc(memTest, 0x200)
label(testLbl)
memTest:
add [rax],al // db 00 00
@@:
add [rax],al
jmp short @b
jmp short @f
add [rax],al
@@:
add [rax],al
add [rax],al
jmp short -4
jmp short +2
add [rax],al
testLbl:
add [rax],al
jmp 01160002
add [rax],al
jmp rax
add [rax],al
jmp memTest
add [rax],al
jmp testLbl
add [rax],al
jmp short testLbl
add [rax],al
jmp long testLbl
add [rax],al
db 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
ret
