PUSHA/POPA existuje až od 286. Ale hlavně, PUSHA sežere mnohem více zásobníku než PUSH jen potřebných registrů. A zásobník je při API operačního systému asi ta nejkritičtější věc. Každý použitý bajt na zásobníku operačním systémem je velké, převeliké zlo, a může být tou poslední kapkou do pekla.
S tím dolarem je to tak, že dolar byl všeobecný oddělovač všude možně. Dolarem se oddělovaly v assemblerech příkazy assembleru (pseudoinstrukce) od instrukcí. V řadě databázových strojů, například MySQL je dodnes dolar jediným oddělovacím znakem, který nemusíte v identifikátorech databázových objektů (tabulek, procedur, ...) escapovat.
Fakt není třeba ze CP/M a Gary Kildalla dělat vynálezce dolaru jako terminátoru/separátoru věcí. I ten Gary Killdal to jen sprostě obšlehl třeba z kompilátoru assembleru, ve kterém napsal svůj CP/M. Každý, kdo v té době žil - včetně Billa Gatese - nasázel dolar jako terminátor/separátor na řadu míst. Dělal jsem to tak i já, a fakt jsem to neobšlehl od nějakého CP/M.
Takže když se Gary (jak tu kdosi navrhuje níže) zeptá Billa Gatese, proč řetězce v API int21h, al=9 končí dolarem, jednoduchá odpověď bude: "Protože jsem to ty kluku ušatá, Killdalová opsal z konvencí všeho kolem, stejně jako ty."