Little Man Computer – Burglar Alarm

burglar-alarm-pin-codeWrite an LMC program to let the user enter a PIN code to deactivate a burglar alarm.

The program should let the user have up to 3 attempts to enter the correct PIN code before starting the alarm.

The correct PIN code is “123”.

If the user gets the right PIN code the program should output value 1.
If the user gets the wrong PIN code the program should output value 9 indicating that they can have another go at entering the PIN code.
If after three attempts the PIN code entered is still incorrect, the program should output value -1.

LMC Simulator


Online LMC Simulator

Solution

Your Task


Copy the code provided above in the LMC simulator.

Test the code.

Answer the following questions:

  1. What code is used to find out if the user did input the right PIN number?
  2. What is the purpose of the Counter label?
  3. How does the computer know if the user has used all 3 attempts?

LMC Instruction Set


Note that in the following table “xx” refers to a memory address (aka mailbox) in the RAM. The online LMC simulator has 100 different mailboxes in the RAM ranging from 00 to 99.

Mnemonic Name Description Op Code
INP INPUT Retrieve user input and stores it in the accumulator. 901
OUT OUTPUT Output the value stored in the accumulator. 902
LDA LOAD Load the Accumulator with the contents of the memory address given. 5xx
STA STORE Store the value in the Accumulator in the memory address given. 3xx
ADD ADD Add the contents of the memory address to the Accumulator 1xx
SUB SUBTRACT Subtract the contents of the memory address from the Accumulator 2xx
BRP BRANCH IF POSITIVE Branch/Jump to the address given if the Accumulator is zero or positive. 8xx
BRZ BRANCH IF ZERO Branch/Jump to the address given if the Accumulator is zero. 7xx
BRA BRANCH ALWAYS Branch/Jump to the address given. 6xx
HLT HALT Stop the code 000
DAT DATA LOCATION Used to associate a label to a free memory address. An optional value can also be used to be stored at the memory address.
Share Button
Posted in Computer Science, Computing Concepts, LMC Tagged with: ,

Our Latest Book

Follow this blog