LOCK - aktivuj signál BUS LOCK: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
(Žádný rozdíl)

Verze z 4. 1. 2013, 15:59

Instrukce
LOCK - aktivuj signál BUS LOCK
Časování
0
Popis
Prefix LOCK před instrukcí vyjadruje, že oblast paměti specifikována operandem instrukce instruction bude zablokována. Toho je dosaženo aktivací signálu BUS LOCK procesoru 80386. Oblast paměti zůstava ve skutečnosti zablokována a protektována, dokud procesor nevykoná instrukci jež odblokuje paměťovou oblast stejnou s oblastí specifikovanou druhým operandem instrukce LOCK. Instrukce u 80386 jež mohou mít prefix LOCK jsou nasledujíci:
  • BT,BTS,BTR,BTC - pamet, registr/bezprostrední operand
  • XCG - pamet, registr
  • XCG - registr, pamet
  • ADC,SUB,ADC,SBB - pamet,registr/bezprostrední operand
  • OR,XOR,AND - pamet, registr/bezprostrední operand
  • NEG,INC,DEC,NOT - pamet


Syntaxe
LOCK instruction, operand_type


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
Je generována všeobecná výjimka porušení ochrany paměti v případe že I/O privilegovaná úroveň je nižší než aktuálni privilegovaná úroveň.


Poznámka pro 80386
Blokovací funkce u 80386 jsou podmnožinou blokovacích funkcí u 8086 a 80286. Aplikace psané pro 8086 a 80286 tedy nemusí probíhat korektně na 80386.


Příklad
LOCK XCG MEM_WRD,AX