algoritmus
Martin Záruba
swz@volny.cz
Neděle Květen 13 10:19:29 CEST 2007
Pokud tabulkou, udelal bych to takto:
Tabuka:
db x,x,x,x,x,x,x,x,x,x ; hodnoty pro b=6 a a<0,90>
db x,x,x,x,x,x,x,x,x,x ; hodnoty pro b=10 a a<0,90>
db x,x,x,x,x,x,x,x,x,x ; hodnoty pro b=15 a a<0,90>
PROMENNAa: db 1
PROMENNAb: db 1
; pokud je b<8 pouzije se z tabulky hodnota pro 6, pokud b<13 pouzije se
hodnota pro 10, jinak pro 15
Program:
mov a,PROMENNAa
mov b,#10
div ab
mov r1,a
mov r2,#0
mov a,PROMENNAb
clr c
subb a,#8
jc okixb
inc r2 ; zvysit na index pro druhou radku
subb a,#5
jc okixb
inc r2 ; zvysit na index pro treti radku
okixb:
mov a,r2 ; index sloupce
mov b,#10 ; vynasobit delkou radky
mul ab ; v a je nyni adresa radky
add a,r1 ; uchovany index radky
mov dptr,#Tabulka
movc a,@a+dptr ; v a je nyni prvek z tabulky
Martin Zaruba
----- Original Message -----
From: "Igor Černý" <iro@xcross.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Sunday, May 13, 2007 8:53 AM
Subject: algoritmus
Dobry den,
poradte jak nejvhodneji implementovat nasledujici problem:
mam dve spojite na sobe nezavisle veliciny a,b z oboru celych cisel
a = <0,90>
b = <6, 15>
hodnota c je dana tabulkou v zavislosti na
a = 0, 10, 20, ... 90
pri b = 6, 10, 15
Pokud hodnota vstupu dle tabulky nedosahne c OK, pokud presahne musi
procesor
reagovat napr. vypnutim zarizeni.
Nevim zda je vhodne zapsat tabulku a nejak kontrolovat hodnoty mymo
definovane
body, nebo by bylo vhodnejsi najit funkci, ktera definuje F(a,b)=c - to ale
nevim jak :(
Jake reseni si myslite ze je vhodnejsi pripadne jake vyhody maji jednotliva
reseni.
Diky s pozdravem
Igor
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list