Alo!!
Ekola, tole je ena različic od lani (ni moja in
nism zighr če deluje k je nism sprobala, sam
mislm da je kr ok):
; R1, naslov polja A
; R2, naslov polja B
; R3, tevilo elementov
;
; SUM = A[i] + B[i]
; IF SUM > 255
; SUM = 255
; ELSE
; IF SUM < 0
; SUM = 0
; A[i] = SUM
;++++++++++++++++++++++++++++++++++
; R4, stevilo iz A
; R5, stevilo iz B
; R6, cnt
; R7 = 255
; R8 = 128
.data
.org 0x400
A: .byte 12,251,140
B: .byte 15,150,230
.text
.org 0
ADDUI R1,R0,#A
ADDUI R2,R0,#B
ADDUI R3,R0,#3 ; tevilo el. v tabeli
ADDUI R7,R0,#255 ; za primerjavo
ADDUI R8,R0,#128
ADDU R6,R0,R0 ; counter
j prognp(R0)
nop
nop
;---------------------------
;-- neizpolnjen pogoj
;---------------------------
vecjinp:
ADDUI R4,R0,#255
J storenp(R0)
manjsinp:
ADDUI R4,R0,#128
j storenp(R0)
prognp:
LB R4,A(R6) ;loada byte v R4 iz A
LB R5,B(R6) ;loada byte v R5 iz B
ADDU R4,R4,R5 ;sesteje A[i] + B[i]
SUBI R4,R4,#128 ;odsteje odmik 128
;preveri pogoje
SLT R10,R7,R4 ; ce je R7 < R4 potem R10 = 1
BNE R10,vecjinp ; skoce ce R10 = 1
;preveri za rez < 0
SLT R10,R4,R8
BNE R10,manjsinp
storenp:
; shrani na A[i]
SB A(R6),R4
; poveca odmik v tabeli
ADDUI R6,R6,#1
;ce pride do konca tabele skoci na konec
SUBU R10,R6,R3
BEQ R10,end
J prognp(R0)
;------------------------------
;-- konec neizpolnjenega pogoja
;------------------------------
;---------------------------
;-- zakasnjen skok
;---------------------------
vecjizs:
ADDUI R4,R0,#255
J storezs(R0)
nop
nop
manjsizs:
ADDUI R4,R0,#128
j storezs(R0)
nop
nop
progzs:
LB R4,A(R6) ;loada byte v R4 iz A
LB R5,B(R6) ;loada byte v R5 iz B
ADDU R4,R4,R5 ;sesteje A[i] + B[i]
SUBI R4,R4,#128 ;odsteje odmik 128
;preveri pogoje
SLT R10,R7,R4 ; ce je R7 < R4 potem R10 = 1
BNE R10,vecjizs ; skoce ce R10 = 1
nop
nop
;preveri za rez < 0
SLT R10,R4,R8
BNE R10,manjsizs
nop
nop
storezs:
; shrani na A[i]
SB A(R6),R4
; poveca odmik v tabeli
ADDUI R6,R6,#1
;ce pride do konca tabele skoci na konec
SUBU R10,R6,R3
BEQ R10,end
nop
nop
J progzs(R0)
nop
nop
;------------------------------
;-- konec zakasnjenega skoka
;------------------------------
end: halt
lep pozdravček, Anja
--- Simon Sesek <[EMAIL PROTECTED]> wrote:
> Helo!
> Ali mogoce ima kaj narejeno pri Ars1 4. seminarsko
> nalogo za HIP?
> Bom vesel kakrsnekoli pomoci.
>
> Tle je se besedilo naloge:
>
> Napi¹ite podprogram za HIP procesor, ki se¹teje
> elemente dveh polj, ki
> vsebujejo 8-bitna
> predznaèena ¹tevila v predstavitvi z odmikom (odmik
> je 128), po pravilu, ki
> ga podaja
> spodnja psevdo koda:
> SUM = A[i] + B[i]
> IF SUM > 255
> SUM = 255
> ELSE IF SUM < 0
> SUM = 0
> A[i] = SUM
> Dodaten namig: ¹tevila v predstavitvi z odmikom
> se¹tevamo tako, da ¹tevili
> se¹tejemo, nato
> pa en odmik od¹tejemo.
> Naslov polja A dobi podprogram v registru R1, naslov
> polja B v registru R2,
> ¹tevilo
> elementov polj pa v registru R3.
>
> Napi¹ite:
> 1. razlièico, ki je primerna za HIP procesor, ki
> uporablja zakasnjene skoke;
>
> 2. razlièico, ki je primerna za HIP procesor, ki pri
> skokih predpostavlja
> neizpolnjen
> pogoj.
> Na zadnji razlièici (neizpolnjen pogoj pri skokih)
> analizirajte vse
> cevovodne nevarnosti v
> primeru, èe procesor nima vgrajene logike za
> premo¹èanje podatkovnih
> cevovodnih
> nevarnosti. Posebej oznaèite (glej spodnja navodila
> za delo) tiste ukaze,
> kjer bi podatkovna
> cevovodna nevarnost obstajala, tudi èe bi procesor
> imel vgrajeno logiko za
> premo¹èanje
> podatkovnih cevovodnih nevarnosti.
>
> Navodila za delo:
> Vsaka seminarska naloga mora vsebovati ime, priimek
> in vpisno ¹tevilko
> ¹tudenta(ke). Poleg
> zahtevanih razlièic podprograma s komentarji mora
> vsaka naloga vsebovati
> kratek glavni
> program s primerom klica ene razlièice podprograma.
> Analizo cevovodnih
> nevarnosti (tip
> nevarnosti, ¹tevilo èakalnih stanj, kaj je
> povzroèilo nevarnost) vkljuèite
> kot komentar vsakega
> ukaza, kjer se cevovodna nevarnost pojavi. Vsak
> podprogram naj bo napisan
> optimalno, tako
> da se izvede kar najhitreje.
>
> RES HVALA TISTEMU KI KAJ POMAGA...
>
> LP Simon
>
___________________________________________________________
Yahoo! Photos NEW, now offering a quality print service from just 8p a photo
http://uk.photos.yahoo.com