Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; multi-segment executable file template.
- data segment
- ; inserire qui i dati!
- dato1 db 0
- dato2 db 0
- ;non toccare questi paramertri!
- rissomma db 0
- rissottrazione db 0
- rismoltiplicazione db 0
- risdivisione db 0
- ;selezionare l'operazione:
- ;0= Uscire
- ;1= Sommare
- ;2= Sottrarre
- ;3= Moltiplicare
- ;4= Dividere
- selezione db 0
- pkey db "press any key...$"
- ends
- stack segment
- dw 128 dup(0)
- ends
- code segment
- start:
- ; set segment registers:
- mov ax, data
- mov ds, ax
- mov es, ax
- ;zona di selezione e lancio operazioni
- mov al, selezione
- cmp al, 0 ;caso0: chiusura
- jz fine
- cmp al, 1 ;caso1: somma
- jz somma
- cmp al, 2 ;caso2: sottrae
- jz sottrazione
- cmp al, 3 ;caso3: moltiplica
- jz moltiplicazione
- cmp al, 4 ;caso4: divide
- jz divisione
- ;somma
- somma:
- ;importa i dati
- mov al, dato1
- mov ah, dato2
- add al, ah ;somma i due registri con i dati
- mov rissomma, al ;trasporta il risultato nella variabile "risomma"
- jmp fine ;chiude il programma
- ;sottrazione
- sottrazione:
- ;importa i dati
- mov al, dato1
- mov ah, dato2
- sub al, ah ;sottrae i due registri con i dati
- mov rissottrazione, al ;trasporta il risultato nella variabile "rissottrazione"
- jmp fine
- ;divisione
- divisione:
- mov al, dato1
- mov ah, dato2
- mov ah, bh
- risottrai:
- sub ah, bh
- dec al
- jz inserimento
- jmp risottrai
- inserimento:
- mov risdivisione, ah
- jmp fine
- ;moltiplicazione
- moltiplicazione:
- mov al, dato1
- mov ah, dato2
- mov ah, bh
- riaddiziona:
- add ah, bh
- dec al
- jz inserimento
- jmp riaddiziona
- inserimento:
- mov rismoltiplicazione, ah
- jmp fine
- ; fine lavori
- fine: nop
- ;chiusura programma
- lea dx, pkey
- mov ah, 9
- int 21h ; output string at ds:dx
- ; wait for any key....
- mov ah, 1
- int 21h
- mov ax, 4c00h ; exit to operating system.
- int 21h
- ends
- end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement