Uvod v Hcs12 - PowerPoint PPT Presentation

About This Presentation
Title:

Uvod v Hcs12

Description:

Title: Uvod v Hcs12 : Subject: GSPV : Author: Stanislav Kova i : Last modified by: stanek : Created Date: 3/30/2001 10:53:58 AM : Document presentation format: On ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 47
Provided by: Stani48
Category:
Tags: hcs12 | psha | uvod

less

Transcript and Presenter's Notes

Title: Uvod v Hcs12


1
(No Transcript)
2
Mikrokrmilnik
  • Kaj nas predvsem zanima?
  • Kaj zmore mikrokrmilniška družina
  • zmogljivost procesorja (CPE),
  • nacini delovanja (samostojen, razširjen,...),
  • tip in obseg pomnilnika (Flash, EEPROM, RAM),
  • V/I možnosti kakšne izpeljanke obstajajo.
  • Razvojna orodja oz. strojna in programska
    podpora
  • simulatorji, analizatorji, emulatorji,
  • Prevajalniki (zbirnik, c, c, ...)
  • OS, gonilniki, knjižnjice, protokoli, ...
  • Dokumentacija, naše izkušnje, podrocja uporabe,
    ..
  • .....

3
Mikrokrmilnik
  • CPE (procesorsko jedro)
  • programski model,
  • ukazi (nabor ukazov),
  • nacini naslavljanja,
  • sklad, subrutine,
  • sistem prekinitev, prekinitveni strežniki,
  • programiranje v zbirnem jeziku,
  • programiranje v višjih programskih jezikih (C)
  • .

4
Mikrokrmilnik
  • V/I možnosti
  • sponke oziroma signali,
  • digitalni vhodi/izhodi (vrata),
  • analogni vhodi/izhodi (A/D, D/A pretvorniki),
  • komunikacijski vmesniki (asinhroni, sinhroni,
    ...),
  • casovniki,
  • .... .

5
Mikrokrmilnik HCS12-izpeljanke
6
MC9S12DP256B osnovna zgradba
Procesor
Asinhrona serijska komunikacijska vmesnika
Pomnilniki
8-kanalna 10-bitna A/D pretvornika
Serijski periferni vmesniki
I2C vodilo
Casovnik
Komunikacijski vmesniki CAN (Controller Area
Network)
Pulzno dolžinska modulacija
7
HCS12 procesor blokovna shema
8
HCS12 procesorsplošni podatki
  • 16 bitna širina (notranjega) vodila,
  • 16-bitni registri/operacije
  • Navzgor združljiv (kompatibilen) s HC11
  • Enak programski model kot HC11
  • HC11 kompatibilen na nivoju zbirnega jezika
  • Deluje v vec samostojnih in razširjenih nacinih,
  • najbolje pa je, da ga uporabljamo v osnovnem
  • samostojnem nacinu.

9
HCS12 procesorprogramski model
10
HCS12 programski model
  • A,B 8-bitna (enakovredna) akumulatorja ALI
  • D (AB) 16 bitni akumulator
  • X,Y 16-bitna (enakovredna) indeksna registra
  • SP 16-bitni skladovni kazalec (sklad)
  • PC 16-bitni programski števec
  • CCR register stanj
  • biti S, X, H, I, N, Z, V, C
  • recemo bit C, bit Z, itd.
  • Na bite H, N, Z, V, C vpliva vecina ukazov,
  • vendar previdnost ni odvec.

11
Programski modelregister CCR
  • biti H, N, Z, V, C
  • C (Carry) bit prenosa iz/v msb (most
    significant bit).
  • Pride prav pri racunanju z nepredznacenimi
    števili
  • (prekoracitev obsega racunanja, npr. izven
    0..255).
  • Racunanju z vecbajtnimi števili
  • npr. 32 bitnimi pred/nepred-znacenimi števili
    za prenos
  • naprej v višji del), podaljšanje operandov.
  • Druge aritmeticne/logicne operacije.
  • V (Overflow) bit presega (preplavitve,
    preliva).
  • Pride prav pri racunanju s predznacenimi števili
  • (prekoracitev obsega racunaja, npr. izven
    128 .. 127).
  • N, Z (Negative, Zero) bita negativne in nicelne
    vrednosti.
  • H (Half Carry) bit polovicnega prenosa (b3-gt
    b4).
  • pride prav pri racunanju z BCD števili, za nas
    dokaj
  • nezanimiv.

