Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Nasm IDE

2

Comments

  • AsmGuru62AsmGuru62 Member Posts: 6,519
    So how does one compress .asm code ?

    [blue]In my opinion, a good use of functions and macros can make this possible. The code written that way is quite readable. Also, a good idea (which I decided to implement) is to collapse parts of code you do not want to look at right now, so you see a plus sign at this line and "..." beside it, just like in .NET editor.[/blue]
  • BitdogBitdog Member Posts: 528
    [green] So how does one compress .asm code ? [/green]

    [blue]collapse parts of code you do not want to look at right now,
    so you see a plus sign at this line[/blue]

    [green]I like it.....
    Insight debugger puts a number on the right side of the disasm win
    in color. Then pushing the key of the number jumps to it.
    Your + plus could sit on the right side of the screen in a highlighted
    color, indicateing that there is more code out there, like off screen ?
    (thats an extension of the code for that line.) (er something)
    The + could be a number if there is more than one code chunk ?

    I'm thinking that an assembler & editor combination could use special
    keys to act as CRLF to the assembler, but not the editor
    (but show the CRLF char on the screen as ascii char)
    It's my, group asm lines on one line thingie.
    @ might be a good character for that,
    & L:SHIFT+ENTER key could plant it.
    Any way, I made KBD.ASM tsr.com the other day and I'm going to make
    L:SHIFT+ENTER insert SPACE,LF=10,SPACE into the key board buffer
    so multi instruction lines are easy to make in generic editors.
    Then, I got Fasm to assemble and FC.EXE checked it against the original
    with out any differences.
    SO, I'm looking into adding the @ char as a CRLF
    so the line errors are correct, might be in the works.

    Then, Nasm has incbin "filename.ext"
    dumps any file right into the assembled executable at the incbin line.
    WHAT ABOUT "QUOTE" or some other key word that works like a Fasm macro

    RAW {
    #1 all these lines are dumped into the executable exactly like they are
    starting with the #1 to #end.
    No need to do the DB "STRING",13,10,36 thing
    to AH=9 INT 21h print string.
    #end} ;no crlf on this line

    That would make message making soooooooo much easier.

    Bitdog
    [/green]

  • AsmGuru62AsmGuru62 Member Posts: 6,519
    : [green] So how does one compress .asm code ? [/green]
    :
    : [blue]collapse parts of code you do not want to look at right now,
    : so you see a plus sign at this line[/blue]
    :
    : [green]I like it.....
    : Insight debugger puts a number on the right side of the disasm win
    : in color. Then pushing the key of the number jumps to it.
    : Your + plus could sit on the right side of the screen in a highlighted
    : color, indicateing that there is more code out there, like off screen ?
    : (thats an extension of the code for that line.) (er something)
    : The + could be a number if there is more than one code chunk ?
    :
    : I'm thinking that an assembler & editor combination could use special
    : keys to act as CRLF to the assembler, but not the editor
    : (but show the CRLF char on the screen as ascii char)
    : It's my, group asm lines on one line thingie.
    : @ might be a good character for that,
    : & L:SHIFT+ENTER key could plant it.
    : Any way, I made KBD.ASM tsr.com the other day and I'm going to make
    : L:SHIFT+ENTER insert SPACE,LF=10,SPACE into the key board buffer
    : so multi instruction lines are easy to make in generic editors.
    : Then, I got Fasm to assemble and FC.EXE checked it against the original
    : with out any differences.
    : SO, I'm looking into adding the @ char as a CRLF
    : so the line errors are correct, might be in the works.
    :
    : Then, Nasm has incbin "filename.ext"
    : dumps any file right into the assembled executable at the incbin line.
    : WHAT ABOUT "QUOTE" or some other key word that works like a Fasm macro
    :
    : RAW {
    : #1 all these lines are dumped into the executable exactly like they are
    : starting with the #1 to #end.
    : No need to do the DB "STRING",13,10,36 thing
    : to AH=9 INT 21h print string.
    : #end} ;no crlf on this line
    :
    : That would make message making soooooooo much easier.
    :
    : Bitdog
    : [/green]
    :
    :
    [blue]Those all nice ideas... I need more of these. The Editor in my IDE will be able to collapse any chunk of code anywhere - only nested collapsable blocks are not supported yet - and most likely will not be, because I have to change the data structure for this.

    As for keyboard interface - it is completely adjustable to the user - all menu actions (and all hot keys) will be configurable to be any key combination.[/blue]
  • BitdogBitdog Member Posts: 528
    [green]
    Can you import (kbd) config files that others make & share ?
    Can you make it so opening an .ASM file configgures the IDE for the make ?
    Like, "fasm INfile OUTfile" is all that's required to make.
    The model/size & all is in the header defines
    or something like that (saved in ASCII alterable form).
    Hours of clicking to configure the IDE to assemble something doesn't make sence
    since programmers bounce around, makeing a few programs at a time,
    some times. Anyway, it's just some ideas....

    Bitdog
    [/green]

  • AsmGuru62AsmGuru62 Member Posts: 6,519
    : [green]
    : Can you import (kbd) config files that others make & share ?
    : Can you make it so opening an .ASM file configgures the IDE for the make ?
    : Like, "fasm INfile OUTfile" is all that's required to make.
    : The model/size & all is in the header defines
    : or something like that (saved in ASCII alterable form).
    : Hours of clicking to configure the IDE to assemble something doesn't make sence
    : since programmers bounce around, makeing a few programs at a time,
    : some times. Anyway, it's just some ideas....
    :
    : Bitdog
    : [/green]
    :
    :
    [blue]Great ideas![/blue]
  • _kulhas_kulhas Member Posts: 45
    [b][red]This message was edited by _kulhas at 2004-2-11 9:44:55[/red][/b][hr]
    : Kulhas's idea of, asm is a HI level language if you already have code parts made, is good.

    I realy dont understand what you want to say with this !!!
    If i want to use a linked list on my program i will make a general linked list 'lib' , so i have only to code this list only once ... and i make it easy to use and easy to understand ...
    My code is very similiar to C program struc i have a header file and other files , when i want to use a lib i have only to include the header file , i think this make very easy to use a third party lib ... The other good thing about this is that i can use almost any assembly compiler , since i have only to convert the .h.asm file to other asm sintax and this can be made with macros ... the other part can be compiled in a obj file and then link all objects, like gcc does ...

    I realy dont see how can a ide be used to increse a coders work ...

    -> BUT THIS IS ONLY MY OPNION

    - I am also trying to discover how to make things better in assembly language , i have made a compiler (for mips) , and i am now making one compiler compiler (in nasm :) ) ...

    my first compiler was not very good , but it have ...

    -> global and local labels
    -> global and local macros

    i think this is one of the big problems in assembly compilers they dont have any sofisticated system for making global and local symbols ...

    Well but assembly needs good ideas so keep the good work ...

    Sorry about the english







  • AsmGuru62AsmGuru62 Member Posts: 6,519
    [italic]...i think this is one of the big problems in assembly compilers they dont have any sofisticated system for making global and local symbols ... [/italic]

    [blue]Can you explain more about this?
    As far as I know, good ASM compiler has both global and local variables and labels. I use TASM32 - perfect![/blue]
  • _kulhas_kulhas Member Posts: 45
    : [italic]...i think this is one of the big problems in assembly compilers they dont have any sofisticated system for making global and local symbols ... [/italic]
    :
    : [blue]Can you explain more about this?
    : As far as I know, good ASM compiler has both global and local variables and labels. I use TASM32 - perfect![/blue]
    :

    [green] You probably rigth ... i have programmed in tasm in the begin and never use fectures like label , public (and i realy dont no what they do )
    well what i was talking about was a system that lets you make a part of your code totaly independent from the rest of the code , and only some parts of code will be public , the other will be local , like macros , and labels ... i think is something like java, private and public but for assembly ...

    Also i have a problem with nasm i am declaring global symbols in my .asm files and extern symbols in my .h.asm files , so i have to make a switch to not declare global and extern at same time ...

    i have made a compiler and implement a label system , the code is very bad , it was my first compiler have many bugs ...

    I know that label system is very far from being perfect in fact it have some realy problems , there are many things to work ...
    if you want to see it is in my page ...

    http://alunos.di.uevora.pt/~l17438/ , the compiler is for mips ...

    it is on my download section ... well if you go there sign my guest book lol :) and posting a message in message board doesnt hurt ...

    sorry about the english ...



  • shaolin007shaolin007 Member Posts: 1,018
    : : [italic]...i think this is one of the big problems in assembly compilers they dont have any sofisticated system for making global and local symbols ... [/italic]
    : :
    : : [blue]Can you explain more about this?
    : : As far as I know, good ASM compiler has both global and local variables and labels. I use TASM32 - perfect![/blue]
    : :
    :
    : [green] You probably rigth ... i have programmed in tasm in the begin and never use fectures like label , public (and i realy dont no what they do )
    : well what i was talking about was a system that lets you make a part of your code totaly independent from the rest of the code , and only some parts of code will be public , the other will be local , like macros , and labels ... i think is something like java, private and public but for assembly ...
    :
    : Also i have a problem with nasm i am declaring global symbols in my .asm files and extern symbols in my .h.asm files , so i have to make a switch to not declare global and extern at same time ...
    :
    : i have made a compiler and implement a label system , the code is very bad , it was my first compiler have many bugs ...
    :
    : I know that label system is very far from being perfect in fact it have some realy problems , there are many things to work ...
    : if you want to see it is in my page ...
    :
    : http://alunos.di.uevora.pt/~l17438/ , the compiler is for mips ...
    :
    : it is on my download section ... well if you go there sign my guest book lol :) and posting a message in message board doesnt hurt ...
    :
    : sorry about the english ...
    :
    :
    :
    :
    [/green]
    Just curious and maybe you could clarify this for me, I thought labels were just a reference to a memory location and nothing more? Is there more to it than that but I thought like[code] jmp your_label[/code] was the same as[code] jmp 15h[/code] (if it was that memory location it referenced)?
  • AsmGuru62AsmGuru62 Member Posts: 6,519
    [b][red]This message was edited by AsmGuru62 at 2004-2-12 12:33:16[/red][/b][hr]
    [b][red]This message was edited by AsmGuru62 at 2004-2-12 12:31:43[/red][/b][hr]
    : : : [italic]...i think this is one of the big problems in assembly compilers they dont have any sofisticated system for making global and local symbols ... [/italic]
    : : :
    : : : [blue]Can you explain more about this?
    : : : As far as I know, good ASM compiler has both global and local variables and labels. I use TASM32 - perfect![/blue]
    : : :
    : :
    : : [green] You probably rigth ... i have programmed in tasm in the begin and never use fectures like label , public (and i realy dont no what they do )
    : : well what i was talking about was a system that lets you make a part of your code totaly independent from the rest of the code , and only some parts of code will be public , the other will be local , like macros , and labels ... i think is something like java, private and public but for assembly ...
    : :
    : : Also i have a problem with nasm i am declaring global symbols in my .asm files and extern symbols in my .h.asm files , so i have to make a switch to not declare global and extern at same time ...
    : :
    : : i have made a compiler and implement a label system , the code is very bad , it was my first compiler have many bugs ...
    : :
    : : I know that label system is very far from being perfect in fact it have some realy problems , there are many things to work ...
    : : if you want to see it is in my page ...
    : :
    : : http://alunos.di.uevora.pt/~l17438/ , the compiler is for mips ...
    : :
    : : it is on my download section ... well if you go there sign my guest book lol :) and posting a message in message board doesnt hurt ...
    : :
    : : sorry about the english ...
    : :
    : :
    : :
    : :
    : [/green]
    : Just curious and maybe you could clarify this for me, I thought labels were just a reference to a memory location and nothing more? Is there more to it than that but I thought like[code] jmp your_label[/code] was the same as[code] jmp 15h[/code] (if it was that memory location it referenced)?
    :
    [blue]Absolutely correct.
    Labels are needed for compilation only - they simply replaced by a value when code is running. A good debugger (OLLYDBG) will point the line in the code where label is jumping - very handy!

    @_SOME_LABEL - you press some hot key and Editor jumps to the referenced line:
    [code]
    @_SOME_LABEL:
    MOV ...
    PUSH ...
    CALL ...
    [/code]
    Same goes for CALLs - set caret on a CALL and with a same hot key jump to the correct line (load the source module if the function is in a different module.) - that will be COOL! Like links in the browser...[/blue]




2
Sign In or Register to comment.