EasyManua.ls Logo

HP 48GII - Page 512

HP 48GII
653 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
6-26 The Development Library
Operation Assembler Action S flags
Copy and shift
MLNf&kG(hfDh!K(F!zLqjG(9!
d:= <Oprnd> NZCR
Not
MN=f&kG(hfDh!K(F!zLqjG(9!
d:= ~<Oprnd> NZCR
Add
B44f&kG(hfDh!K(F!KGF!zLqjG(9!
d:= Rn + <Oprnd> NZCVR
Add w carry
B4Of&kG(hfDh!K(F!KGF!zLqjG(9!
d:= Rn + <Oprnd> + Carry NZCVR
Sub
D5Sf&kG(hfDh!K(F!KGF!zLqjG(9!
d:= Rn - <Oprnd> NZCVR
Sub w carry
DSOf&kG(hfDh!K(F!KGF!zLqjG(9!
d:= Rn - <Oprnd> - Not(Carry) NZCVR
Reverse Sub
KDSf&kG(hfDh!K(F!KGF!zLqjG(9!
d:= <Oprnd> - Rn NZCVR
Rev sub w carry
KDOf&kG(hfDh!K(F!KGF!zLqjG(9!
d:= <Oprnd> - Rn – Not(Carry) NZCVR
Multiply
M5Ef&kG(hfDh!K(F!KoF!KZ!
d:= Rm * Rs NZR
Multiply Add
MEBf&kG(hfDh!K(F!KoF!KZF!KG!
d:= (Rm * Rs) + Rn NZR
Compare
OM2f&kG(h!K(F!zLqjG(9!
flags:= Rn - <Oprnd> NZCV
Cmp Negative
OM=f&kG(h!K(F!zLqjG(9!
flags:= Rn + <Oprnd> NZCV
Test
:D:f&kG(h!KGF!zLqjG(9!
flags:= Rn And <Oprnd> NZC
Tst equivalence
:<Uf&kG(h!KGF!zLqjG(9!
flags:= Rn Xor <Oprnd> NZC
And
B=4f&kG(hfDh!K(F!KGF!zLqjG(9!
Rd:= Rn And <Oprnd> NZC
Xor
<LKf&kG(hfDh!K(F!KGF!zLqjG(9!
Rd:= Rn Xor <Oprnd> NZC
TLKf&kG(hfDh!K(F!KGF!zLqjG(9!
Rd:= Rn Xor <Oprnd> NZC
Or
LKKf&kG(hfDh!K(F!KGF!zLqjG(9!
Rd:= Rn Or <Oprnd> NZC
BitClear (ÑAnd)
S6Of&kG(hfDh!K(F!KGF!zLqjG(9!
Rd:= Rn And Not <Oprnd> NZC
Branch
Sf&kG(h!u$%)u!
R15/PC:= address
Gosub
SEf&kG(h!u$%)u!
R14:=R15/PC, R15/PC:= address
Load Int
E4Kf&kG(h!K(F!z$„ok()9!
E4Kf&kG(h!K(F!E$%)u!
Rd:= [address]
Rd:= data at label. The label address is calculated
relative to the PC. This does not work with
constants
Load Byte
E4Kf&kG(hS!K(F!z$„ok()9!
E4KSf&kG(h!K(F!E$%)u!
Rd:= [byte at address] 0 extended
Rd:= data at label. The label address is calculated
relative to the PC. This does not work with
constants
Multiple load
!
Stack operations (Pop)
Inc Before
E4Mf&kG(h6S!K(f•hF!fj)m!utZph!
! sets the W bit (updates the base
Inc After
E4Mf&kG(h6B!K(f•hF!fj)m!utZph!
register after the transfer)
Dec Before
E4Mf&kG(h4S!K(f•hF!fj)m!utZph!
Dec After
E4Mf&kG(h4B!K(f•hF!fj)m!utZph!
Store Int
D:Kf&kG(h!K(F!z$„ok()9!
D:Kf&kG(h!K(F!E$%)u!
[address]:= Rd
data at label:= Rd. The label address is calculated
relative to the PC. This does not work with
constants
Store Byte
D:KSf&kG(h!K(F!z$„ok()9!
D:KSf&kG(h!K(F!E$%)u!
[address]:= byte value from Rd
data at label:= Rd. The label address is calculated
relative to the PC. This does not work with
constants
Multiple Store
!
Stack operations (Push)
Inc Before
D:Mf&kG(h6S!K(f•hF!fj)m!utZph!
! Sets the W bit (updates the base
Inc After
D:Mf&kG(h6B!K(f•hF!fj)m!utZph!
register after the transfer
De Before
D:Mf&kG(h4S!K(f•hF!fj)m!utZph!
De After
D:Mf&kG(h4B!K(f•hF!fj)m!utZph!
multiplication
M5E!j(F!j3!jH!
rd=r1*r2
MEB!j(F!j3F!jHF!jV!
rd=r1*r2+r3
DM5EE!j(3F!j(HF!j3F!jH!
Signed mul rd1=low r1*r2, rd2=high r1*r2
DMEBE!j(3F!j(HF!j3F!jH!
Signed mul add rd1+=low r1*r2, rd2+=high r1*r2
5M5EE!j(3F!j(HF!j3F!jH!
rd1=low r1*r2, rd2=high r1*r2
5MEBE!j(3F!j(HF!j3F!jH!
mul add rd1+=low r1*r2, rd2+=high r1*r2
.u$%)u=$o)!
Creates a label
…!
See $ in ASM mode
ŠF!‰!
See ASM mode

Table of Contents

Other manuals for HP 48GII

Related product manuals