12
Programski modelregister CCR
  • I (Interrupt (IRQ) mask)
  • maskirni bit zahteve za prekinitev signal
    IRQ.
  • S tem bitom lahko preprecimo (maskiramo
    zahtevo za
  • prekinitev, npr. iz periferne naprave oz.
    vmesnika.
  • I 1 (ukaz SEI) prepreci prekinitve,
  • I 0 (ukaz CLI) omogoci prekinitve.
  • X (Interrupt (XIRQ) mask)
  • maskirni bit (nemaskirane) zahteve za
    prekinitev signal XIRQ.
  • S tem bitom so onemogocene prekinitve XIRQ ob
    zacetnem
  • zagonu, dokler jih ne omogocimo z brisanjem
    bita.
  • Starejši procesorji tega bita nimajo (prekinitev
    NMI).
  • S (Stop) bit
  • bit ukaza STOP (ustavi procesor in
    oscilator).
  • Z brisanjem tega bita omogocimo delovanje ukaza
    STOP.
  • Ob zagonu je S1 in STOP ukaz nima vpliva (NOP).

13
HCS12 ukazi, groba delitev
  • Prenosni ukazi tipa
  • LOAD, STORE, TRANSFER, EXCHANGE, MOVE
  • Aritmeticno logicni ukazi
  • , -, , /, , --
  • , , ,
  • pomicni levo, desno na vec nacinov.
  • Primerjalni (-), testni ().
  • Skocni, vejitveni, klicni, vrnitveni.
  • Bitni ukazi, testiranje, postavljanje, brisanje.
  • Upravljalni.

14
HCS12 nacini naslavljanja
  • vsebovano (operand skrit v operacijski kodi)
  • takojšnje (operand v ukazu)
  • direktno, razširjeno (8/16 bitni naslov
    operanda)
  • indeksno (veliko izpeljank)
  • relativno (vejitve)
  • Efektivna adresa (naslov) EA
  • 16-bitni naslov, na katerega se nanaša
    operacija.

15
HCS12 nacini naslavljanja
16
HCS12 nacini naslavljanja
17
Nacini naslavljanja vsebovano
Dolocilo operanda je vsebovano v operacijski
kodi Primeri NOP, STOP, WAI, ... SEI,
CLI, ... INCA, INCB, DECA, DECB, CLRA,...
INX, INY, DEX, ... , INS, DES,... TAB, TAP,
TSX, ....
18
Nacini naslavljanja takojšnje
Operand je v polju operanda ukaza LDAA 10
desetiška konstanta LDAB 10
šestnajstiška konstanta LDAA
100 nesmisel !!! LDD 0100 D je 16 biten
(AB 0100) LDX 2000 LDY 20
privzeta 16-bitna konstanta 0020 I.T.D.
Pomeni v zbirnem jeziku takojšni nacin
naslavljanja!
19
Nacini naslavljanja direktno
  • V polju operanda ukaza je podan 8-bitni naslov
    operanda
  • v obmocju 00 do FF.
  • Efektivni naslov je seveda kljub temu 16-biten,
    a se za
  • zgornji del (zgornjih 8 bitov) privzame 00.
  • Obmocje naslavljanja je torej 0000 do 00FF.
  • Na ta nacin smo prihranili en bajt, ukaz je
    krajši/hitrejši.
  • Vcasih se temu rece naslavljanje nicte strani.
  • Primeri
  • LDAA 10 desetiško podan naslov, 000A
  • LDAB 10 šestnajstiško podan naslov,
    0010
  • LDD 10 D se polni z vsebino (00100011)
  • i.t.d.

20
Nacini naslavljanjarazširjeno
  • V polju operanda ukaza je podan (poln) 16-bitni
    naslov operanda
  • v obmocju 0000 do FFFF.
  • Seveda je možno razširjeno naslavljanje tudi v
    nicti strani,
  • ni pa potrebno oz. smiselno.
  • Primeri
  • LDAA 1024 desetiško podan naslov, 0400
  • LDAB 1000 šestnajstiško podan naslov,
    1000
  • LDD 1000 D se polni z vsebino (10001001)
  • i.t.d.

21
Nacini naslavljanjarelativno
  • Relativno naslavljanje pride v poštev pri
    vejitvah (vejitvenih ukazih)
  • v obmocju
  • 8-bitnega predznacenega odmika od PC (short
    branch),
  • 16-bitnega predznacenega odmika od PC (long
    branch).
  • Primeri
  • BRA nekam8 relativna (brezpogojna) kratka
    vejitev
  • LBRA nekam16 relativna (brezpogojna) dolga
    vejitev
  • BNE nekam8 vejitev v primeru nenicelne
    vrednosti
  • LBNE nekam16
  • ....

22
Nacini naslavljanjaindeksno
  • Pri tvorjenju efektivne adrese sodeluje indeksni
    register
  • vsebina indeksnega registra odmik
  • Kot indeksni register lahko služi X, Y, SP, PC
  • Možnih je veliko (mocnih) oblik indeksnega
    naslavljanja
  • s 5,9,16-bitnim predznacenim (konstantnim)
    odmikom
  • s spremenljivim odmikom v A, B, D.
  • z avto pred/po de/in-krementiranjem za od 8 do
    8
  • možen je tudi indeksen posreden nacin
    naslavljanja.

23
Nacini naslavljanjaindeksno
  • Nekaj primerov
  • 5-bitni predznacen odmik
  • LDAA 0,X napolni A s pom.besedo z naslovom v
    X
  • A ? (X)
  • STAA -8,X shrani A na naslov X-8
  • 9-bitni predznacen odmik
  • LDAB FF,Y A ? (YFF)
  • STAB -20,Y B ? (Y-20)
  • 16-bitni predznacen odmik
  • .....

24
Nacini naslavljanjaindeksno
  • Nekaj primerov
  • avtomatsko dekrementiranje/inkrementiranje
    pred ali po operaciji
  • LDAA 1,X napolni A s pom.besedo z naslovom v
    X
  • A ? (X), povecaj X za 1, X ? X1
  • LDAA 2,Y- naploni A z vsebino na naslovu v Y,
  • A ? (Y), zmanjšaj potem Y za 2, Y ? Y-2
  • ekvivalento PSHA, PSX
  • STAA 1,-SP preddekrement za 1, potem shrani A
  • STX 2,-SP preddekrement za 2, potem shrani X
  • prenos ilustrativni primer
  • MOVW 2,X,4,Y predinkrement X za dva, beri
    besedo
  • vpiši besedo, poinkrement Y za 4
  • .....

25
Nacini naslavljanjaindeksno
  • Indeksno indirektno (t.j. Posredno z
    indeksiranjem)
  • LDAA 10,X naslov operanda EA je na
    X10,X11
  • Pa še spremenljiv odmik
  • LDAA B,X EA je BX
  • Pa še posredno s spremenljivim odmikom
  • LDAA D,Y
  • ......
  • JMP D,PC skocna tabela
  • DC.W prvi skocni naslov
  • DC.W drugi
  • DC.W tretji, i.t.d.

26
HCS12 ukazi tipa LOAD, STORE
27
Prenos (TRF), premik (MOV), menjava (EXG)
Med registri
Pomnilnik
28
Seštevanje, odštevanje
29
Zvecanje, zmanjšanje
30
Primerjanje, testiranje
31
Logicne operacije
32
Brisanje, komplementiranje, negiranje
33
Množenje, deljenje
34
Bitne operacije
35
Ukazi pomika, rotacije
36
Vejitve, kratke
37
Vejitve, dolge
38
Vejitve, bitne
39
Operacije z indeksnim registrom
40
Operacije s skladovnim kazalcem
41
Polnjenje dejanskega naslova(EA)
42
Operacije z registrom CCR
43
Skoki, vejitve in subrutine
44
Prekinitve
45
Prazne operacije
46
Ukaza STOP in WAI
Write a Comment
User Comments (0)
About PowerShow.com