Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Motorola 68HC11
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Architecture== {| class="infobox" style="font-size:88%" |- |style="text-align:center" |''Motorola 68HC11 registers'' |- | {| style="font-size:88%;" |- | style="width:10px; text-align:center;"| <sup>1</sup><sub>5</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>4</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>3</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>2</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>1</sub> | style="width:10px; text-align:center;"| <sup>1</sup><sub>0</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>9</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>8</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>7</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>6</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>5</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>4</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>3</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>2</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>1</sub> | style="width:10px; text-align:center;"| <sup>0</sup><sub>0</sub> | style="width:auto;" | ''(bit position)'' |- |colspan="17" | '''Main registers''' |- style="background:silver;color:black" | style="text-align:center;" colspan="8"| A | style="text-align:center;" colspan="8"| B | style="width:auto; background:white; color:black;"| '''D''' register pair |- |colspan="17" | '''Index registers''' |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| IX | style="background:white; color:black;"| '''X''' index register |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| IY | style="background:white; color:black;"| '''Y''' index register |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| SP | style="background:white; color:black;"| '''S'''tack '''P'''ointer |- |colspan="17" | '''Program counter''' |- style="background:silver;color:black" | style="text-align:center;" colspan="16"| PC | style="background:white; color:black;"| '''P'''rogram '''C'''ounter |- |colspan="17" | '''Status register''' |- style="background:silver;color:black" | style="text-align:center; background:white" colspan="8" | | style="text-align:center;"| 1 | style="text-align:center;"| 1 | style="text-align:center;"| [[Half-carry flag|H]] | style="text-align:center;"| [[Interrupt flag|I]] | style="text-align:center;"| [[Sign flag|N]] | style="text-align:center;"| [[Zero flag|Z]] | style="text-align:center;"| [[Overflow flag|V]] | style="text-align:center;"| [[Carry flag|C]] | style="background:white; color:black" | Flags |} |} [[File:68HC11 Block Diagram.jpg|thumb|300px|68HC11 block diagram]] Internally, the HC11 [[instruction set]] is [[backward compatible]] with the [[Motorola 6800|6800]] and features the addition of a Y [[index register]].{{efn|Instructions using the Y register have [[opcode]]s prefixed with the byte [[hexadecimal|0x]]18.}} It has two [[eight-bit]] [[accumulator (computing)|accumulator]]s, A and B, two [[16-bit computing|sixteen-bit]] [[index register]]s, X and Y, a condition code register, a 16-bit [[stack pointer]], and a [[program counter]]. In addition, there is an 8 x 8-bit multiply (A x B), with full 16-bit result, and fractional/integer 16-bit by 16-bit divide instructions. A range of 16-bit instructions treat the A and B registers as a combined 16-bit D register for comparison (X and Y registers may also be compared to 16-bit memory operands), addition, subtraction and shift operations, or can add the B accumulator to the X or Y index registers. Bit test operations have also been added, performing a [[logical and]] function between operands, setting the correct conditions codes, but not modifying the operands. Different versions of the HC11 have different numbers of external ports, labeled alphabetically. The most common version has five ports, A, B, C, D, and E, but some have as few as 3 ports (version D3). Each port is eight bits wide except for D, which is six bits (in some variations of the chip, D also has eight bits). It can be operated with an internal program and [[RAM]] (1 to 768 bytes) or an external memory of up to 64 [[kilobyte]]s. With external memory, B and C are used as [[address bus|address]] and [[data bus]]. In this mode, port C is [[Time-division multiplexing|multiplexed]] to carry both the lower byte of the address and data.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Motorola 68HC11
(section)
Add topic