Author Topic: Axe Library : AxeLib7  (Read 12336 times)

0 Members and 1 Guest are viewing this topic.

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: "Library" in Axe
« Reply #15 on: May 09, 2011, 09:35:34 am »
The compiled program runs completely separate from the Axe Parser. There is no way for you to really include all of your functions without it taking up so much space. The only way to possibly make them any smaller would be to write them in pure optimized assembly, not Axe.

EDIT: I think this is a fine subforum for this post...It is about Axe libraries.
« Last Edit: May 09, 2011, 09:36:48 am by ZippyDee »
There's something about Tuesday...


Pushpins 'n' stuff...


Offline zero44

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 128
  • Rating: +21/-0
  • <!--//www.ustr.net/infrared/infrared1.shtml-->
    • View Profile
    • zero44
Re: Library in Axe
« Reply #16 on: May 09, 2011, 09:36:39 am »
...
How to make an Axe/ASM library ? o_O
____________

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: Library in Axe
« Reply #17 on: May 09, 2011, 09:37:22 am »
What you have is a library. A library is just a collection of routines. Just because something is a library, it doesn't mean it will take up less space.
There's something about Tuesday...


Pushpins 'n' stuff...


Offline zero44

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 128
  • Rating: +21/-0
  • <!--//www.ustr.net/infrared/infrared1.shtml-->
    • View Profile
    • zero44
Re: Library in Axe
« Reply #18 on: May 09, 2011, 10:47:37 am »
I don't know if you really understand what I mean.
The code of library : +800bytes
Code of prgm : x+8bytes
compiled prgm : x+1200bytes !

If I make 3 prgm using AXELIB7, I'll lose 4kb of ram !!
It'll be better if I 'just' lose 1.2kb ...
____________

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Library in Axe
« Reply #19 on: May 09, 2011, 10:50:49 am »
You are forgetting something, i think. you forget that compiled code and source code are different. In Basic, it is the same, but in axe, a program of 100 bytes source can be 200 bytes when compiled.
I'm not a nerd but I pretend:

Offline zero44

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 128
  • Rating: +21/-0
  • <!--//www.ustr.net/infrared/infrared1.shtml-->
    • View Profile
    • zero44
Re: Library in Axe
« Reply #20 on: May 09, 2011, 10:56:47 am »
Yes, I know.
With including AXELIB7 in source code, compiled prgm has 1.2kb more. (It's the tall of compiled library - but compiled library is definitely not useful ^^ )
The source code is just 800 byte.
____________

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Library in Axe
« Reply #21 on: May 09, 2011, 11:00:26 am »
Thanks for explaining, makes things easier to understand :)
Anyway, I don't see the point of including this in every program you create... Only if you use its funcs it is useful.
I'm not a nerd but I pretend:

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: Library in Axe
« Reply #22 on: May 09, 2011, 11:04:30 am »
Yeah, and if you're only using maybe one routine from it, it's most likely a lot more worth it to just take the time to rewrite the whole thing from the library into your program instead of including. It'll save you (and everyone else) a lot of space.
There's something about Tuesday...


Pushpins 'n' stuff...


Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Library in Axe
« Reply #23 on: May 09, 2011, 11:05:49 am »
^^ that. and, if you use something a lot, you should do it in an apart program.
I'm not a nerd but I pretend:

Offline zero44

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 128
  • Rating: +21/-0
  • <!--//www.ustr.net/infrared/infrared1.shtml-->
    • View Profile
    • zero44
Re: Axe Library : AxeLib7
« Reply #24 on: May 09, 2011, 02:46:00 pm »
aeTIos : of course I don't call it in all my programs ! If I don't need it, I don't include it.
It's a library for DCS's graphics, so when I use it, I generally use at least :

•Get/Display cursor
•Display Window

And often :
•Button
•Cursor on a Rect

I my last program usind it (Fritzing on calc), I use almost all functions !

But with a real library, Axe compiles only the code of funcs which are called, doesn't it ?
____________

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Library : AxeLib7
« Reply #25 on: May 09, 2011, 02:47:04 pm »
If it was a real lib, yep. but this is more like a subprogram.
I'm not a nerd but I pretend:

Offline zero44

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 128
  • Rating: +21/-0
  • <!--//www.ustr.net/infrared/infrared1.shtml-->
    • View Profile
    • zero44
Re: Axe Library : AxeLib7
« Reply #26 on: May 09, 2011, 02:58:20 pm »
I know it's just a subprogram...
How to make a real lib ?
____________

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe Library : AxeLib7
« Reply #27 on: May 09, 2011, 03:28:18 pm »
aeTIos: This is a library, lots of Labels that can be used by including or not the subprogram and then called is a library.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Axe Library : AxeLib7
« Reply #28 on: May 09, 2011, 03:31:06 pm »
Zero, What you're asking for is something called an Axiom. Unfortunately, Axioms have to be done in ASM. Here are some tutorials on Assembly.

Hot_Dog's z80 ASM beginner's tutorial
ASM in 28 days


Here's the Axiom SDK:
http://ourl.ca/6229


EDIT: Scout, a library isn't a collection of labels. It's a collection of routines/macros that are inserted into the code by the compiler. That's what an Axiom is. A subprogram is similar, but it's far more inefficient and the entire program is inserted, whereas libraries typically only have the routines that are used inserted.
« Last Edit: May 09, 2011, 03:33:37 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Library : AxeLib7
« Reply #29 on: May 09, 2011, 06:17:20 pm »
I think its better to include libraries at the top of the program.  It allows you to do some initialization and then when you're done with that (or don't have any) just add a jump to the end of the library.  Axe cannot auto-detect unused subroutines because it is a single pass parser.  The 2 passes Axe does are actually the same but fill in different parts of the of the code.
___Axe_Parser___
Today the calculator, tomorrow the world!