roberto.sp Inserito: 11 dicembre 2004 Segnala Share Inserito: 11 dicembre 2004 Salve a tutti...sono un nuovo utente....Devo preparare un programma assembler (microprocessore 8085) che mi esegua la moltiplicazione fra due numeri interi a 8 bit (inizialmente li devo dare direttamente sul programma e non da tastiera)utilizzando le opzione di shift (ovviamente utilizzando riportando a 0 il Carry ogni volta che utilizzo questa azione). chi mi può aiutare???grazie ancora Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 11 dicembre 2004 Segnala Share Inserita: 11 dicembre 2004 (modificato) ;Moltiplica D x C e mette il risultato a 16 bit in BCMUL8x8:MVI B,0 ;set MS byte of result to 0MVI E,9 ;set bit counter to 9MUL_1:MOV A,C ;move multiplier to accRAR ;rotate LSB of multiplier to carryMOV C,A ;restore shifted multiplier to CDCR E ;decrement bit counterRZ ;return if zeroMOV A,B ;MS byte of result to accJNC MUL_2 ;no carry from rar jump to shiftADD D ;carry from rar, add multiplicand to MS byte of result in BMUL_2:RAR ;shift MS byte rightMOV B,A ;restore MS byte of resultJMP MUL_1 ;go check next bitUsa il metodo dello shift a destra e somma.Fonte: Microprocessor and Digital Systems - D.V. HALL - McGraw_Hill 1983Ciao. Modificato: 11 dicembre 2004 da giacomo56 Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 dicembre 2004 Segnala Share Inserita: 11 dicembre 2004 Giacomo è una routine che va a ranocchie.. Manca qualche cosa dopo l'ultimo RAR Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 11 dicembre 2004 Segnala Share Inserita: 11 dicembre 2004 Ciao Livio, mi era scappato. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora