Documente Academic
Documente Profesional
Documente Cultură
3. Sa se scrie un program in limbaj de asamblare care sa adune numerele 1d, 2d, 0x02,
-1d, 0000 1010b. Toate numerele vor fi transformate in format hexazecimal. Rezulatul va
fi plasat in registrul RB. Ce valoare va contine registrul RB.
00:load R1,1d
02:load RB,0
04:addi RB,RB,R1
06:load R1,2d
08:addi RB,RB,R1
0A:load R1,0x02
0C:addi RB,RB,R1
0E:load R1,-1d
10:addi RB,RB,R1
12:load R1,00001010b
14:addi RB,RB,R1
16:halt
5. Sa se scrie un program in limbaj de asamblare care sa calculeze primii 5 termeni ai
unei progresii aritmetice de ratie 2. Primul termen este considerat 4. Rezultatele vor fi
asezate pe rand in registrul RE. ----- AIA 10202
00:load RE,4d
02:load R2,2d
04:addi RE,RE,R2
06:addi RE,RE,R2
08:addi RE,RE,R2
0A:addi RE,RE,R2
0C:halt
load R1,7
load R6,7
addi R2,R1,R6
addi R3,R2,R6
addi R4,R3,R6
addi R5,R4,R6
load R1,0x00
load R2,0x01
addi R3,R1,R2
addi R4,R2,R3
addi R5,R3,R4
addi R6,R4,R5
00:load R1,start_sir
02:load R0,0
04:load R2,1
06:load R3,-1
08:bucla: load RF,[R1]
0A:jmpEQ RF=R0,bucla2
0C:addi R1,R1,R2
0E:jmp bucla
10:bucla2:addi R1,R1,R3
12:load RF,[R1]
14:jmpEQ RF=R0,stop
16:jmp bucla2
18:stop: halt
1A:start_sir: db "luna"
1C:stop_sir: db 0h
10. Sa se copieze sirul de mai jos in memorie incepand cu adresa E0h din 2 in 2 caractere.
start_sir: db “acesta este un program care demonstreaza afisarea sirurilor”
00:load R1,start_sir
02:load R0,0
04:load R2,1
06:load R3,2
08:load R4,0xE0
bucla: 0A: load R5,[R1]
0C: jmpEQ R5=R0,stop
0E: store R5,[R4]
10: addi R1,R1,R3
12: addi R4,R4,R2
14: jmp bucla
stop: 16: halt
start_sir: 18: db "acesta este un program care demonstreaza afisarea sirurilor"
12. Sa se scrie un program in limbaj de asamblare care sa numere cuvintele din urmatorul
sir de caractere. Cuvintele sunt subsiruri de caractere despartite de unul sau mai multe
caractere " ".
“Sa vedem cum ar trebui codificate instructiunile unui calculator obisnuit.”
00: load R1,text
02: load R4,1
04: load R3,1
06: load R2,0
08: load R7,0
bucla:0A: move RA,R7
0C: load R7,[R1]
0E: load R0,0
10: jmpEQ R7=R0,iesi
12: load R0,00100000b
14: jmpEQ R7=R0,buc3
16: addi R1,R1,R3
18: jmp bucla
buc3:1A: addi R1,R1,R3
1C: jmpEQ RA=R0,bucla
1E: jmp inc
inc:20: addi R2,R2,R3
22: addi R1,R1,R3
24: jmp bucla
iesi:26: addi R2,R2,R3
28: halt
text:2A: db "Sa vedem cum ar trebui codificate instructiunile unui calculator obisnuit."
13. Sa se copieze primele sase caractere din sirul urmator in memorie incepand cu adresa
D0h. Programul sa fie scris in memorie incepand cu adresa 0x60.
start_sir: db “ sir citit de la inceput - tisrafs al ed titic ris”
db 0h
15. Sa se copieze fiecare al treilea caracter din sirul de mai jos, in memorie, incepand cu
adresa E0h.
start_sir: db “acesta este un program demonstrativ”
00: load R1,start_sir
02: load R0,0
04: load R2,1
06: load R3,3
08: load R6,2
0A: load R4,0xE0
0C: addi R1,R1,R6
bucla:0E: load R5,[R1]
10: jmpEQ R5=R0,stop
12: store R5,[R4]
14: addi R1,R1,R3
16: addi R4,R4,R2
18: jmp bucla
stop:1A: halt
start_sir:1C: db "acesta este un program demonstrativ"