 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Sre Dec 17, 2008 5:37 pm Naslov sporočila: Kat/Ce assembler MC 68000 |
|
|
Pozdravljeni!
Mene zanima, če kdo dobro obvlada programiranje v assemblerju motorole MC 68000?
|
|
Nazaj na vrh |
|
 |
NUFAN Član


Pridružen-a: Pon 05 Apr 2004 21:39 Prispevkov: 947 Aktiv.: 3.99 Kraj: Žalec
|
Objavljeno: Sre Dec 17, 2008 10:13 pm Naslov sporočila: |
|
|
Nekaj znam, nisem pa ekspert. Povej kaj te zanima.
_________________ Roke spadajo k telesu, ne k delu. |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Sre Dec 17, 2008 11:49 pm Naslov sporočila: |
|
|
v bistvi moram napisat program, ki bo omogočal pretvorbo med
osnovnimi številskimi sistemi. Vnos števila prek tipkovnice osebnega računalnika naj bo mogoč v
desetiškem (brez predpone), dvojiškem (predpona %), osmiškem (predpona &) ali šestnajstiškem
(predpona $) sistemu, izpiše pa se nato v vseh omenjenih številskih sistemih. Uporabljajte 32-bitna
nepredznačena števila.
Kak se stvari lotit??
|
|
Nazaj na vrh |
|
 |
NUFAN Član


Pridružen-a: Pon 05 Apr 2004 21:39 Prispevkov: 947 Aktiv.: 3.99 Kraj: Žalec
|
Objavljeno: Čet Dec 18, 2008 12:45 am Naslov sporočila: |
|
|
Cele naloge ne bom rešil, napišem pa ti lahko smernice in pomagam pri problemih, ki se ti bodo pojavljali.
Začni tako, da si narišeš diagram poteka.
Na začetku moraš prebrat pritisnjeno tipko. Potem se moraš vprašat, če je bila pritisnjena katera od tipk, ki ti predstavlja za kateri številski sistem gre (%, &, $, 0-9). Ko imaš znan številski sistem sledi pretvorba števila.
Za pretvorbo pa lahko uporabiš formulo: x'=x+števka
To imate itak bolj podrobno opisano v navodilih za to vajo.
Svetujem ti, da najprej narediš ta del in ko bo ta del deloval, se lotiš izpisa števil na ekran, ker se boš drugače zgubil v programu.
_________________ Roke spadajo k telesu, ne k delu. |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Čet Dec 18, 2008 2:10 am Naslov sporočila: |
|
|
saj imam v bistvi nekaj kode narejene. V bistvi sem si predstavljal stvar tako, da se mi na začetku pojavi en meni. Po izbiri pa nato sledi svoje ... rabil bi pomoč samo pri eni pretvorbi naprimer binarni zapis v ostale. Nekaj kode pa mam tu:
Opis: |
|
 Download |
Ime datoteke: |
koda.txt |
Velikost datoteke: |
1.56 KB |
Downloadano: |
28 krat |
Nazadnje urejal/a galex4 Čet Dec 18, 2008 3:31 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Čet Dec 18, 2008 12:03 pm Naslov sporočila: |
|
|
od tu dalje rabim pomoč
BINARNO:
MOVE #$06,-(SP) ;pritisnemo zeljeno tipko (TASTIN)
TRAP #4
CMP #48,D0 ;primerja ali je bila pritisnjena tipka 0
BEQ.B ODSTEJ
CMP #49,D0
ODSTEJ:
SUB #48,D0 ;in odstejemo D1-48
LSL.B #1,D0 ;bite 1x premaknemo v levo (osnova = 2) 0010
ADD.B D0,D1 ;in povecamo za prejsnjo vrednostjo SUB #48,D0
Nevem kak se naj lotim same pretvorbe in izpisa na zaslonu
Vsaka pomoč je dobrodošla...
|
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.55
|
Objavljeno: Čet Dec 18, 2008 12:26 pm Naslov sporočila: |
|
|
Pretvorba v oktalni in heksadecimalni (malce manj) sistem je trivialna:
imas stevilo, spravis ga na zacasno mesto, maskiras spodnje 3 ali 4 bite in:
za oktalni samo pristejes dobljenemu stevilu ASCII kodo znaka '0'
za hex preveris ali je vrednost manjsa od 10 in ce je, pristejes stevilu kodo znaka '0', ce pa ni, pa vrednost zmanjsas za 10 ter pristejes stevilu kodo znaka 'A'
Preostanek stevila potem zamaknes v desno za 3 oz. 4 bite in postopek ponavljas, dokler ne prides do konca stevila (dokler ni preostala vrednost enaka 0).
Za pretvorbo v desetiski je postopek identicen tistemu za pretvorbo v oktalni sistem, le da stevila ne mores preprosto maskirati in pomikati, ampak moras izvesti modulo z 10 z izracun znaka ter deljenje z 10 namesto pomika.
Izpis na zaslon ? Menda moras imeti kaksne I/O rutine ze narejene, sicer mora biti pa nekje opisano kako pises na zaslon.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Čet Dec 18, 2008 3:29 pm Naslov sporočila: |
|
|
Hvala za komentar, podobno sem danes to slišau, samo me bolj zafrkava realizacija same teorije. Bolj me zanima kak to spravit v kodo? Pri sami kodi bi rabil pomoč.
Vseeno hvala.
|
|
Nazaj na vrh |
|
 |
