Witam
Jezeli tworze 1 DB to umie to "obsluzyc"
F_TABLE:
.db 0b00000000,0b00000000
.db 0b00000000,0b00000000
.db 0b00000000,0b00000000
.db 0b00000000,0b00000000
.db 0b00100110,0b01001001
.db 0b01001001,0b01001001
.db 0b00110010,0b00000000
ldi ZH, high(F_TABLE*2)
ldi ZL, low(F_TABLE*2)
lpm
st Y+,r0
Ale jak sie "obsluguje kilka DB ??
F_TABLE:
Hz0Hz: .db 0x00,0x00,0x00,0x00
Hz1Hz: .db 0x01,0x00,0x00,0x00
Hz10Hz: .db 0x0a,0x00,0x00,0x00
Hz100Hz: .db 0x64,0x00,0x00,0x00
Hz1kHz: .db 0xe8,0x03,0x00,0x00
Hz10kHz: .db 0x10,0x27,0x00,0x00
Hz100kHz: .db 0xa0,0x86,0x01,0x00
Hz1MHz: .db 0x40,0x42,0x0f,0x00
Hz10MHz: .db 0x80,0x96,0x98,0x00
Z góry dziekuje za podpowiedz.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięDB w asm [AVR]
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Czyli (jeżeli dobrze rozumiem) potrzebujesz przekodować znaki z jakiegoś napisu. Każdy z znak z napisu (np. ala ma kota) zamienić na inny znak (przekodować przez tablicę), tak? Czy .DB 0b00001111 (z etykiety a:) odpowiada znakowi 'a', kolejno (z db 0b010101010) ma zastępować literę 'b' ..... DB 0b00111111 (te z l: za zastępować literę 'l'), kolejno 0b010101010, zastępuje literę 'm', itd.?
vide to "ala ma kota"tak tylko ze litere na "l" zamienic na :
5 bitow np $ff,$ff,$ff,$ff,$ff
to może taki look-up?
zdefiniuj tak:
Kod: Zaznacz cały
ZNAKI:
.db 'a', 0xFF, 0xFF,0xFF,0xFF, 0xFF
.db 'l', 0xEE, 0xEE,0xEE,0xEE, 0xEE
.db 'm', 0xDD,0xDD,0xDD,0xDD,0xDD
;itd, itd....
.db 0xFF
Kod: Zaznacz cały
do_wyszukania = '?'
adr_pocz = ZNAKI
SZUKAJ:
if zawartość (adr_pocz) = do_wyszukania then
zwróć adr_pocz+1 // pierwszy bajt danych szukanego wzorca
else
if zawartość (adr_pocz) = 0xFF then
zwróć błąd? - nie ma takiego znaku?
else
adr_pocz = adr_pocz + 6 // bo jeden "rekord" tabelki ma 6 bajtów
goto SZUKAJ
end if
end if
średnio to efektywne jest, ale takie "cuś" kiedyś mi zadziałało...
miłego!
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości