`` `
.modell liten
.stack 100h
.data
num1 db -12; Första 8-bitars signerade nummer
num2 dB 5; Det andra numret att multiplicera med
resultat dw?; Resultat av multiplikation (16-bitars)
.koda
huvudproc
MOV AX, @DATA; Initiera datasegmentregister
mov ds, yxa
mov al, num1; Ladda första numret i Al Register
MOV BL, NUM2; Ladda andra numret i BL -register
imul bl; Multiplicera al med bl (resultera i yxa)
MOV -resultat, yxa; Lagra resultatet i "resultat" -variabeln
; Visa resultatet (valfritt)
; ...
MOV AH, 4CH; Utgångsprogram
int 21h
huvudslut
sluthuvud
`` `
Förklaring:
1. Initialisering:
- `.modell liten 'definierar minnesmodellen (liten modell) och ställer in programstrukturen.
- `.Stack 100h` reserver 100h byte för stacken.
- `.data` -avsnittet förklarar variabler:` num1`, `num2` och` resultat '.
2. Ladda siffrorna:
- `MOV AL, NUM1 'laddar det första numret i' Al '-registret, som används för 8-bitars operationer.
- `MOV BL, Num2 'laddar det andra numret i` BL' -registret.
3. multiplikation:
- `IMUL BL` utför den signerade multiplikationen av` al 'av' BL '. Resultatet kommer att lagras i "AX" -registret (16-bitars).
4. lagring av resultatet:
- `MOV-resultat, Axe 'lagrar 16-bitarsresultatet från` AX' till variabeln "Resultat".
5. Valfri display:
- Du kan lägga till kod för att visa resultatet med `Int 21h` med lämpliga funktionskoder. Detta kodavsnitt fokuserar på själva multiplikationen.
6. Utgångar programmet:
- `MOV AH, 4CH 'Ställer in" Ah "-registret till DOS -funktionskoden för att lämna programmet.
- `Int 21h` kallar DOS -avbrottet för att utföra utgångsfunktionen.
Viktiga anteckningar:
-Detta program använder signerad 8-bitars multiplikation, vilket innebär att resultatet kan bli ett 16-bitars signerat värde. Instruktionen "Imul" hanterar skyltförlängningen automatiskt.
- "Resultat" -variabeln förklaras som ett ord ("dw") för att hålla 16-bitarsresultatet.
- Du kan ändra `num1` och` num2` för att ändra siffrorna du vill multiplicera.
- Monteringskoden måste monteras med en montering som MASM eller TASM och sedan länkas för att skapa en körbar fil.