Írjunk programot két 8 bites előjelű szám szorzására 8085-ös mikroprocesszorral?
```
ORG 100H
LXI H, 2000H; A termék tárolásához inicializálja a HL-párt
MOV A, M; Töltse be az első számot az akkumulátorba
SBB B; Vonja le a második számot az akkumulátorból (kölcsönnel)
MOV M, A; Az eredményt tárolja a memóriában
DCX H; Csökkentse a HL-párt
MOV A, M; Helyezze be a második számot az akkumulátorba
ADD B; Adja hozzá az első számot az akkumulátorhoz (hordozással)
MOV M, A; Az eredményt tárolja a memóriában
INX H; Növelje a HL-párt
JMP LOOP; Ismételje meg a hurkot
CIKK:CMP H, 0; Hasonlítsa össze a HL-párt nullával
JNZ LOOP; Ha nem nulla, ugorjon vissza a hurokhoz
HLT; Állítsa le a processzort
```
Magyarázat
Ez a program a 8085-ös mikroprocesszor SBB (kivonás kölcsönnel) és ADD (add with carry) utasításait használja két 8 bites előjeles szám szorzásához.
A program először inicializálja a HL-párt, hogy eltárolja a két szám szorzatát. Ezután betölti az első számot az akkumulátorba, és kivonja belőle a második számot (kölcsönnel). Ez beállítja az átviteli jelzőt, ha az első szám kisebb, mint a második szám, máskülönben pedig törli.
A program ezután eltárolja az eredményt a memóriában, és csökkenti a HL-párt. Ezután betölti a második számot az akkumulátorba, és hozzáadja az első számot (hordozóval). Ez beállítja az átviteli jelzőt, ha a két szám összege nagyobb, mint 255, ellenkező esetben pedig törli.
A program ezután eltárolja az eredményt a memóriában, és növeli a HL-párt. A program ezután visszaugrik a LOOP címkére, és addig ismétli a ciklust, amíg a HL pár el nem éri a nullát. Végül a program leállítja a processzort.
Példa
Ha az első szám 10, a második szám pedig 5, akkor a program a két szám szorzatát, azaz 50-et tárol a 2000H memóriahelyen.