QUOTE(m.r.bob @ Jun 12 2005, 06:58 AM)
Dude were not programers...
I can do basic programming (maybe lower than basic for some things
) and basic ASM...
So what you meant to say is this:
QUOTE(m.r.bob @ Jun 12 2005, 06:58 AM)
Dude most of us are not programers...
(I not really programmer, but I made some stuff. Such as a CHK decompiler
)
QUOTE(ihatett @ Jun 26 2005, 12:04 PM)
no, it's used all of the time for all sorts of things
E.g. Calculators. Yes, Calculators. (Go TI Graphing calculators! w00t!!
)
QUOTE(Dr.Sh0tgun @ Jul 14 2005, 10:34 PM)
So waht exactly is ASM? Does ASM coding in Starcraft change the Starcraft.exe file?
ASM is a programming language. Alls I know is it involves lots of memory calls.
Here is some ASM code from a Calculator program I have:
[codebox].list
#define equ .equ
#define EQU .equ
#define end .end
#include ti83plus.inc
.nolist
#define bcall(label) RST 28h \ .dw label
.org $9D93
.db $BB,$6D
bcall(_runindicoff)
bcall(_clrlcdfull)
bcall(_grbufclr)
ld hl,Img_SplashScreen
ld de,plotsscreen
ld bc,768
ldir
bcall(_grbufcpy)
ld a,$FF
out (1),a
bcall(_getkey)
bcall(_clrlcdfull)
Init:
bcall(_ClrLCDFull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_Title
bcall(_puts)
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
ld hl,Txt_Display
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
ld hl,Txt_Text
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,24
ld (penrow),a
ld hl,Txt_OutPort
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,31
ld (penrow),a
ld hl,Txt_Cursors
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,38
ld (penrow),a
ld hl,Txt_MiscSys
bcall(_vputs)
KeyIn:
bcall(_GetKey)
cp kClear
jp z,Exit
cp k1
jp z,DispFuntions
cp k2
jp z,TextFunctions
cp k3
jp z,OPort
cp k4
jp z,CursorStuff
cp k5
jp z,OtherStuff
jp KeyIn
DispFuntions:
bcall(_ClrLCDFull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_DispF
bcall(_puts)
ld hl,Txt_FCircOn
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
bcall(_vputs)
ld hl,Txt_FCircOff
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,24
ld (penrow),a
ld hl,Txt_ScrShift
bcall(_vputs)
bcall(_getkey)
cp kClear
jp z,Init
cp kUp
jp z,ScrUp
cp kDown
jp z,ScrDown
cp k1
jp z,CircOn
cp k2
jp z,CircOff
jp DispFuntions
ScrUp:
ld a,(Var_ScrShift)
cp 7Fh
jp z,DispFuntions
add a,1
ld (Var_ScrShift),a
out (10h),a
jp DispFuntions
ScrDown:
ld a,(Var_ScrShift)
cp 40h
jp z,DispFuntions
dec a
ld (Var_ScrShift),a
out (10h),a
jp DispFuntions
CircOn: set useFastCirc,(iy+3Ch)
jp DispFuntions
CircOff:res useFastCirc,(iy+3Ch)
jp DispFuntions
TextFunctions:
bcall(_ClrLCDFull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_TextF
bcall(_puts)
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
ld hl,Txt_LwrCaseOn
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
ld hl,Txt_LwrCaseOff
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,24
ld (penrow),a
ld hl,Txt_InvOn
bcall(_vputs)
ld a,0
ld (pencol),a
ld a,31
ld (penrow),a
ld hl,Txt_InvOff
bcall(_vputs)
bcall(_getkey)
cp k1
jp z,LOn
cp k2
jp z,LOff
cp k3
jp z,IOn
cp k4
jp z,IOff
cp kClear
jp z,Init
jp TextFunctions
LOn:
set lwrCaseActive,(iy+getSendFlg)
jp TextFunctions
LOff:
res lwrCaseActive,(iy+getSendFlg)
jp TextFunctions
IOn:
set textInverse,(iy+textFlags)
jp TextFunctions
IOff:
res textInverse,(iy+textFlags)
jp TextFunctions
OPort: bcall(_clrlcdfull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_PortOutTitle
bcall(_puts)
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
ld hl,Txt_SelPort
bcall(_vputs)
ld a,(Var_PortNum)
ld h,0
ld l,a
bcall(_setxxxxop2)
bcall(_op2toop1)
ld a,80
ld (pencol),a
ld a,10
ld (penrow),a
ld a,3
bcall(_dispop1a)
KeyPort:
bcall(_getkey)
cp kUp
jp z,PortAdd
cp kDown
jp z,PortSub
cp kEnter
jp z,PortDone
cp kClear
jp z,Init
cp kYequ
jp z,PortZero
cp kWindow
jp z,PortFifty
cp kZoom
jp z,PortHundred
cp kTrace
jp z,PortHundredFifty
cp kGraph
jp z,PortTwoHundred
jp KeyPort
PortAdd:
ld a,(Var_PortNum)
cp 255
jp z,OPort
inc a
ld (Var_PortNum),a
jp OPort
PortSub:
ld a,(Var_PortNum)
cp 0
jp z,OPort
dec a
ld (Var_PortNum),a
jp OPort
PortZero:
ld a,0
call StoPortNum
jp OPort
PortFifty:
ld a,50
call StoPortNum
jp OPort
PortHundred:
ld a,100
call StoPortNum
jp OPort
PortHundredFifty:
ld a,150
call StoPortNum
jp OPort
PortTwoHundred:
ld a,200
call StoPortNum
jp OPort
PortDone:
ld a,(Var_PortOut)
ld h,0
ld l,a
bcall(_setxxxxop2)
bcall(_op2toop1)
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
ld hl,Txt_PortOutVal
bcall(_vputs)
ld a,80
ld (pencol),a
ld hl,Txt_Blanker
bcall(_vputs)
ld a,80
ld (pencol),a
ld a,3
bcall(_dispop1a)
bcall(_getkey)
cp kUp
jp z,SendAdd
cp kDown
jp z,SendSub
cp kClear
jp z,Init
cp kYequ
jp z,PortVZero
cp kWindow
jp z,PortVFifty
cp kZoom
jp z,PortVHundred
cp kTrace
jp z,PortVHundredFifty
cp kGraph
jp z,PortVTwoHundred
cp kEnter
jp z,SendVals
jp PortDone
SendAdd:
ld a,(Var_PortOut)
cp 255
jp z,PortDone
inc a
ld (Var_PortOut),a
jp PortDone
SendSub:
ld a,(Var_PortOut)
cp 0
jp z,PortDone
dec a
ld (Var_PortOut),a
jp PortDone
PortVZero:
ld a,0
call StoPortNumV
jp PortDone
PortVFifty:
ld a,50
call StoPortNumV
jp PortDone
PortVHundred:
ld a,100
call StoPortNumV
jp PortDone
PortVHundredFifty:
ld a,150
call StoPortNumV
jp PortDone
PortVTwoHundred:
ld a,200
call StoPortNumV
jp PortDone
SendVals:
ld a,0
ld (pencol),a
ld a,31
ld (penrow),a
ld hl,Txt_Warning
bcall(_vputs)
bcall(_getkey)
cp kEnter
jp nz,Init
ld a,(Var_PortNum)
ld c,a
ld a,(Var_PortOut)
out ©,a
jp Init
CursorStuff:
bcall(_ClrLCDFull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_CursTitle
bcall(_puts)
ld hl,Txt_CFlashOn
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
bcall(_vputs)
ld hl,Txt_CFlashOff
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
bcall(_vputs)
ld hl,Txt_CVis
ld a,0
ld (pencol),a
ld a,24
ld (penrow),a
bcall(_vputs)
ld hl,Txt_CInv
ld a,0
ld (pencol),a
ld a,31
ld (penrow),a
bcall(_vputs)
CKey:
bcall(_getkey)
cp k1
jp z,CursFOn
cp k2
jp z,CursFOff
cp k3
jp z,CursVOn
cp k4
jp z,CursVOff
cp kClear
jp z,Init
jp CKey
CursFOn:
set curAble,(iy+curFlags)
jp CursorStuff
CursFOff:
res curAble,(iy+curFlags)
jp CursorStuff
CursVOn:
set curOn,(iy+curFlags)
jp CursorStuff
CursVOff:
res curOn,(iy+curFlags)
jp CursorStuff
OtherStuff:
bcall(_ClrLCDFull)
ld a,0
ld (curcol),a
ld (currow),a
ld hl,Txt_OtherStuffTitle
bcall(_puts)
ld hl,Txt_RunOn
ld a,0
ld (pencol),a
ld a,10
ld (penrow),a
bcall(_vputs)
ld hl,Txt_RunOff
ld a,0
ld (pencol),a
ld a,17
ld (penrow),a
bcall(_vputs)
ld hl,Txt_APD
ld a,0
ld (pencol),a
ld a,24
ld (penrow),a
bcall(_vputs)
ld hl,Txt_RSet
ld a,0
ld (pencol),a
ld a,31
ld (penrow),a
bcall(_vputs)
OtherKey:
bcall(_getkey)
cp k1
jp z,RunIOn
cp k2
jp z,RunIOff
cp k3
jp z,TurnOff
cp k4
jp z,Resetter
cp kClear
jp z,Init
jp OtherKey
RunIon:
bcall(_runindicon)
jp OtherStuff
RunIoff:
bcall(_runindicoff)
jp OtherStuff
TurnOff:
di
ld a,001h
out (003h),a
ld a,000h
out (004h),a
ex af,af'
exx
ei
jp OtherStuff
Resetter:
bcall(_clrlcdfull)
ld a,0
ld (pencol),a
ld (penrow),a
ld hl,Txt_Warning
bcall(_vputs)
bcall(_getkey)
cp kEnter
jp nz,OtherStuff
ld a,77h
out (04h),a
Exit:
bcall(_clrlcdfull)
bcall(_grbufclr)
ret
StoPortNum:
ld (Var_PortNum),a
ret
StoPortNumV:
ld (Var_PortOut),a
ret
Txt_Title:
.db "Adv. Controls",0
Txt_Display:
.db "1) Display Functions",0
Txt_Text:
.db "2) Text Functions",0
Txt_OutPort:
.db "3) Output to Port",0
Txt_Cursors:
.db "4) Cursor Settings",0
Txt_MiscSys:
.db "5) Other Settings",0
Txt_DispF:
.db "Disp. Functions",0
Txt_TextF:
.db "Text Functions",0
Txt_FCircOn:
.db "1) Fast circles on",0
Txt_FCircOff:
.db "2) Fast circles off",0
Txt_ScrShift:
.db "Up/Dn) Shift screen",0
Txt_LwrCaseOn:
.db "1) Lowercase on",0
Txt_LwrCaseOff:
.db "2) Lowercase off",0
Txt_InvOn:
.db "3) Inverse text on",0
Txt_InvOff:
.db "4) Inverse text off",0
Txt_PortOutTitle:
.db "Output to Port",0
Txt_SelPort:
.db "Select Port (Up/Down):",0
Txt_PortOutVal:
.db "Byte to send (Up/Down):",0
Txt_Blanker:
.db " ",0
Txt_Warning:
.db "Are you sure?",0
Txt_CursTitle:
.db "Cursor Settings",0
Txt_CFlashOn:
.db "1) Cursor flash on",0
Txt_CFlashOff:
.db "2) Cursor flash off",0
Txt_CVis:
.db "3) Show cursor",0
Txt_CInv:
.db "4) Hide cursor",0
Txt_OtherStuffTitle:
.db "Other Settings",0
Txt_RunOn:
.db "1) Run indicator on",0
Txt_RunOff:
.db "2) Run indicator off",0
Txt_APD:
.db "3) APD",0
Txt_RSet:
.db "4) Reset RAM",0
Var_ScrShift:
.byte 40h
Var_PortNum:
.byte 00h
Var_PortOut:
.byte 00h
Img_SplashScreen:
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $F3,$E3,$FF,$FF,$FF,$FC,$78,$BF,$FF,$FF,$FE,$3F
.db $F3,$F3,$FF,$FF,$FF,$FE,$73,$3F,$FF,$DF,$FF,$3F
.db $F1,$F3,$FF,$FF,$FF,$FE,$67,$BF,$FF,$DF,$FF,$3F
.db $E9,$C0,$48,$C1,$C6,$38,$67,$F1,$83,$00,$47,$31
.db $E1,$92,$56,$64,$94,$92,$67,$E4,$C9,$99,$13,$25
.db $DC,$92,$58,$64,$9C,$12,$67,$E4,$C9,$99,$93,$33
.db $DC,$93,$32,$64,$9C,$F2,$73,$A4,$C9,$99,$93,$29
.db $88,$41,$38,$04,$46,$18,$38,$71,$88,$80,$C6,$03
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$CF,$FF,$82,$3F,$3C,$7C,$33,$FF,$FF,$FF
.db $FF,$FF,$AF,$FF,$AB,$7E,$DB,$7E,$DB,$FF,$FF,$FF
.db $FF,$FF,$7F,$FF,$DE,$FE,$DE,$FD,$D7,$FF,$FF,$FF
.db $FF,$FE,$31,$2F,$DE,$FF,$39,$FD,$D4,$D9,$FF,$FF
.db $FF,$FF,$6D,$9F,$DE,$FC,$BE,$FC,$36,$DB,$FF,$FF
.db $FF,$FF,$5D,$BF,$DE,$8B,$BE,$FD,$F6,$DD,$FF,$FF
.db $FF,$FE,$DB,$7F,$BD,$FB,$BE,$FB,$ED,$B5,$FF,$FF
.db $FF,$FE,$C7,$7F,$18,$FC,$71,$F1,$E4,$13,$FF,$FF
.db $FF,$FA,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$F9,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$F0
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0B,$08
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$98
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08,$68
.db $1E,$00,$08,$00,$10,$00,$F0,$00,$00,$00,$0F,$F8
.db $09,$00,$00,$00,$00,$00,$48,$00,$00,$00,$0A,$D8
.db $0E,$77,$9C,$6D,$33,$C0,$4E,$F2,$E3,$00,$0F,$A8
.db $09,$72,$44,$2A,$91,$20,$72,$92,$E2,$00,$0A,$D8
.db $09,$42,$44,$EA,$91,$20,$4A,$8C,$81,$00,$0F,$F8
.db $1E,$36,$44,$FA,$BB,$20,$E9,$0C,$66,$00,$0A,$A8
.db $00,$00,$04,$00,$00,$00,$01,$00,$00,$00,$0F,$F8
.db $00,$00,$1C,$00,$00,$00,$03,$00,$00,$00,$0A,$A8
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$F8
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0A,$A8
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$F0
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.end
END[/codebox]
EDIT: That code was a bit screwed up because of the way HTML and stuff is set up (removes multiple spaces and removes Tabs)
I could help figure something out