MC68HC11: Käskykanta


[edellinen sivu] [sisällysluetteloon] [etusivulle]
Käskykanta on tässä kuvattu hyvin lyhyesti. Täydellinen kuvaus löytyy M68HC11 Reference Manualista [Mot93] (sisätää mm. käskyjen vaikutukset lippuihin ja tarkan kuvauksen toiminnasta kellojaksoittain).

MC68HC11:n muista ominaisuuksista on oma kappaleensa.

Alla on käytetty seuraavia merkintöjä:
AA-akku (8-bittiä)
BB-akku (8-bittiä)
CCRlippurekisteri (8-bittiä)
CC-lippu (CCR-rekisterissä)
ZZ-lippu (CCR-rekisterissä)
VV-lippu (CCR-rekisterissä)
II-lippu (CCR-rekisterissä)
m8-bittinen muistipaikka
Mkahden 8-bittisen muistipaikan muodostama 16-bittinen paikka
(opr)muistissa oleva operandi

Operandittomat käskyt

ABAA = B + A
ABXX = X + Betumerkitön yhteenlasku
ABYY = Y + Betumerkitön yhteenlasku
CBAA - B= akkujen vertailu
CLCC = 0
CLII = 0
CLVV = 0
DAAyhteenlaskun jälkeen BCD-tyäydentää a-akun
DESS = S - 1
DEXX = X - 1
DEYY = Y - 1
FDIVX = D / X; D = r("fractional div") (r = jakojäännös)
IDIVX = D / X; D = r(r = jakojäännös)
INSS = S + 1
INXX = X + 1
INYY = Y + 1
MULD = A * B
NOPei tee mitään
PSHAm[SP] = A; SP=SP-1
PSHBm[SP] = B; SP=SP-1
PSHXM[SP] = X; SP=SP-2
PSHYM[SP] = Y; SP=SP-2
PULASP=SP+1; A = m[SP]
PULBSP=SP+1; B = m[SP]
PULXSP=SP+2; X = M[SP]
PULYSP=SP+2; Y = M[SP]
SBAA = A - B
SECC = 1
SEII = 1
SEVV = 1
STOPpysäyttää koko kontrollerin virransäästötilaan
TABB = A
TAPCCR = A
TBAA = B
TPAA = CCR
TSXX = SP + 1
TSYY = SP + 1
TXSSP = X - 1
TYSSP = Y - 1
WAIodottaa keskeytystä (rekisterit talletetaan valmiiksi)
XGDXX <=> Dvaihtaa rekisterien sisällön
XGDYY <=> Dvaihtaa rekisterien sisällön

Yhden operandin käskyt

ASL (opr)aritmeettinen 1:n bitin shift vasemmalle
ASLA
ASLB
ASLD
ASR (opr)aritmeettinen 1:n bitin shift oikealle
ASRA
ASRB
CLR (opr)nollaus
CLRA
CLRB
COM (opr)komplementointi (1:n komplementti)
COMA
COMB
DEC (opr)vähentää arvoa yhdellä
DECA
DECB
INC (opr)lisää arvoa yhdellä
INCA
INCB
LSL (opr)looginen 1:n bitin shift vasemmalle
LSLA
LSLB
LSLD
LSR (opr)looginen 1:n bitin shift oikealle
LSRA
LSRB
LSRD
NEG (opr)komplementointi (2:n komplementti)
NEGA
NEGB
ROL (opr)1:n bitin pyöritys vasemmalle
ROLA
ROLB
ROR (opr)1:n bitin pyöritys oikealle
RORA
RORB
TST (opr)testaa parametrin, asettaa vain liput
TSTA
TSTB

Kahden operandin käskyt

ADCA (opr)A = A + m + C
ADCB (opr)B = B + m + C
ADDA (opr)A = A + m
ADDB (opr)B = B + m
ADDD (opr)D = D + M
ANDA (opr)A = A and m
ANDB (opr)B = B and m
BITA (opr)A and m(bittitesti: asettaa vain liput)
BITB (opr)B and m(bittitesti: asettaa vain liput)
CMPA (opr)A - m(vertailu: asettaa vain liput)
CMPB (opr)B - m(vertailu: asettaa vain liput)
CPD (opr)D - M(vertailu: asettaa vain liput)
CPX (opr)X - M(vertailu: asettaa vain liput)
CPY (opr)Y - M(vertailu: asettaa vain liput)
EORA (opr)A = A xor m
EORB (opr)B = B xor m
LDAA (opr)A = m
LDAB (opr)B = m
LDD (opr)D = M
LDS (opr)S = M
LDX (opr)X = M
LDY (opr)Y = M
ORAA (opr)A = A or m
ORAB (opr)B = B or m
SBCA (opr)A = A - m - C
SBCB (opr)B = B - m - C
STAA (opr)m = A
STAB (opr)m = B
STD (opr)M = D
STS (opr)M = S
STX (opr)M = X
STY (opr)M = Y
SUBA (opr)A = A - m
SUBB (opr)B = B - m
SUBD (opr)D = D - M

Lyhyet (suhteelliset) hyppykäskyt

BCC (rel)hyppää jos C = 0
BCS (rel)hyppää jos C = 1
BEQ (rel)hyppää jos Z = 1
BNE (rel)hyppää jos Z = 0
BMI (rel)hyppää jos N = 1
BPL (rel)hyppää jos N = 0
BVS (rel)hyppää jos V = 1
BVC (rel)hyppää jos V = 0
BGT (rel)hyppää jos > (etumerkillisille)
BGE (rel)hyppää jos >= (etumerkillisille)
BLE (rel)hyppää jos <= (etumerkillisille)
BLT (rel)hyppää jos < (etumerkillisille)
BHI (rel)hyppää jos >(etumerkittömille)
BHS (rel)hyppää jos >=(etumerkittömille)
BLS (rel)hyppää jos <=(etumerkittömille)
BLO (rel)hyppää jos <(etumerkittömille)
BRA (rel)hyppää aina
BRN (rel)ei koskaan hyppää(2:n tavun NOP)
BSR (rel)aliohjelmakutsu

Muut hyppykäskyt

JMP (opr)hyppää aina
JSR (opr)aliohjelmakutsu
SWIohjelmallinen keskeytys
RTIpaluu keskeytyksestä
RTSpaluu aliohjelmasta

Bittienkäsittelykäskyt

BCLR (opr) (mask)nollaa bittejä
BSET (opr) (mask)asettaa bittejä
BRCLR (opr) (mask) (rel)hyppää, jos bitit = 0
BRSET (opr) (mask) (rel)hyppää, jos bitit = 1


[edellinen sivu] [sisällysluetteloon] [etusivulle]

[versio 1.5, 1996/03/09 15:00:48] [Lähetä palautetta Laurille]

Copyright © 1996 Lauri Aarnio. All Rights Reserved.