Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
back2root:ibm-pc-ms-dos:asm:instr:call [2023/02/23 22:46] – frater | back2root:ibm-pc-ms-dos:instr:call [2023/02/24 14:16] – supprimée - modification externe (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== CALL ====== | ||
- | |||
- | ===== CALL - Procedure Call ===== | ||
- | |||
- | Pushes Instruction Pointer (and Code Segment for far calls) onto stack and loads Instruction Pointer with the address of proc-name. | ||
- | |||
- | Code continues with execution at CS:IP. | ||
- | |||
- | |||
- | **Usage:** | ||
- | <code asm> | ||
- | CALL destination ; | ||
- | </ | ||
- | |||
- | ^ ^ Clocks | ||
- | ^ Operands | ||
- | |rel16 (near, IP relative) |19 | ||
- | |rel32 (near, IP relative) |- |- | ||
- | |reg16 (near, register indirect) |16 | ||
- | |reg32 (near, register indirect) |- |- | ||
- | |mem16 (near, memory indirect) |- | ||
- | |mem32 (near, memory indirect) |- | ||
- | |ptr16:16 (far, full ptr supplied) |28 | ||
- | |ptr16:32 (far, full ptr supplied) |- |- | ||
- | |ptr16:16 (far, ptr supplied, prot. mode) |- |26 | ||
- | |ptr16:32 (far, ptr supplied, prot. mode) |- |- | ||
- | |m16:16 (far, indirect) | ||
- | |m16:32 (far, indirect) |- |- | ||
- | |m16:16 (far, indirect, prot. mode) |- |29 |38+m | ||
- | |m16:32 (far, indirect, prot. mode) |- |- | ||
- | |ptr16:16 (task, via TSS or task gate) |- | ||
- | |m16:16 (task, via TSS or task gate) |- | ||
- | |m16:32 (task) |- |- | ||
- | |m16:32 (task) |- |- | ||
- | |ptr16:16 (gate, same privilege) |- | ||
- | |ptr16:32 (gate, same privilege) |- |- | ||
- | |m16:16 (gate, same privilege) | ||
- | |m16:32 (gate, same privilege) |- |- | ||
- | |ptr16:16 (gate, more priv, no parm) |- | ||
- | |ptr16:32 (gate, more priv, no parm) |- |- | ||
- | |m16:16 (gate, more priv, no parm) |- | ||
- | |m16:32 (gate, more priv, no parm) |- |- | ||
- | |ptr16:16 (gate, more priv, x parms) |- |86+4x |94+4x+m | ||
- | |ptr16:32 (gate, more priv, x parms) |- |- | ||
- | |m16:16 (gate, more priv, x parms) |- | ||
- | |m16:32 (gate, more priv, x parms) |- |- | ||
- | |||
- | |||
- | |||
- | | none | ||
- | | none (PM) | - | ||
- | | reg, | ||
- | | mem, | ||
- | | reg, | ||
- | | reg, | ||
- | | mem, | ||
- | | accum, | ||
- | |||
- | {{page>: | ||