Re: A83: BASIC to ASM
[Prev][Next][Index][Thread]
Re: A83: BASIC to ASM
Actually my brother and i are starting to work with machine code and it isnt that difficult...
The hardest thing about it is memory addressing...like when you want to display text you have to jump to another location to read it. So you have to tell it where to jump.
So i suggest if you try using machine code put each command on its own line, that way you can go back and add up the bytes easier.
Remember addressing starts at memory location 9327
and you add one byte for every 2 digits in the program.
and it is written in Hexidecimal and also you have to swap the high and low bytes of every address; so if you had a label at 9327 it would turn out as jumping to 2793.
If you need some documentation you can get it from tokens.inc, ti83asm.inc, and alot of other places.
I went ahead and put alot of the commands in this attachment. Print out the document that im sending which i took from a couple of documents.
I hope i helped a little...
If you need any more help just ask..im sure someone knows the answer..
Billy Conner
---smithrh@esper.com wrote:
>
>
> i think cd is call and e0 has something to do with text. I believe the 83
> is 8-bit, and I know all the codes of text and some other commands and stuff
> nat
>
> >
> >dont laugh. i know there are a few guys on the list that could code in
> >machine code
> >
> >>Ha Ha Ha, your a funny guy. Learn Machine code.
> >
>
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
i took these from various documents..so i could print it all out.
Mnemonic Clock Siz OP-Code
ADC A,(HL) 7 1 8E
ADC A,(IX+N) 19 3 DD 8E XX
ADC A,(IY+N) 19 3 FD 8E XX
ADC A,r 4 1 88+rb
ADC A,N 7 2 CE XX
ADC HL,BC 15 2 ED 4A
ADC HL,DE 15 2 ED 5A
ADC HL,HL 15 2 ED 6A
ADC HL,SP 15 2 ED 7A
ADD A,(HL) 7 1 86
ADD A,(IX+N) 19 3 DD 86 XX
ADD A,(IY+N) 19 3 FD 86 XX
ADD A,r 4 1 80+rb
ADD A,N 7 2 C6 XX
ADD HL,BC 11 1 09
ADD HL,DE 11 1 19
ADD HL,HL 11 1 29
ADD HL,SP 11 1 39
ADD IX,BC 15 2 DD 09
ADD IX,DE 15 2 DD 19
ADD IX,IX 15 2 DD 29
ADD IX,SP 15 2 DD 39
ADD IY,BC 15 2 FD 09
ADD IY,DE 15 2 FD 19
ADD IY,IY 15 2 FD 29
ADD IY,SP 15 2 FD 39
AND (HL) 7 1 A6
AND (IX+N) 19 3 DD A6 XX
AND (IY+N) 19 3 FD A6 XX
AND r 4 1 A0+rb
AND N 7 2 E6 XX
BIT b,(HL) 12 2 CB 46+8*b
BIT b,(IX+N) 20 4 DD CB XX 46+8*b
BIT b,(IY+N) 20 4 FD CB XX 46+8*b
BIT b,r 8 2 CB 40+8*b+rb
CALL C,NN 17/1 3 DC XX XX
CALL M,NN 17/1 3 FC XX XX
CALL NC,NN 17/1 3 D4 XX XX
CALL NC,NN 17/1 3 D4 XX XX
CALL NN 17 3 CD XX XX
CALL NZ,NN 17/1 3 C4 XX XX
CALL P,NN 17/1 3 F4 XX XX
CALL PE,NN 17/1 3 EC XX XX
CALL PO,NN 17/1 3 E4 XX XX
CALL Z,NN 17/1 3 CC XX XX
CCF 4 1 3F
CP (HL) 7 1 BE
CP (IX+N) 19 3 DD BE XX
CP (IY+N) 19 3 FD BE XX
CP r 4 1 B8+rb
CP N 7 2 FE XX
CPD 16 2 ED A9
CPDR 21/1 2 ED B9
CPI 16 2 ED A1
CPIR 21/1 2 ED B1
CPL 4 1 2F
DAA 4 1 27
DEC (HL) 11 1 35
DEC (IX+N) 23 3 DD 35 XX
DEC (IY+N) 23 3 FD 35 XX
DEC A 4 1 3D
DEC B 4 1 05
DEC BC 6 1 0B
DEC C 4 1 0D
DEC D 4 1 15
DEC DE 6 1 1B
DEC E 4 1 1D
DEC H 4 1 25
DEC HL 6 1 2B
DEC IX 10 2 DD 2B
DEC IY 10 2 FD 2B
DEC L 4 2 2D
DEC SP 6 1 3B
DI 4 1 F3
DJNZ $+2 13/8 1 10
EI 4 1 FB
EX (SP),HL 19 1 E3
EX (SP),IX 23 2 DD E3
EX (SP),IY 23 2 FD E3
EX AF,AF' 4 1 08
EX DE,HL 4 1 EB
EXX 4 1 D9
HALT 4 1 76
IM 0 8 2 ED 46
IM 1 8 2 ED 56
IM 2 8 2 ED 5E
IN A,(C) 12 2 ED 78
IN A,(N) 11 2 DB XX
IN B,(C) 12 2 ED 40
IN C,(C) 12 2 ED 48
IN D,(C) 12 2 ED 50
IN E,(C) 12 2 ED 58
IN H,(C) 12 2 ED 60
IN L,(C) 12 2 ED 68
INC (HL) 11 1 34
INC (IX+N) 23 3 DD 34 XX
INC (IY+N) 23 3 FD 34 XX
INC A 4 1 3C
INC B 4 1 04
INC BC 6 1 03
INC C 4 1 0C
INC D 4 1 14
INC DE 6 1 13
INC E 4 1 1C
INC H 4 1 24
INC HL 6 1 23
INC IX 10 2 DD 23
INC IY 10 2 FD 23
INC L 4 1 2C
INC SP 6 1 33
IND 16 2 ED AA
INDR 21/1 2 ED BA
INI 16 2 ED A2
INIR 21/1 2 ED B2
JP $NN 10 3 C3 XX XX
JP (HL) 4 1 E9
JP (IX) 8 2 DD E9
JP (IY) 8 2 FD E9
JP C,$NN 10/1 3 DA XX XX
JP M,$NN 10/1 3 FA XX XX
JP NC,$NN 10/1 3 D2 XX XX
JP NZ,$NN 10/1 3 C2 XX XX
JP P,$NN 10/1 3 F2 XX XX
JP PE,$NN 10/1 3 EA XX XX
JP PO,$NN 10/1 3 E2 XX XX
JP Z,$NN 10/1 3 CA XX XX
JR $N+2 12 2 18 XX
JR C,$N+2 12/7 2 38 XX
JR NC,$N+2 12/7 2 30 XX
JR NZ,$N+2 12/7 2 20 XX
JR Z,$N+2 12/7 2 28 XX
LD (BC),A 7 1 02
LD (DE),A 7 1 12
LD (HL),r 7 1 70+rb
LD (HL),N 10 2 36 XX
LD (IX+N),r 19 3 DD 70+rb XX
LD (IX+N),N 19 4 DD 36 XX XX
LD (IY+N),r 19 3 FD 70+rb XX
LD (IY+N),N 19 4 FD 36 XX XX
LD (NN),A 13 3 32 XX XX
LD (NN),BC 20 4 ED 43 XX XX
LD (NN),DE 20 4 ED 53 XX XX
LD (NN),HL 16 3 22 XX XX
LD (NN),IX 20 4 DD 22 XX XX
LD (NN),IY 20 4 FD 22 XX XX
LD (NN),SP 20 4 ED 73 XX XX
LD A,(BC) 7 1 0A
LD A,(DE) 7 1 1A
LD A,(HL) 7 1 7E
LD A,(IX+N) 19 3 DD 7E XX
LD A,(IY+N) 19 3 FD 7E XX
LD A,(NN) 13 3 3A XX XX
LD A,r 4 1 78+rb
LD A,I 9 2 ED 57
LD A,N 7 2 3E XX
LD B,(HL) 7 1 46
LD B,(IX+N) 19 3 DD 46 XX
LD B,(IY+N) 19 3 FD 46 XX
LD B,r 4 1 40+rb
LD B,N 7 2 06 XX
LD BC,(NN) 20 4 ED 4B XX XX
LD BC,NN 10 3 01 XX XX
LD C,(HL) 7 1 4E
LD C,(IX+N) 19 3 DD 4E XX
LD C,(IY+N) 19 3 FD 4E XX
LD C,r 4 1 48+rb
LD C,N 7 2 0E XX
LD D,(HL) 7 1 56
LD D,(IX+N) 19 3 DD 56 XX
LD D,(IY+N) 19 3 FD 56 XX
LD D,r 4 1 50+rb
LD D,N 7 2 16 XX
LD DE,(NN) 20 4 ED 5B XX XX
LD DE,NN 10 3 11 XX XX
LD E,(HL) 7 1 5E
LD E,(IX+N) 19 3 DD 5E XX
LD E,(IY+N) 19 3 FD 5E XX
LD E,r 4 1 58+rb
LD E,N 7 2 1E XX
LD H,(HL) 7 1 66
LD H,(IX+N) 19 3 DD 66 XX
LD H,(IY+N) 19 3 FD 66 XX
LD H,r 4 1 60+rb
LD H,N 7 2 26 XX
LD HL,(NN) 20 3 2A XX XX
LD HL,NN 10 3 21 XX XX
LD I,A 9 2 ED 47
LD IX,(NN) 20 4 DD 2A XX XX
LD IX,NN 14 4 DD 21 XX XX
LD IY,(NN) 20 4 FD 2A XX XX
LD IY,NN 14 4 FD 21 XX XX
LD L,(HL) 7 1 6E
LD L,(IX+N) 19 3 DD 6E XX
LD L,(IY+N) 19 3 FD 6E XX
LD L,r 4 1 68+rb
LD L,N 7 2 2E XX
LD SP,(NN) 20 4 ED 7B XX XX
LD SP,HL 6 1 F9
LD SP,IX 10 2 DD F9
LD SP,IY 10 2 FD F9
LD SP,NN 10 3 31 XX XX
LDD 16 2 ED A8
LDDR 21/1 2 ED B8
LDI 16 2 ED A0
LDIR 21/1 2 ED B0
NEG 8 2 ED 44
NOP 4 1 00
OR (HL) 7 1 B6
OR (IX+N) 19 3 DD B6 XX
OR (IY+N) 19 3 FD B6 XX
OR r 4 1 B0+rb
OR N 7 2 F6 XX
OTDR 21/1 2 ED BB
OTIR 21/1 2 ED B3
OUT (C),A 12 2 ED 79
OUT (C),B 12 2 ED 41
OUT (C),C 12 2 ED 49
OUT (C),D 12 2 ED 51
OUT (C),E 12 2 ED 59
OUT (C),H 12 2 ED 61
OUT (C),L 12 2 ED 69
OUT (N),A 11 2 D3 XX
OUTD 16 2 ED AB
OUTI 16 2 ED A3
POP AF 10 1 F1
POP BC 10 1 C1
POP DE 10 1 D1
POP HL 10 1 E1
POP IX 14 2 DD E1
POP IY 14 2 FD E1
PUSH AF 11 1 F5
PUSH BC 11 1 C5
PUSH DE 11 1 D5
PUSH HL 11 1 E5
PUSH IX 15 2 DD E5
PUSH IY 15 2 FD E5
RES b,(HL) 15 2 CB 86+8*b
RES b,(IX+N) 23 4 DD CB XX 86+8*b
RES b,(IY+N) 23 4 FD CB XX 86+8*b
RES b,r 8 2 CB 80+8*b+rb
RET 10 1 C9
RET C 11/5 1 D8
RET M 11/5 1 F8
RET NC 11/5 1 D0
RET NZ 11/5 1 C0
RET P 11/5 1 F0
RET PE 11/5 1 E8
RET PO 11/5 1 E0
RET Z 11/5 1 C8
RETI 14 2 ED 4D
RETN 14 2 ED 45
RL (HL) 15 2 CB 16
RL r 8 2 CB 10+rb
RL (IX+N) 23 4 DD CB XX 16
RL (IY+N) 23 4 FD CB XX 16
RLA 4 1 17
RLC (HL) 15 2 CB 06
RLC (IX+N) 23 4 DD CB XX 06
RLC (IY+N) 23 4 FD CB XX 06
RLC r 8 2 CB 00+rb
RLCA 4 1 07
RLD 18 2 ED 6F
RR (HL) 15 2 CB 1E
RR r 8 2 CB 18+rb
RR (IX+N) 23 4 DD CB XX 1E
RR (IY+N) 23 4 FD CB XX 1E
RRA 4 1 1F
RRC (HL) 15 2 CB 0E
RRC (IX+N) 23 4 DD CB XX 0E
RRC (IY+N) 23 4 FD CB XX 0E
RRC r 8 2 CB 08+rb
RRCA 4 1 0F
RRD 18 2 ED 67
RST 0 11 1 C7
RST 8H 11 1 CF
RST 10H 11 1 D7
RST 18H 11 1 DF
RST 20H 11 1 E7
RST 28H 11 1 EF
RST 30H 11 1 F7
RST 38H 11 1 FF
SBC (HL) 7 1 9E
SBC A,(IX+N) 19 3 DD 9E XX
SBC A,(IY+N) 19 3 FD 9E XX
SBC A,N 7 2 DE XX
SBC r 4 1 98+rb
SBC HL,BC 15 2 ED 42
SBC HL,DE 15 2 ED 52
SBC HL,HL 15 2 ED 62
SBC HL,SP 15 2 ED 72
SCF 4 1 37
SET b,(HL) 15 2 CB C6+8*b
SET b,(IX+N) 23 4 DD CB XX C6+8*b
SET b,(IY+N) 23 4 FD CB XX C6+8*b
SET b,r 8 2 CB C0+8*b+rb
SLA (HL) 15 2 CB 26
SLA (IX+N) 23 4 DD CB XX 26
SLA (IY+N) 23 4 FD CB XX 26
SLA r 8 2 CB 20+rb
SRA (HL) 15 2 CB 2E
SRA (IX+N) 23 4 DD CB XX 2E
SRA (IY+N) 23 4 FD CB XX 2E
SRA r 8 2 CB 28+rb
SRL (HL) 15 2 CB 3E
SRL (IX+N) 23 4 DD CB XX 3E
SRL (IY+N) 23 4 FD CB XX 3E
SRL r 8 2 CB 38+rb
SUB (HL) 7 1 96
SUB (IX+N) 19 3 DD 96 XX
SUB (IY+N) 19 3 FD 96 XX
SUB r 4 1 90+rb
SUB N 7 2 D6 XX
XOR (HL) 7 1 AE
XOR (IX+N) 19 3 DD AE XX
XOR (IY+N) 19 3 FD AE XX
XOR r 4 1 A8+rb
XOR N 7 2 EE XX
r means register. Can be A,B,C,D,E,H,L.
Add this to last byte of OP-code:
Reg regbits
A 7
B 0
C 1
D 2
E 3
H 4
L 5
On >LD (IX+N),r< and >LD (IY+N),r< you
add it to the byte before the last.
b means bit. Can be 0-7. Increase the
last byte of OP-code with 8*b.
Used in SET, BIT and RES.
If there is two numbers given at Clock,
then the highest is when the jump is
taken.
----use call for these functions----
-----REMEMBER!!!!! Swap high and low bytes for all functions:
_CLRLCDFULL equ 4755h ; 5547 -swap high and low
_clrScrnFull equ 475Dh
_CLRTXTSHD equ 4765h
_dispDone equ 47F1h
_dispHL equ 4709h
_DISPOP1A equ 51D4h
_eraseEOL equ 476Dh
_formDCplx equ 4D2Eh
_formReal equ 4D32h
_GDISPTOKEN equ 4B20h
_homeUp equ 4775h
_lcd_busy equ 4066h
_moveup equ 474Dh
_newline equ 473Dh
_outputExpr equ 5106h
_putc equ 4705h
_putmap equ 4701h
_putps equ 4715h
_puts equ 470Dh
_runIndicOff equ 4795h
_runIndicOn equ 4791h
_scrollDown equ 4751h
_scrollUp equ 4745h
_setPenT equ 51B9h
_setPenX equ 51A7h
_setPenY equ 51B0h
_SFONT_LEN equ 4A6Ch
_VPUTBLANK equ 4C53h
_vputmap equ 477Dh
_vputs equ 4781h
_vputsn equ 4785h
_Axes equ 519Eh
_CLine equ 4A84h
_CPointS equ 4B00h
_GRBUFCLR equ 515Bh
_GRBUFCPY_V equ 5164h
_HORIZCMD equ 4BEFh
_ILINE equ 4AE4h
_IPOINT equ 4AE8h
_moveDown equ 4741h
_PDspGrph equ 4BEBh
_PUTXY equ 4BE4h
_REGRAPH equ 4BCCh
_VERTCMD equ 4BF3h
_GetK equ 4A18h
_getkey equ 4CFEh
_ADRLELE equ 489Dh
_GETLTOOP1 equ 48A9h
_PUTTOL equ 48BDh
_ADRMELE equ 486Dh
_GETMTOOP1 equ 487Dh
_PUTTOMAT equ 4889h
_ACOS equ 4122h
_ACOSH equ 413Ah
_ANGLE equ 4152h
_ASIN equ 412Ah
_ASINH equ 4136h
_ATAN equ 4126h
_ATANH equ 4132h
_Ceiling equ 4BE0h
_COS equ 40FAh
_COSH equ 410Ah
_CUBE equ 409Eh
_DTOR equ 4096h
_ETOX equ 40EAh
_FACTORIAL equ 50C6h
_FPADD equ 4092h
_FPDIV equ 40C6h
_FPMULT equ 40AAh
_FPRECIP equ 40C2h
_FPSQUARE equ 40A6h
_FPSUB equ 408Eh
_FRAC equ 40BEh
_INT equ 40D6h
_INTGR equ 4076h
_INVOP1SC equ 40B2h
_INVSUB equ 407Eh
_LNX equ 40DEh
_LOGX equ 40E2h
_MAX equ 406Eh
_MIN equ 406Ah
_MINUS1 equ 408Ah
_PLUS1 equ 4086h
_PTOR equ 413Eh
_RANDOM equ 50B6h
_RNDGUARD equ 40CEh
_ROUND equ 40DAh
_RTOD equ 409Ah
_RTOP equ 4142h
_SIN equ 40F6h
_SINH equ 410Eh
_SQROOT equ 40CAh
_STORAND equ 50BAh
_TAN equ 40FEh
_TANH equ 4106h
_TENX equ 40EEh
_TIMES2 equ 4082h
_TIMESPT5 equ 40A2h
_TRUNC equ 407Ah
_XROOTY equ 4A8Ch
_YTOX equ 4A90h
_CHKFINDSYM equ 442Ah
_DELVAR equ 44AAh
_RCLSYSTOK equ 4EF0h
_RCLVARSYM equ 4EECh
_RCLX equ 4EE8h
_RCLY equ 4EE0h
_RSTRSHADOW equ 47A1h
_SAVESHADOW equ 479Dh
_STOOTHER equ 4ED8h
_STOSYSTOK equ 4EB8h
_STOX equ 4ED4h
_STOY equ 4EC8h
_CKINT equ 4322h
_CKODD equ 4326h
_CKOP1FP0 equ 4312h
_CKOP1POS equ 435Ah
_CKOP1REAL equ 414Eh
_CKOP2FP0 equ 4316h
_CKOP2POS equ 4356h
_CKOP2REAL equ 4412h
_CKPOSINT equ 431Eh
_CLROP1S equ 4362h
_CLROP2S equ 435Eh
_CONVOP1 equ 4EFCh
_cphlde equ 4004h
_CPOP1OP2 equ 4166h
_divHLbyA equ 400Ch
_HTIMESL equ 4382h
_INVOP1S equ 40B6h
_INVOP2S equ 40BAh
_ldHLind equ 4000h
_MOVFROP1 equ 4212h
_OP1EXOP2 equ 4306h
_OP1EXOP3 equ 42FEh
_OP1EXOP4 equ 4302h
_OP1EXOP5 equ 42EEh
_OP1EXOP6 equ 42F2h
_OP1SET0 equ 4286h
_OP1SET1 equ 4232h
_OP1SET2 equ 4242h
_OP1SET3 equ 423Ah
_OP1SET4 equ 4236h
_OP1TOOP2 equ 418Eh
_OP1TOOP3 equ 417Eh
_OP1TOOP4 equ 416Eh
_OP1TOOP5 equ 41BEh
_OP1TOOP6 equ 41BAh
_OP2EXOP4 equ 42F6h
_OP2EXOP5 equ 42FAh
_OP2EXOP6 equ 42E6h
_OP2SET0 equ 4282h
_OP2SET1 equ 4252h
_OP2SET2 equ 4246h
_OP2SET3 equ 422Eh
_OP2SET4 equ 422Ah
_OP2SET5 equ 4222h
_OP2SET60 equ 4EA8h
_OP2SET8 equ 421Eh
_OP2SETA equ 4226h
_OP2TOOP1 equ 41C2h
_OP2TOOP3 equ 41F6h
_OP2TOOP4 equ 4172h
_OP2TOOP5 equ 41B2h
_OP2TOOP6 equ 41B6h
_OP3SET0 equ 427Eh
_OP3SET1 equ 421Ah
_OP3SET2 equ 423Eh
_OP3TOOP1 equ 41A2h
_OP3TOOP2 equ 417Ah
_OP3TOOP4 equ 416Ah
_OP3TOOP5 equ 41AEh
_OP4SET0 equ 427Ah
_OP4SET1 equ 4216h
_OP4TOOP1 equ 419Ah
_OP4TOOP2 equ 4176h
_OP4TOOP3 equ 41FAh
_OP4TOOP5 equ 41AAh
_OP4TOOP6 equ 4202h
_OP5EXOP6 equ 42EAh
_OP5SET0 equ 4276h
_OP5TOOP1 equ 419Eh
_OP5TOOP2 equ 4182h
_OP5TOOP3 equ 41FEh
_OP5TOOP4 equ 418Ah
_OP5TOOP6 equ 4186h
_OP6TOOP1 equ 4196h
_OP6TOOP2 equ 4192h
_OP6TOOP5 equ 41A6h
_PUSHREALO1 equ 4536h
_SETXXOP1 equ 4A74h
_SETXXOP2 equ 4A78h
_SETXXXXOP2 equ 4A7Ch
_ZEROOOP1 equ 428Eh
_IO_EXEC equ 51EFh
;
; OP1 TO OP6 RAM EQUATES
;
OP2 EQU 8044h
op2exp equ 8045h
op2m equ 8046H
OP1M EQU 803Bh
OP1 EQU 8039h
OP3 EQU 804Fh
OP3EXP EQU 8050h
OP3EXT EQU 8058h
OP3M EQU 8051h
OP4 EQU 805Ah
OP4EXP EQU 805Bh
OP4EXT EQU 8063h
OP4M EQU 805Ch
OP5 EQU 8065h
OP5EXP EQU 8066h
OP5EXT EQU 806Eh
OP5M EQU 8067h
OP6 EQU 8070h
OP6EXP EQU 8071h
OP6EXT EQU 8079h
OP6M EQU 8072h
;
; POINTERS
;
IMATHPTR1 EQU 8094h
IMATHPTR2 EQU 8096h
IMATHPTR3 EQU 8098h
IMATHPTR4 EQU 809Ah
IMATHPTR5 EQU 809Ch
----this came from tokens.inc
EOSSTART EQU 0
DCONV EQU 01H
TTODMS equ DCONV ; 01H
TTODEC equ DCONV+1 ; 02H
TTOAbc EQU DCONV+2 ; 03H > A b/c
TSTORE equ DCONV+3 ; 04H Lstore 01
TBOXPLOT EQU 05h
BRACKS EQU 06H
tLBrack equ BRACKS ; 06h '['
tRBrack equ BRACKS+1 ; 07h ']'
tLBrace equ BRACKS+2 ; 08h '{'
tRBrace equ BRACKS+3 ; 09h '}'
TPOST1 EQU BRACKS+4
tFromRad equ TPOST1 ; 0Ah Lradian
tFromDeg equ TPOST1+1 ; 0Bh Ldegree
tRecip equ TPOST1+2 ; 0Ch Linverse
tSqr equ TPOST1+3 ; 0D