`` `Assemblage
.model klein
.stack 100h
.gegevens
Num1 DB -12; Eerste 8-bit ondertekend nummer
num2 db 5; Tweede nummer om te vermenigvuldigen met
resultaat DW?; Resultaat van vermenigvuldiging (16-bit)
.code
Hoofdproces
mov ax, @data; Initialiseer het gegevenssegmentregister
mov ds, bijl
mov al, num1; Laad het eerste nummer in AL Register
Mov BL, num2; Laad het tweede nummer in BL Register
IMUL BL; Vermenigvuldig al met BL (resultaat in bijl)
MOV -resultaat, bijl; Bewaar het resultaat in de variabele 'resultaat'
; Het resultaat weergeven (optioneel)
; ...
mov ah, 4ch; Uitgangsprogramma
Int 21h
Hoofd endp
Eind Main
`` `
Verklaring:
1. initialisatie:
- `.Model Small` definieert het geheugenmodel (klein model) en stelt de programmastructuur in.
- `.stack 100h` reserveert 100h bytes voor de stapel.
- `.Data' -sectie verklaart variabelen:` num1`, `num2` en` result '.
2. De nummers laden:
- `Mov AL, num1` laadt het eerste nummer in het` al'-register, dat wordt gebruikt voor 8-bits bewerkingen.
- `Mov BL, num2` laadt het tweede nummer in het` BL` -register.
3. Vermenigvuldiging:
- `Imul Bl` voert de ondertekende vermenigvuldiging van` al` uit door `bl`. Het resultaat wordt opgeslagen in het `AX'-register (16-bit).
4. Het resultaat opslaan:
- `MOV-resultaat, ax` slaat het 16-bit resultaat op van` ax` in de variabele 'resultaat'.
5. Optioneel display:
- U kunt code toevoegen om het resultaat weer te geven met behulp van `int 21h` met de juiste functiecodes. Dit codefragment richt zich op de vermenigvuldiging zelf.
6. Het programma verlaten:
- `MOV AH, 4CH` stelt het` AH` -register in op de DOS -functiecode voor het verlaten van het programma.
- `Int 21h` roept de DOS -interrupt aan om de exitfunctie uit te voeren.
belangrijke opmerkingen:
-Dit programma maakt gebruik van ondertekende 8-bit vermenigvuldiging, wat betekent dat het resultaat een 16-bits ondertekende waarde kan zijn. De instructie `IMUL` behandelt automatisch tekenuitbreiding.
- De variabele 'resultaat' wordt als een woord (`dw`) aangegeven om het 16-bit resultaat te bevatten.
- U kunt `num1` en` num2` wijzigen om de nummers te wijzigen die u wilt vermenigvuldigen.
- De assemblagecode moet worden geassembleerd met behulp van een assembler zoals MASM of TASM en vervolgens gekoppeld om een uitvoerbaar bestand te maken. |