Laborator 2

Little man Computer !!!

Instructiunile:

Load LDA xx 5xx

Store STA xx 3xx

Add ADD xx 1xx

Substract SUB |_| qxx

Input INP 901

Output OUT 902

END HLT 000

Branch always BRA xx 6xx

Branch if zero BRZ xx 7xx

Branch if positive BRP xx 8xx

variableName DAT 1 (initial value)

Afisare numar

INP

STA 66

OUT

HLT

Suma a doua numere

varianta 1:

INP

STA 55

INP

ADD 55

OUT

HLT

varianta 2:

INP

STA var1

INP

ADD var1

OUT

HLT

var1 DAT 5

Suma a trei numere

INP

STA 55

INP

ADD 55

STA 56

INP

ADD 56

OUT

HLT

Afiseaza 1 daca numerele sunt egale.

INP

STA var1

INP

SUB var1

BRZ isTrue

HLT

isTrue LDA true

OUT

HLT

var1 DAT

true DAT 1

Afiseaza "a" daca a>b altfel afiseaza "b"

INP

STA var1

INP

STA var2

SUB var1

BRP second

LDA var1

OUT

HLT

second LDA var2

OUT

HLT

var1 DAT

var2 DAT

Afiseaza numerele de la 1 la 10

start LDA store

OUT

ADD one

STA store

LDA limit

SUB store

BRP start

store DAT 1

one DAT 1

limit DAT 10