Medo Član

Pridružen-a: Pet 17 Feb 2006 19:53 Prispevkov: 71 Aktiv.: 0.30 Kraj: Laško, Maribor
|
Objavljeno: Čet Dec 18, 2008 3:49 pm Naslov sporočila: |
|
|
to je sigurno projekt na FERI faksu...to smo mi tudi morali napisat
osnove shiftanje in BCD števila pa gre
lpA
|
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Čet Dec 18, 2008 3:59 pm Naslov sporočila: |
|
|
Medo je napisal/a: |
to je sigurno projekt na FERI faksu...to smo mi tudi morali napisat
osnove shiftanje in BCD števila pa gre
lpA |
itaq
mogoče še imaš to kodo?
rajši bi mikrokontrolerje programiral kot pa to.
|
|
Nazaj na vrh |
|
 |
DrRogla Član


Pridružen-a: Tor 18 Jan 2005 18:00 Prispevkov: 336 Aktiv.: 1.42 Kraj: Hrastnik, Maribor
|
Objavljeno: Čet Dec 18, 2008 7:50 pm Naslov sporočila: |
|
|
Mogoče se ti ne zdi da je tole uporabno, ampak če razumeš na bitnem nivoju kaj se z elektroniko dogaja, boš lažje tudi v c-ju realiziral nekaj.
Že po naslovu teme vem da je to projekt na FERI pri MRS1
_________________ LP, Božo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.55
|
Objavljeno: Čet Dec 18, 2008 7:55 pm Naslov sporočila: |
|
|
galex4 je napisal/a: |
Hvala za komentar, podobno sem danes to slišau, samo me bolj zafrkava realizacija same teorije. Bolj me zanima kak to spravit v kodo? Pri sami kodi bi rabil pomoč. |
Verjamem, a to je tvoja naloga, ne moja. RTFM usermanual (poglavje instruction set) ali placaj nekoga drugega, da to opravi namesto tebe (nekdo se je oglasil visje zgoraj, da ima izkusnje s tem).
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
NUFAN Član


Pridružen-a: Pon 05 Apr 2004 21:39 Prispevkov: 947 Aktiv.: 3.99 Kraj: Žalec
|
Objavljeno: Čet Dec 18, 2008 8:25 pm Naslov sporočila: |
|
|
Tvoj program je čisto narobe napisan. Vidim, da ti ne zastopiš besedila naloge.
Pri vpisu števila na tipkovnici imaš mora biti na prvem mestu predpona za osmiško, binarno, heksadecimalno ali desetiško, ki je brez predpone.
Torej, najprej se moraš vprašat ali je bil vnešena tipka %, &, $ ali število od 0-9.
To bi zgledalo nekako takole:
Koda: |
MOVE #$06,-(SP) ; preberemo tipko
TRAP #4
CMP #'%',D0 ;ali je pritisnjena predpona za binarni sistem
BEQ.B BIN
CMP #'$',D0 ;ali je pritisnjena predpona za heksa sistem
BEQ.B HEX
CMP #'&',D0 ;ali je pritisnjena predpona za osmiški sistem
BEQ.B OKT
.............
..........
|
Naprej sledi preverjanje za desetiški sistem, ki nima predpone, ampak se začne kar s številko od 0-9. Torej sledi še 10 "if" stavkov.
S tem boš imel rešeno za kateri sistem gre. Pretvorbo števil sem ti pa že zgoraj napisal.
Zaenkrat pusti izpis, ker te bo zmedlo!!! Raje se loti pretvorbe.
_________________ Roke spadajo k telesu, ne k delu. |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.19
|
Objavljeno: Pet Dec 19, 2008 9:50 am Naslov sporočila: |
|
|
v bistvi sem za zgoraj pripeto kodo imel tak način, da bi ti na začetku izpisalo nek meni pol bi pa samo izbral v katerem zapisu bi pač vpisal (dec, hex, oct, bin). Za binarni vpis (večkrat pripeta koda) pa sem mu hotel dati neko zaščito, da bi lahko mel na voljo samo 0 in 1. Vse skupaj sem si predstavljal kot ima kalkulator pretvarjanje funkcije v vse te oblike.
|
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.55
|
Objavljeno: Pet Dec 19, 2008 12:23 pm Naslov sporočila: |
|
|
Takih stvari se ne pise (vec) v assemblerju, ker je to izguba casa. Tisti, ki ti je narocil izdelati uporabniski vmesnik v assemblerju, bi moral delati kje drugje - v kuhinji recimo .. kot pomivalec kroznikov.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 500 dni
Powered by phpBB © 2001, 2005 phpBB Group
|