Instrukcje procesorów rodziny 80x86 (J)
Dryobates
| 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 |