<?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=Microassembler</id>
	<title>Microassembler - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Microassembler"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Microassembler&amp;action=history"/>
	<updated>2026-04-16T19:24:56Z</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=Microassembler&amp;diff=12988&amp;oldid=prev</id>
		<title>imported&gt;DanCherek: /* top */ remove editorializing</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Microassembler&amp;diff=12988&amp;oldid=prev"/>
		<updated>2023-07-09T15:32:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;top: &lt;/span&gt; remove editorializing&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{More citations needed|date=October 2014}}&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;microassembler&amp;#039;&amp;#039;&amp;#039; is a [[computer program]] that helps prepare a [[microcode|microprogram]], called &amp;#039;&amp;#039;firmware&amp;#039;&amp;#039;, to control the low level operation of a computer in much the same way an [[Assembly language#Assembler|assembler]] helps prepare higher level code for a [[central processing unit|processor]]. The difference is that the microprogram is usually only developed by the processor manufacturer and works intimately with the [[computer hardware]]. On a microprogrammed computer the microprogram implements the operations of the [[instruction set]] in which any normal program (including both [[application software|application programs]] and [[operating system]]s) is written. The use of a microprogram allows the manufacturer to fix certain mistakes, including working around hardware design errors, without modifying the hardware. Another means of employing microassembler-generated microprograms is in allowing the same hardware to run different [[instruction set]]s. After it is assembled, the microprogram is then loaded to a [[control store]] to become part of the logic of a [[Central processing unit|CPU]]&amp;#039;s [[control unit]].&lt;br /&gt;
&lt;br /&gt;
Some microassemblers are more generalized and are not targeted at a single computer architecture. For example, through the use of macro-assembler-like capabilities, [[Digital Equipment Corporation]] used their &amp;#039;&amp;#039;MICRO2&amp;#039;&amp;#039; microassembler for a very wide range of computer architectures and implementations.&lt;br /&gt;
&lt;br /&gt;
If a given computer implementation supports a [[Control store|writeable control store]], the microassembler is usually provided to customers as a means of writing customized microcode.&lt;br /&gt;
&lt;br /&gt;
In the process of [[microcode]] assembly it is helpful to verify the microprogram with emulation  tools before distribution. Nowadays, microcoding has experienced a revival, since it is possible to correct and optimize the firmware of processing units already manufactured or sold, in order to adapt to specific [[operating system]]s or to fix hardware bugs. However, a commonly usable microassembler for today&amp;#039;s CPUs is not available to manipulate the microcode. Knowledge of a processor&amp;#039;s microcode is usually considered proprietary information so it is difficult to obtain information about how to modify it.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*{{cite web|url=http://www.mikrocodesimulator.de/index_eng.php |title=Mikrocodesimulator MikroSim 2010|publisher=0/1-SimWare |access-date=2010-10-03}}&lt;br /&gt;
*{{cite web|url=http://www.cs.clemson.edu/~mark/uprog.html&lt;br /&gt;
 |title=A Brief History of Microprogramming|publisher=M. Smotherman |year=2010 |access-date=2010-10-03}}&lt;br /&gt;
*{{cite web|url=http://research.microsoft.com/en-us/um/people/gbell/Computer_Structures_Principles_and_Examples/csp0167.htm&lt;br /&gt;
 |title=Computer Structures: Principles and Examples, Part 2, REGIONS OF COMPUTER SPACE, Section 1, MICROPROGRAM-BASED PROCESSORS, Seite 151 ff. |publisher=McGraw-Hill Computer Science Series |access-date=2010-10-03}}&lt;br /&gt;
*{{cite web|url=http://www.intel.com/Assets/PDF/manual/253668.pdf |title=Intel(R) 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1, Chapter 8.11: &amp;quot;Microcode update facilities&amp;quot;|publisher=Intel Corporation |date=December 2009 |access-date=2010-10-03}}&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
{{CPU technologies}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Assemblers]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DanCherek</name></author>
	</entry>
</feed>