english version while1 - stránky o programování

Instrukční sada procesorů x86

Instrukce přesunu dat

  1. MOV
  2. PUSH
  3. POP
  4. PUSHA
  5. POPA
  6. LAHF
  7. SAHF
MOV (MOVe) : MOV dst, src
přesuň
Přesun dat ze střadače do paměti.
formát: 1010 001W addr
funkce: podle W:
  • W = 0 : (AL)=>addr
  • W = 1 : (AX)=>addr přesun z AX (16) nebo (EAX)=>addr EAX (32) podle módu procesoru (16/32 bitů)

příznaky: nemění
MOV (MOVe) : MOV dst, src
přesuň
Přesun dat z paměti do střadače.
formát: 1010 000W addr
funkce: podle W:
  • W = 0 : (addr)=>AL, přesun do AL
  • W = 1 : (addr)=>AX, přesun do AX (16) nebo (addr)=>EAX, přesun do EAX (32) podle módu procesoru (16/32 bitů)

příznaky: nemění
MOV (MOVe) : MOV dst, src
přesuň
Přesun dat z registru do paměti nebo registru, nebo z paměti do registru (výběr podle D).
formát: 1000 10DW mod reg r/m [displ[disph]]
funkce: podle D:
  • D = 0 : (REG)=>EA (mod, r/m)
  • D = 1 : (EA)(mod, r/m)=>REG

příznaky: nemění
MOV (MOVe) : MOV dst, src
přesuň
Přesun přímého operandu do registru.
formát: 1011 W reg datal [datah]
funkce: data=>REG (podle W se rozhodne mezi 16/32 bitovou operací)
příznaky: nemění
MOV (MOVe) : MOV dst, src
přesuň
Přesun přímého operandu do paměti nebo registru.
formát: 1100 011W mod 000 r/m [displ[disph]] datal [datah]
funkce: data=>EA (mod r/m) (podle W se rozhodne mezi 16/32 bitovou operací)
příznaky: nemění
PUSH (PUSH word to stack) : PUSH src
ulož slovo do zásobníku
Uložení univerzálního registru [E](AX, BX, CX, DX, SI, DI, BP, SP) .
formát: 0101 0 reg
funkce: mód:
  • 16 bitů : (SP)-2=>(SP); (REG)=>(SP)
  • 32 bitů : (ESP)-4=>(ESP); (REG)=>(ESP)

příznaky: nemění
POP (POP word from stack) : POP dst
vyber slovo ze zásobníku
Uložení do univerzálního registru [E](AX, BX, CX, DX).
formát: 0101 1 reg
funkce: mód:
  • 16 bitů : (SP)=>(REG); (SP)+2=>(SP)
  • 32 bitů : (ESP)=>(REG); (ESP)+4=>(ESP);

příznaky: nemění
PUSHA (PUSH to stack All registers) : PUSHA
ulož do zásobníku všechny registry
Uložení celé sady mikroprocesoru 80286+.
formát: 0110 0000 (60)
funkce: jako "PUSH" na AX, BX, CX, DX, SI, DI, BP, SP
příznaky: nemění
POPA (POP from stack All registers) : POPA
vyber ze zásobníku všechny registry
Vyzvednutí celé sady uložené PUSHA.
formát: 0110 0001 (61)
funkce: jako "POP" na AX, BX, CX, DX, SI, DI, BP, SP
příznaky: nemění
LAHF (Load status Flags into AH register) :
naplň registr AH z registru příznaků
Naplnění registru AH hodnotami příznaků z registru příznaků ve tvaru registru příznaků mikroprocesoru Intel 8080.
formát: 1001 1111 (9f)
funkce: (SF):(ZF):0:(AF):0:(PF):(0):(CF) => AH
příznaky: nemění
SAHF (Store AH to Flags) :
ulož registr AH do registru příznaků
Hodnoty určitých příznaků jsou přepsány hodnotami bitů v AH.
formát: 1001 1110 (9e)
funkce: (AH0)=>CF; (AH2)=>PF; (AH4)=>AF; (AH6)=>ZF; (AH7)=>SF;
příznaky: mění (AF, CF, PF, SF, ZF)
Kontakt
Prohlášení o dostupnosti
Tisk stránky
Autor: Václav Bubník © 2005
vbubnik@post.cz
XHTML 1.0| CSS