Vai al contenuto
PLC Forum


Assembler 8085 - Richiesta 8085


roberto.sp

Messaggi consigliati

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


;Moltiplica D x C e mette il risultato a 16 bit in BC

MUL8x8:

MVI B,0 ;set MS byte of result to 0

MVI E,9 ;set bit counter to 9

MUL_1:

MOV A,C ;move multiplier to acc

RAR ;rotate LSB of multiplier to carry

MOV C,A ;restore shifted multiplier to C

DCR E ;decrement bit counter

RZ ;return if zero

MOV A,B ;MS byte of result to acc

JNC MUL_2 ;no carry from rar jump to shift

ADD D ;carry from rar, add multiplicand to MS byte of result in B

MUL_2:

RAR ;shift MS byte right

MOV B,A ;restore MS byte of result

JMP MUL_1 ;go check next bit

Usa il metodo dello shift a destra e somma.

Fonte: Microprocessor and Digital Systems - D.V. HALL - McGraw_Hill 1983

Ciao.

Modificato: da giacomo56
Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...