Assembler: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
m (1 revízia: Assembler) |
|||
Řádek 16: | Řádek 16: | ||
:[[Vstupní a závěrečný kód]] | :[[Vstupní a závěrečný kód]] | ||
− | :[[ | + | :[[asm]] |
[[Category:assembler]] | [[Category:assembler]] |
Verze z 12. 10. 2012, 16:05
Assembler je procedurální direktiva. S direktivou assembler lze psát kompletní funkce a procedury v integrovaném assembleru bez příkazové části begin..end.
Direktiva assembler způsobí, že překladač Turbo Pascalu vykonává tyto optimalizační kroky:
- Hodnotové parametry: Překladač negeneruje kód, který kopíruje hodnotové parametry do lokálních proměnných.
- Proměnná výsledku funkce: Překladač nealokuje proměnnou výsledku, odkaz na symbol @Result je chybný.
- Zásobníkový rámec: Překladač negeneruje zásobníkový rámec pro procedury a funkce bez parametrů a lokálních proměnných.
Optimalizace hodnotových parametrů působí na všechny parametry typu řetězec a další parametry, jejichž délka není 1, 2 nebo 4 bajty.
V takových procedurách a funkcích, tyto parametry musí být zpracovány jako kdyby byly volané odkazem.
Řetězcové funkce jsou vyjímkou v optimalizaci, vždy mají ukazatel @Result na místo, které je alokováno volajícím této funkce.
- Viz také
- Vstupní a závěrečný kód