Instrukcje procesorów rodziny 80x86 (J)
| Jxx | Jump Instructions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Użycie | Jxx label | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Modyfikowane flagi | Brak | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | Liczba cykli zegara | Rozmiar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parametry | 808x | 286 | 386 | 486 | Bajtów | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Jx: jump | 16 | 7+m | 7+m | 3 | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| no jump | 4 | 3 | 3 | 1 | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Jx: near-label | - | - | 7+m | 3 | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| no jump | - | - | 3 | 1 | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JCXZ/JECXZ | Jump if Register (E)CX is Zero | |||||
| Użycie | JCXZ label JECXZ label (386+) | |||||
| Modyfikowane flagi | Brak | |||||
| Powoduje skok do label, jeżeli rejestr CX = 0. Używa porównania bez znaku. | ||||||
| | Liczba cykli zegara | Rozmiar | ||||
| Parametry | 808x | 286 | 386 | 486 | Bajtów | |
| label: jump | 18 | 8+m | 9+m | 8 | 2 | |
| no jump | 6 | 4 | 5 | 5 | | |
| JMP | Unconditional Jump | |||||
| Użycie | JMP target | |||||
| Modyfikowane flagi | Brak | |||||
| Bezwarunkowy skok do target. Skoki domyślnie są z przedziału od -32768 tdo32767 bajtów od instrukcji po instrukcji skoku. Skoki typu NEAR i SHORT powodują zmianę rejestru IP, a FAR zmianę rejestrów CS i IP. | ||||||
| | Liczba cykli zegara | Rozmiar | ||||
| Parametry | 808x | 286 | 386 | 486 | Bajtów | |
| rel8 (relative) | 15 | 7+m | 7+m | 3 | | |
| rel16 (relative) | 15 | 7+m | 7+m | 3 | | |
| rel32 (relative) | - | - | 7+m | 3 | | |
| reg16 near, register indirect) | 11 | 7+m | 7+m | 5 | | |
| reg32 (near, register indirect) | - | - | 7+m | 5 | | |
| mem16 (near, mem indirect) | 18+EA | 11+m | 10+m | 5 | | |
| mem32 (near, mem indirect) | 24+EA | 15+m | 10+m | 5 | | |
| ptr16:16 (far, dword immed) | - | - | 12+m | 17 | | |
| ptr16:16 (far, PM dword immed) | - | - | 27+m | 19 | | |
| ptr16:16 (call gate, same priv.) | - | 38+m | 45+m | 32 | | |
| ptr16:16 (via TSS) | - | 175+m | TS | 42+TS | | |
| ptr16:16 (via task gate) | - | 180+m | TS | 43+TS | | |
| mem16:16 (far, indirect) | - | - | 43+m | 13 | | |
| mem16:16 (far, PM indirect) | - | - | 31+m | 18 | | |
| mem16:16(call gate, same priv.) | - | 41+m | 49+m | 31 | | |
| mem16:16 (via TSS) | - | 178+m | 5+TS | 41+TS | | |
| mem16:16 (via task gate) | - | 183+m | 5+TS | 42+TS | | |
| ptr16:32 (far, 6 byte immed) | - | - | 12+m | 13 | | |
| ptr16:32 (far, PM 6 byte immed) | - | - | 27+m | 18 | | |
| ptr16:32 (call gate, same priv.) | - | - | 45+m | 31 | | |
| ptr16:32 (via TSS) | - | - | TS | 42+TS | | |
| ptr16:32 (via task state) | - | - | TS | 43+TS | | |
| m16:32 (far, address at dword) | - | - | 43+m | 13 | | |
| m16:32 (far, address at dword) | - | - | 31+m | 18 | | |
| m16:32 (call gate, same priv.) | - | - | 49+m | 31 | | |
| m16:32 (via TSS) | - | - | 5+TS | 41+TS | | |
| m16:32 (via task state) | - | - | 5+TS | 42+TS | | |
Autorzy:
Dryobates
LKS
Vogel
Wirek


