Ale ale. Přesměrování INT21H na alternativní handler samo o sobě nic nestojí. Ten handler jen porovná číslo služby s tou, kterou nahrazuje či modifikuje, a pokud nenastane shoda, tak předá řízení původnímu handleru. Jde o pár instrukcí.
LOL. ZX Spectrum prostě nemělo API, a počítalo se primárně s použitím BASICu. Rutiny, jaksi neoficiálně používané aplikacemi psanými v ASM, se prostě volaly na adrese, na které při kompilaci firmwaru náhodou skončily. To je samozřejmě "nesmírně praktické", když se firmware jakkoliv změní. O možnosti běhu na jiném HW vůbec nemluvě. Podívejte se, jak bylo realizované API v CP/M. Do registru C nacpete číslo funkce API, a provedete CALL 5H. Vlastní rutina například pro otevření souboru může být umístěná kdekoliv, nezávisle na implementaci, nezávisle na verzi.
S těmi DLL to má být pokus o humor? Nebo jste ještě neslyšel o dynamickém linkování?

