Napisati program za množenje dva 8-bitna broja s predznakom pomoću mikroprocesora 8085?
```
ORG 100H
LXI H, 2000H; Inicijalizirajte HL par za pohranjivanje proizvoda
MOV A, M; Učitajte prvi broj u akumulator
SBB B; Oduzmite drugi broj od akumulatora (uz posudbu)
MOV M, A; Pohranite rezultat u memoriju
DCX H; Smanjite HL par
MOV A, M; Učitajte drugi broj u akumulator
DODAJ B; Dodajte prvi broj akumulatoru (sa prijenosom)
MOV M, A; Pohranite rezultat u memoriju
INX H; Povećajte HL par
JMP PETLJA; Ponovite petlju
PETLJA:CMP H, 0; Usporedite HL par s nulom
JNZ PETLJA; Ako nije nula, skočite natrag na petlju
HLT; Zaustavite procesor
```
Objašnjenje
Ovaj program koristi instrukcije SBB (oduzimanje s posuđivanjem) i ADD (zbrajanje s prijenosom) mikroprocesora 8085 za množenje dva 8-bitna broja s predznakom.
Program prvo inicijalizira HL par za pohranjivanje umnoška dvaju brojeva. Zatim učitava prvi broj u akumulator i od njega oduzima drugi broj (uz posuđivanje). Ovo postavlja oznaku prijenosa ako je prvi broj manji od drugog broja, a u suprotnom je briše.
Program potom pohranjuje rezultat u memoriju i smanjuje HL par. Zatim učitava drugi broj u akumulator i dodaje mu prvi broj (s prijenosom). Ovo postavlja oznaku prijenosa ako je zbroj dvaju brojeva veći od 255, a u suprotnom je briše.
Program potom pohranjuje rezultat u memoriju i povećava HL par. Program zatim skače natrag na oznaku LOOP i ponavlja petlju sve dok HL par ne dosegne nulu. Na kraju, program zaustavlja procesor.
Primjer
Ako je prvi broj 10, a drugi broj 5, program će umnožak ta dva broja, koji je 50, pohraniti u memorijsko mjesto 2000H.