<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Machine_code_monitor</id>
	<title>Machine code monitor - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Machine_code_monitor"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Machine_code_monitor&amp;action=history"/>
	<updated>2026-04-10T06:17:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Machine_code_monitor&amp;diff=226361&amp;oldid=prev</id>
		<title>imported&gt;Sardonism: Reverted 1 edit by 2402:800:62B2:C218:992A:B113:687:758C (talk) to last revision by Bumm13</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Machine_code_monitor&amp;diff=226361&amp;oldid=prev"/>
		<updated>2025-06-02T10:33:55Z</updated>

		<summary type="html">&lt;p&gt;Reverted 1 edit by &lt;a href=&quot;/index.php/Special:Contributions/2402:800:62B2:C218:992A:B113:687:758C&quot; title=&quot;Special:Contributions/2402:800:62B2:C218:992A:B113:687:758C&quot;&gt;2402:800:62B2:C218:992A:B113:687:758C&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:2402:800:62B2:C218:992A:B113:687:758C&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:2402:800:62B2:C218:992A:B113:687:758C (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last revision by Bumm13&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Software that was popular during the home computer era of the 1970s and 1980s}}&lt;br /&gt;
[[File:W65C816S Machine Code Monitor.jpeg|thumb|Machine code monitor in a [[WDC 65C816|W65C816S]] [[single-board computer]], displaying [[disassembler|code disassembly]], as well as processor register and memory dumps]]&lt;br /&gt;
[[File:Apple II Monitor.png|thumb|right|280px|[[Apple II]] [[MOS Technology 6502|6502]] machine code monitor]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;machine code monitor&amp;#039;&amp;#039;&amp;#039; ({{aka}} [[machine language]] monitor) is [[software]] that allows a user to enter commands to view and change [[memory address|memory locations]] on a [[computer]], with options to load and save memory contents from/to [[secondary storage]]. Some full-featured machine code monitors provide detailed control (&amp;quot;single-stepping&amp;quot;) of the execution of machine language programs (much like a [[debugger]]), and include absolute-address [[Assembly language#Assembler|code assembly]] and [[disassembler|disassembly]] capabilities.&lt;br /&gt;
&lt;br /&gt;
Motorola published the [[MIKBUG]] ROM monitor for the 6800 in 1973 and the BUFFALO ROM monitor for the [[Motorola 68HC11|68HC11]].&lt;br /&gt;
&lt;br /&gt;
Machine code monitors became popular during the [[home computer]] era of the 1970s and 1980s and were sometimes available as resident [[firmware]] in some computers (e.g., the built-in monitors in the [[Commodore 128]], [[Zenith Z-89|Heathkit H89]] and Zenith laptops). Often, computer manufacturers rely on their ROM-resident monitors to permit users to reconfigure their computers following installation of upgrade hardware, such as expanded main memory, additional disk drives, or different video displays.&lt;br /&gt;
&lt;br /&gt;
It was not unheard of to perform all of one&amp;#039;s programming in a monitor in lieu of a full-fledged symbolic assembler. Even after full-featured assemblers became readily available, a machine code monitor was indispensable for [[debugging]] programs. The usual technique was to set break points in the code undergoing testing (e.g., with a [[BRK]] instruction in [[MOS Technology 6502|6502]] assembly language&amp;lt;ref&amp;gt;{{cite book|title=Microprocessors and Microcomputers: Hardware and Software|author=R.J. Tocci &amp;amp; L.P. Laskowski|publisher=Prentice-Hall|date=1979|isbn=9780135813225|page=[https://archive.org/details/microprocessorsm00tocc/page/379 379]|url-access=registration|url=https://archive.org/details/microprocessorsm00tocc/page/379}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|title=6502 Assembly Language Programming|author=L.A. Leventhal|publisher=Osborne/McGraw-Hill|date=1986|isbn=9780078812163}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|title=Apple II in the Laboratory|author=A.F. Kuckes &amp;amp; B.G. Thompson|publisher=UP Archive|date=1987|isbn=9780521321983|page=93}}&amp;lt;/ref&amp;gt;) and start the program. When the [[microprocessor]] encountered a break point, the test program would be [[interrupt|interrupted]] and control would be transferred to the machine code monitor. Typically, this would trigger a [[processor register|register dump]] and then the monitor would await programmer input. Activities at this point might include examining memory contents, [[patch (computing)|patching code]] and/or perhaps altering the processor registers prior to restarting the test program.&lt;br /&gt;
&lt;br /&gt;
In most systems where higher-level languages are employed, [[debugger]]s are used to present a more abstract and friendly view of what is happening within a program.  However, the use of machine code monitors persists, especially in the area of [[Hacker culture#Home computing enthusiasts|hobby-built computers]].{{Cn|date=August 2023}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Memory management software|*]]&lt;br /&gt;
[[Category:Microcomputer software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Sardonism</name></author>
	</entry>
</feed>