Ezen igen szomorúan felnyerítettem.
Maradva az akkori család(ok)nál:
Intel Isis-II -> asm80 + link + locate = 8080 és 8085 macroassembler (link)
Macro 80 -> m80 + link80 = 8080 és z80 macroassembler (link)
A két fordító hajszál híján tökegyforma és a std macro eszköztárat tartalmazza.
Ha magasabb szint, meg makró kell, akkor inkább C-vel menj neki
Sajnos így van ez. Manapság jobbára olyanok írnak asm fordítót a C++-tól kezdve a java-ig, akiknek fingjuk nincs a std makró mibenlétéről. A C makrók teljesen másra használhatók. Egy asm fordítóba keverve pontosan olyan, mintha sql parancsokkal és lengyel logikával írnál bash scriptet. Érdekes módon az akkori assembler fordítókat assemblerben írták. Vagyis aki meg tudta írni, az használni is tudta. ;) Sőt, hibátlanul is meg tudta írni.
A 8080-ra készült Isis-II rendszert (!) 8086 vagy v20 gépen emulálta az i80 program, illetve a v20 tudott natív 8080 módot. A locate sajnos nincs a mai fordítókhoz. Ha írtam egy 10 modulból álló, epromból (0 címtől) futó programot, akkor pl. 3 modul elkészülte után tudtam hozzá használni a szimbolikus debuggert. A modulokat lefordítottam, linkeltem, majd (re)lokáltam a debugger munkaterületére. Ha elkészült az összes modul, akkor lokáltam a 0 címre és besütöttem az epromba. Ilyen vagy hasonló funkciókat csak a sokkal későbbi fejlesztőrendszerekben valósítottak meg.