Esercizio calcolatrice in Assembly?

Ciao a tutti devo fare un programma che simuli la calcolatrice in assembly, il testo è questo:

"Scrivere un programma misto che permetta di realizzare una semplice calcolatrice, la procedura principale deve richiedere l'inserimento di due numeri (compresi tra zero e nove) compreso il simbolo operazionale. La procedura chiamata riceve dal chiamante i due numeri e il simbolo operazionale e poi esegue l'operazione richiesta e restituisce il risultato al chimante.

Usare i registri per passare i parametri."

Ovviamente non vi chiedo la codifica ma qualcuno saprebbbe spiegarmi bene la parte relativa alla "programmazione mista" e più precisamente come passare i parametri da una procedura all'altra usando i registri?

2 risposte

Classificazione
  • cronos
    Lv 6
    8 anni fa
    Risposta preferita

    mi sembra una domanda piuttosto strana. se devono essere usati i registri per passare parametri allora la faccenda funziona più o meno come la INT 21h, per esempio quella per leggere il carattere da tastiera:

    INT 21h

    AH=2 - write character to standard output.

    DL = character to write, after execution AL = DL.

    example:

    mov ah, 2

    mov dl, 'a'

    int 21h

    quindi la tua procedura chiamata che esegue la somma avrà una sintassi come questa:

    ;

    ; esegue la somma di due numeri da una cifra

    ; DL=prima cifra

    ; DH=seconda cifra

    ; AL=la somma restituita

    somma PROC NEAR

    mov al,dl

    add al,dh

    ret

    somma ENDP

  • 8 anni fa

    oddio assembly..... che brutti ricord

Altre domande? Fai una domanda e ottieni le risposte che cerchi.