# Little Man Computer – Division

We recently looked at how to do multiplication using the Little Man Computer instructions. It will help with what we are about to do if you have read and understood that article. A key concept from that article was the need to be very clear about the different roles played by the multiplier and the multiplicand. A similar distinction is needed with division. We have the dividend, which is the number to be divided, and the divisor, which is the number we are dividing by. In our program, we will repeatedly subtract the divisor, keeping track of how many times we do so, until we reach zero. For now we will only use numbers where the divisor is a factor of the dividend (i.e. it “goes into” the dividend exactly). Here is our pseudocode:

``````READ DIVIDEND, DIVISOR
QUOTIENT = 0
WHILE DIVIDEND > 0:
DIVIDEND = DIVIDEND - DIVISOR
QUOTIENT = QUOTIENT + 1
ENDWHILE
PRINT QUOTIENT
``````

The Little Man Computer instructions are below, along with comments. Try to understand exactly what each line does and how. If you get stuck, let me know in the comments and I’ll try and help. There is a great LMC simulator available here: Little Man Computer for you to use. Enjoy!

``````// Get user input
INP DIVIDEND
STA DIVIDEND
INP DIVISOR
STA DIVISOR
// Begin loop
LOOP    LDA DIVIDEND
// If we have reached 0, jump to END
BRZ END
// Subtract divisor from dividend and store the result
SUB DIVISOR
STA DIVIDEND
// Increase the count (QUOTIENT) and store
LDA QUOTIENT
STA QUOTIENT
BRA LOOP
// We've finished, so display the result
END     LDA QUOTIENT
OUT
SUB QUOTIENT
STA QUOTIENT
HLT
// Variables
DIVIDEND DAT 0
DIVISOR DAT 0
QUOTIENT DAT 0
ONE     DAT 1
``````

## Little Man Computer Programming Teaching Pack for Computer Science GCSE and A Level

You can check out a great resource for teaching or learning about Little Man Computer Programming by clicking here or on the image below. Sharing is caring!

## 2 Comments on “Little Man Computer – Division”

1. Dayang Syahirah Binti Awang Shebli says:

Hai can you show me the coding if the divider is not the factor of the dividend? To find the GCD.

1. robin says:

This works for GCD:

``` INP STO p INP BRZ end BRP loop end LDA p OUT HLT loop SUB p BRZ end BRP loop ADD p STO q LDA p SUB q STO p LDA q BRA loop p DAT q DAT ```