Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi! Cititi regulament postare forum inainte de a posta!
Lista Forumurilor Pe Tematici
Mihai Sprinceana | Inregistrare | Login

POZE MIHAI SPRINCEANA

Nu sunteti logat.
Nou pe simpatie:
surender_lady
Femeie
25 ani
Arad
cauta Barbat
26 - 47 ani
Mihai Sprinceana / Assembler 8051 / Inmultirea pe 16biti a doua numere(adresare directa)  
Autor
Mesaj Pagini: 1
andreeamp
Moderator

Inregistrat: acum 18 ani
Postari: 27
$mod51
;partea de declaratii
nr1l DATA 00h; declaratie variabila nr1 l in locatia de memorie 00h, iar DATA este o directiva
nr1h DATA 01h; declaratie variabila nr1 h in locatia de memorie 01h, iar DATA este o directiva
nr2l DATA 02h; declaratie variabila nr2 l in locatia de memorie 02h, iar DATA este o directiva
nr2h DATA 03h; declaratie variabila nr2 h in locatia de memorie 03h, iar DATA este o directiva
;rezultatul ar fi pe 16 deci am nevoie de  4octeti
inmultireLo DATA 04h ; declaratie variabila dif l in locatia de memorie 04h, iar DATA este o directiva
inmultireHi DATA 05h; declaratie variabila dif h in locatia de memorie 05h, iar DATA este o directive
     main: ;eticheta main care marcheaza inceperea fluxului de instr si terminate cu directiva END
MOV nr1l, #FFh ;se muta in variabila nr1 l folosind adresarea imediata(#) valoarea FFH
MOV nr1h,#03h ;se muta in variabila nr1 h folosind adresarea imediata valoarea 01h
MOV nr2l,#02h ;se muta in variabila nr2 l folosind adresarea imediata(#)valoarea 02h
MOV nr2h,#01h ;se muta in variabila nr2 h folosind adresarea imediata(#)valoarea 03h
MOV A,nr1l ; adresare directa- muta ceea ce se afla in variabila nr1l in registrul acumulator
MUL Anr2l ;inmulteste nr2l la ceea ce se afla in registrul acumulator
MOV inmultirel,A  ;ceea ce se afla in accumulator(nr1l*nr2l) este mutat in variabila inmultirel
MOV A,nr1h
MUL Anr2h ;
MOV difh,A  ;ceea ce se afla in acumulator(nr1h*nr2h) este mutat in variabila inmultireh
END ;directiva ce marcheaza sfarsitul programului in limbaj de asamblare


pus acum 17 ani
   
Pagini: 1  

Mergi la