`` Assembly
.modell liten
.stack 100h
.data
num1 db -12; Første 8-bits signerte nummer
num2 db 5; Andre nummer for å multiplisere med
Resultat DW?; Resultat av multiplikasjon (16-bit)
.kode
Hoved Proc
Mov Ax, @data; Initialiser datasegmentregisteret
Mov ds, øks
MOV AL, NUM1; Last inn første nummer i AL -registeret
MOV BL, NUM2; Last andre nummer i BL -register
IMUL BL; Multipliser Al med BL (resulter i AX)
MOV Resultat, AX; Lagre resultatet i "resultat" -variabelen
; Vis resultatet (valgfritt)
; ...
Mov Ah, 4ch; EXIT -programmet
int 21h
hovedendp
slutt hoved
`` `
Forklaring:
1. Initialisering:
- `.modell Small` definerer minnemodellen (liten modell) og setter opp programstrukturen.
- `.stack 100h` reserver 100h byte for bunken.
- `.data` -seksjonen erklærer variabler:` num1`, `num2` og` resultat`.
2. Last inn tallene:
- `mov al, num1` laster det første tallet inn i` al`-registeret, som brukes til 8-biters operasjoner.
- `MOV BL, NUM2` laster det andre nummeret inn i` Bl` -registeret.
3. Multiplikasjon:
- `Imul Bl` utfører den signerte multiplikasjonen av` al` av` bl`. Resultatet vil bli lagret i `Axe '-registeret (16-bit).
4. Lagring av resultatet:
- `MOV-resultatet, lagrer Axe '16-bits resultatet fra` Axe' inn i `resultatet`-variabelen.
5. Valgfritt visning:
- Du kan legge til kode for å vise resultatet ved å bruke `int 21h` med de aktuelle funksjonskodene. Dette kodebiten fokuserer på selve multiplikasjonen.
6. Avslutt programmet:
- `Mov Ah, 4ch` angir` ah` -registeret til DOS -funksjonskoden for å forlate programmet.
- `INT 21H` Ringer DOS -avbrudd for å utføre utgangsfunksjonen.
Viktige merknader:
-Dette programmet bruker signert 8-biters multiplikasjon, noe som betyr at resultatet kan være en 16-bits signert verdi. Imul` -instruksjonen håndterer skiltforlengelse automatisk.
- Resultatet`-variabelen er erklært som et ord (`dw`) for å holde 16-bits resultatet.
- Du kan endre `num1` og` num2` for å endre tallene du vil multiplisere.
- Monteringskoden må settes sammen ved hjelp av en samler som MASM eller TASM og deretter kobles for å lage en kjørbar fil.