Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Architettura degli elaboratori
 Aiuto - Opinione sul Codice con risultato a 32 bit
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

p4olo
Nuovo Utente



Inserito il - 28/05/2009 : 19:12:31  Mostra Profilo  Visita l'Homepage di p4olo Invia a p4olo un Messaggio Privato  Rispondi Quotando
Ciao a tutti, devo dare l'esame di laboratorio di architettura degli elaboratori nel prossimo mese e sto svolgendo gli esercizi che ha dato la professoressa.
Mi sono inpallato su questo esercizio, non ho capito se in base alla traccia l'ho fatto bene. Potete controllare e darmi una vostra opinione. Grazie a tutti in anticipo.

La Traccia è la seguente:

Scrivi un frammento assembly che
1. Lasci in DX,AX il valore di (a*(b-c) *d) dove a, b, c, d denotano
rispettivamente il contenuto di AL, BL, CL, e DL in formato signed ad
8 bit. (assumi che il risultato sia rappresentato come signed a 32 bit)

Il codice che ho scritto è questo:

;lasci in DX,AX il valore di (a*(b-c)*d) 
;dove a,b,c,d denotano rispettivamente il contenuto di AL,BL,CL,DL in formato signed ad 8 bit
;(assumi che il risultato sia rappresentato come signed a 32 bit)
dati segment
a db 2
b db 4
c db 2
d db 2 
ris dd 0
     
ends
code segment 
    ASSUME DS:DATI,CS:CODE,SS:STACK
    
    START:
    MOV AX,DATI
    MOV DS,AX
    MOV ES,AX
    
;*********INIZIALIZZO***********
    XOR AX,AX ;inizializzo AX,BX,CX,DX
    XOR BX,BX
    XOR CX,CX
    XOR DX,DX
    
    INIZIOPROGRAMMA:
    MOV AL,a
    MOV BL,b 
    MOV CL,c
    MOV DL,d
    
    OPERAZIONI:
    SUB BX,CX; Faccio la sottrazione b-c
    MOV CX,DX;Sposto CX in DX
    IMUL DX; Moltiplico a*b AX:DX  
    IMUL BX; Moltiplico a*d il risultato stara' in AX:DX
    
    MOV ris,AX
    
      
ends        
end start

Le cose che non ho capito se le ho fatte bene sono le seguenti:
- Lasci in DX,AX il valore di (a*(b-c) *d)
- Assumi che il risultato sia rappresentato come signed a 32 bit
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,14 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000