Check My Mail Box

The Little Man Computer (LMC) is an instructional model of a computer, created by Dr. Stuart Madnick in 1965. The LMC is generally used to teach students, because it models a simple von Neumann architecture computer - which has all of the basic features of a modern computer. It can be programmed in machine (albeit usually in decimal) or assembly code.

System Architecture

The LMC model is based on the concept of a little man locked in a small room. At one end of the room, there are 100 mailboxes (memory), numbered 0 to 99, that can each contain a 3 digit instruction. Furthermore, there are two mailboxes at the other end labeled INBOX and OUTBOX which are used for receiving and outputting data. In the center of the room, there is a work area containing a simple two function (addition and subtraction) calculator known as the Accumulator and a resettable counter known as the Program Counter. The Program Counter is similar to what a doorperson uses to keep track of how many people have entered a facility -- it can count up 1, or it can be reset to 0. As specified by the von Neumann architecture, memory contains both instructions and data. The user loads data into the mailboxes and then signals the little man to begin execution.


Alt text

Execution Cycle

See also: Instruction cycle

The little man performs the following steps to execute a program::

  1. check the Program Counter for the mailbox number that contains a program instruction
  2. fetch the instruction from the mailbox with that number
  3. Increment the Program Counter (so that it contains the mailbox number of the next instruction)
  4. decode the instruction (includes finding the mailbox number for the data it will work on)
  5. fetch the data from the mailbox with the number found in the previous step
  6. execute the instruction
  7. store the new data in the mailbox from which the old data was retrieved
  8. Repeat the cycle or halt

Commands

While the LMC does reflect the actual workings of binary processors, the simplicity of decimal numbers was chosen to minimize the complexity for students who may not be comfortable working in binary/hexadecimal.

Instructions

Each LMC instruction is a 3 digit decimal number. The first digit represents the command to be performed and the final two digits represent the address of the mailbox affected by the command.

Examples

Numeric Example

This program takes two numbers as input and outputs the difference. Notice that execution starts at Mailbox 00 and finishes at Mailbox 07.

Mnemonic Example

Using the LMC mnemonic codes, an assembly language version of the program to subtract two numbers is given below.

        INPSTA FIRST INPSTA SECOND LDA FIRST SUB SECONDOUTHLTFIRST DATSECOND DAT
      

Using labels

The convenience of assembled mnemonics is made apparent from this example — The programmer is no longer required to memorize a set of anonymous numeric codes, and can now program with a set of more memorable instructions. However, the programmer is still required to manually keep track of mailbox locations. Furthermore, if an instruction was to be inserted somewhere in the program, the final HLT instruction would move down to address 08. Suppose the user entered 600 as the first input. This value would overwrite the 000 (HLT) instruction. Since 600 means "Branch to mailbox 0" the program, instead of halting, would get stuck in an endless loop.

To work around this difficulty, most assembly languages (including the LMC) allow the use of labels. A label is simply a word provided as a name to the left of a particular line in the program text, which the assembler will convert to the appropriate address at the time of assembly. When seen to the right of the instruction, labels then take on the value of the address calculated.

Labels are commonly used to:

  • identify a particular instruction as a target for a BRANCH instruction
  • identify space as a named variable (using DAT)
  • load data into the program at assembly time for use by the program.
    • This use is not obvious until one considers that there is no way of adding 1 to a counter. One could ask the user to input 1 at the beginning, but it would be better to have this loaded at the time of assembly

Label use example

This program will take a user input, and count down to zero.

        INLOOP SUB ONE // This address will be called LOOP, Subtract the value stored at ONE OUT BRZ QUIT // If we are at 0, then jump to the location QUIT BRA LOOP // We are not at 0, go back to the start of LOOPQUIT HLTONE DAT 1 // Put the value 1 in this mailbox, and call it ONE (variable declaration)
      

See also

  • CARDboard Illustrative Aid to Computation (CARDIAC) A similar instruction set - with simulator - from Bell Laboratories.
  • VIC, an extension of LMC from the Interdisciplinary Center Herzliya.

Simulators

Little Man Computer simulation using:

  • Java Applet
  • Windows
  • JavaScript

References

  1. ^ "Little Man Computer". Illinois State University. 2000-05-01 . http://www.acs.ilstu.edu/faculty/javila/lmc/ . Retrieved 2009-03-08 .  

http://povinelli.eece.mu.edu/teaching/coen030/lmc.html htto:

you@UBC - University of British Columbia ...

My Mailbox What is this? My Mailbox is your own youbc inbox. You can use it send mail to UBC advisors. Also, check this mailbox for information on events you've signed up for.

...

JCSU - Student Views - How do I check the size of ...

Official web site for Johnson C. Smith University ... Remember that e-mail is a communication tool, not a storage device... To check the size of your mailbox:

...

MYplace@DurhamCollege - Durham College ...

My Mailbox. My Mailbox. What is this? My Mailbox is your own MYplace@DurhamCollege inbox. You can use it send mail to Durham College advisors. Also, check this mailbox for ...

...

Domain name questions - solutions: How can I check if ...

To check if your mailbox works on our platform please check the following 1. check if the mailbox exists via the domain manager, either as a mailbox or an alias

...

Managing your GroupWise Mailbox

How do I check my mailbox size? What is the best way to quickly reduce my mailbox size? Why do I get messages warning me about my mailbox storage limit?

...

How do I check my Exchange mailbox quota?

https://esupport.pachosting.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=29 How do I check my Exchange mailbox quota? Author: PacHosting Created On: 27 Feb 2008 04:25 AM ...

...

How to check my yahoo mail box more faster? - Yahoo ...

"How to check my yahoo mail box more faster?" - Find the answer to this question and millions more on Yahoo!Xtra Answers.

...

Payroll Check Stolen from my Mailbox

Legal Help For Banking. Payroll Check Stolen from my Mailbox

...

How do I check my mailbox for new messages? » E-Mail ...

How do I check my mailbox for new messages? » E-Mail » Windows » Tech Ease: Most email programs will check your mailbox for new messages automatically when you open them. If ...

...

I want check my mails, my mail box is not opening ...

I want check my mails, my mail box is not opening?

...


Warning : str_repeat() [ function.str-repeat ]: Second argument has to be greater than or equal to 0 in /home/indigod/domains/noclicktraffic.com/public_html/check/html/main/main.php on line 426

Warning : str_repeat() [ function.str-repeat ]: Second argument has to be greater than or equal to 0 in /home/indigod/domains/noclicktraffic.com/public_html/check/html/main/main.php on line 426