

En maskinkodsmonitor är en programvara som tillåter en användare att mata in kommando för att visa och ändra minnesadresser på en dator, med valmöjlighet att ladda och spara minnesinnehåll till/från sekundärminne. Vissa fullfunktionella maskinkodsmonitorer har fullständig kontroll, med "enkelstegning", över CPU'ns exekvering av ett maskinkodsprogram (likt en avlusare), inklusive absolut adressassemblering och disassembleringsfunktionalitet.
Motorola publicerade 1973 MIKBUG ROM monitor för 6800 och BUFFALO ROM monitor för 68HC11.
Maskinkodsmonitorer var populära under hemdatoreran på 1970 och 1980-talet och var ibland tillgängliga som resident mjukvara i vissa datorer (t.ex., den inbyggda maskinkodsmonitorn i Commodore 128, Heathkit H89 och Zenith bärbara). Ofta gav datortillverkare tillgång till sina ROM-residenta maskinkodsmonitorer för att tillåta användare att konfigurera om sina datorer efter installation av uppgraderad hårdvara, t.ex. utökat RAM, ytterligare hårddiskar eller andra videoskärmar.
Det var inte ovanligt att utföra all sin programmering i en monitor istället för en fullfjädrad symbolisk assembler. Även efter att fullfjädrade assemblerare blev tillgängliga var en maskinkodsmonitor oumbärlig för felsökning av program. Den vanliga tekniken var att sätta brytpunkter i koden som testades (t.ex. med en BRK-instruktion i assemblerspråket MOS Technology 6502)[1][2][3]) och starta programmet. När mikroprocessorns stöter på en brytpunkt, skulle testprogrammet avbrytas och kontrollen överföras till maskinkodsmonitorn. Vanligtvis skulle detta utlösa en registerdump därefter skulle monitorn vänta på programmerarens inmatning. Aktiviteterna kunde vara att undersöka minnesinnehåll, fixa programkod och/eller ändra processorregistren innan testprogrammet startades om.
I de flesta system används numera fristående avlusare eller en emulator för en mer användarvänlig översikt av vad som händer i ett program.
Referenser
- ^ R.J. Tocci & L.P. Laskowski (1979). Microprocessors and Microcomputers: Hardware and Software. Prentice-Hall. Sid. 379. ISBN 9780135813225. https://archive.org/details/microprocessorsm00tocc/page/379.
- ^ L.A. Leventhal (1986). 6502 Assembly Language Programming. Osborne/McGraw-Hill. ISBN 9780078812163.
- ^ A.F. Kuckes & B.G. Thompson (1987). Apple II in the Laboratory. UP Archive. Sid. 93. ISBN 9780521321983.