Différences
Ci-dessous, les différences entre deux révisions de la page.
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:37] – créée frater | back2root:ibm-pc-ms-dos:asm:instr:call [2023/02/23 22:46] – [Tableau] frater | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== CALL - Procedure Call ====== | + | ====== 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. | Pushes Instruction Pointer (and Code Segment for far calls) onto stack and loads Instruction Pointer with the address of proc-name. | ||
Ligne 5: | Ligne 7: | ||
Code continues with execution at CS:IP. | Code continues with execution at CS:IP. | ||
- | ===== INSTR. - Quick Descr ===== | ||
- | |||
- | Descr. | ||
**Usage:** | **Usage:** | ||
<code asm> | <code asm> | ||
- | INSTR Opp, | + | CALL destination ; |
</ | </ | ||
+ | {{tablelayout? | ||
+ | ^ | ||
+ | ^ Operands | ||
+ | | rel16 (near, IP relative) | ||
+ | | rel32 (near, IP relative) | ||
+ | | reg16 (near, register indirect) | ||
+ | | reg32 (near, register indirect) | ||
+ | | mem16 (near, memory indirect) | ||
+ | | mem32 (near, memory indirect) | ||
+ | | ptr16:16 (far, full ptr supplied) | ||
+ | | ptr16:32 (far, full ptr supplied) | ||
+ | | ptr16:16 (far, ptr supplied, prot. mode) | - | ||
+ | | ptr16:32 (far, ptr supplied, prot. mode) | - | ||
+ | | m16:16 (far, indirect) | ||
+ | | m16:32 (far, indirect) | ||
+ | | m16:16 (far, indirect, prot. mode) | - | ||
+ | | 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) | ||
+ | | ptr16:32 (gate, more priv, x parms) | ||
+ | | m16:16 (gate, more priv, x parms) | ||
+ | | m16:32 (gate, more priv, x parms) | ||
- | **Modifies flags: | ||
- | |||
- | <WRAP round box> | ||
- | CF PF AF ZF SF TF IF DF OF <color # | ||
- | <color # | ||
- | </ | ||
- | ^ ^ Clocks | ||
- | ^ Operands | ||
| none | | none | ||
| none (PM) | - | | none (PM) | - |