NAGOA RAD IDE new version Greate Improvement!

NEW VERSION ! A MUST FOR NASM USERS !

http://visual-assembler.pt.vu/





Nagoa Default settings uses nagoa.inc and nagoa.obj

nagoa.inc is a file that contains information , macros that will help you build more faster,
equivalences such , MB_OK equ 0 , in order that you can use MS related information to program .



FIRST YOU MUST KNOW THAT :

CALL function

is not the same of

call function

( call is a macro in nagoa.inc that permits you to call a function fast way !
in order to build litle exe?s . )




CALL ( CALL is the realy assembly instruction , never forget that NASM is case sensitive ! , means that CALL is diferent from call )

CALL must be used when you CALL a rotin ( sub program ) inside your program with no parameters

example:

CALL rotin1

rotin1:
add eax,2
inc esi,eax
ret








call


use call to call functions in side a dll


use this type of calling functions in side dll?s becouse exe will be very litle !

example:

call MessageBox,handle,"this is the title","this is my message",MB_OK






or like this :

push dword handle
push dword titulo
push dword mensagem
push dword tipo
call MessageBox


in fact what this 2 examples are doing is :

push dword handle
push dword titulo
push dword mensagem
push dword tipo
extern MessageBox
CALL



So use the fast and easy the call macro :
call MessageBox,handle,"this is the title","this is my message",MB_OK

and your exe will be very litle !




if we want to invoke a CALLBACK or a function in side the code use INVOKE :




invoke NameProc, , NULL, , SW_SHOWDEFAULT



NameProc:

%define var1 ebp+8
%define var2 ebp+12
%define var3 ebp+16
%define var4 ebp+20

enter 0, 0


;code to do here....

xor eax,eax
leave
ret 16









CALLING A INTERNAL FUNCTION ESPECIFIC EXAMPLE :

invoke NameOfTheFunction,,,




Example on how to make an internal function that use registers


;=================================================
; PROC USES ESI EDI EBX var1:HDC, var2:DWORD, var3:DWORD
;=================================================

NameOfTheFunction :

%define var1 ebp+8
%define var2 ebp+12
%define var3 ebp+16




enter 0,0

;=== code to do =



pop ebx
pop edi
pop esi
leave
ret 12




Example of a program : that will send a messagebox to the user :





then open the menu Nagoa File -> Save Project as




well here we give it test us name , then we clik in browse and save the project in some dir we have made before .




then you go to menu Nagoa project -> Build settings :








well by default Nagoa is already set to build exe using nagoa.inc .




then we click in the asm -> obj button ( compilation ) then we link it ( make the executable ) .

( by default Nagoa is ready for build exes for windows using nagoa.inc )




after we have clicked asm-obj (opens a dos box wait until finished...)

afer we heve cliked link (opens a dos box wait until finished ... )

apears 2 leds lighting the first is signal that you have give a order of compilation and the second that you ordered to link ( to make the executable).




then apears a new button Run ! click on it


and your first windows assembly program is done !







only a 1,5 kb exe !!!


**************************************************

Examples of data :








var1 dd 0 ; when we do not now the value of var1

name1 db ' Hi you are great !',0 ; here this name1 is equal to Hi you are great !

ID_n1 equ 100 ; here ID_n1 is equvalent to 100 decimal

msg resd MSG_size ; here msg has the size of MSG_size ( Structure MSG fron win32api )


aii times 100 db 0 ; here aii is one hundred times zeros











When we use a dll that is not part of windows system and is not alredy in nagoa.obj






we can call any function in side that dll , you can eaven spy a dll , to see what functions he have ! using the menu in Nagoa TOOLS get functions from dll



lets imagine that we have a dll , called sexy.dll , and we we need a function in side called letsGo and as 2 parameters .



we can call it in tow maners :



IMPORT letsGO sexy.dll
call letsGo,parameter1,parameter2



or we can do a new nagoa.obj to link ! so next time we dont have to write : IMPORT letsGO sexy.dll


for that we use the menu Nagoa Project -> add dll to NAGOA





so here we click in +browse to browse for the dll you want to add to NAGOA , in our example is , sexy.dll


then click on build nagoa.obj , and thats done !



so next time we juse this new dll we just call it like this :

call letsGo,parameter1,parameter2













http://visual-assembler.pt.vu/
Posted on 2002-05-09 19:29:20 by Nguga
hehe... this improvement "shocks" me :tongue:

i get this:

A p?gina que deseja visualizar encontra-se tempor?riamente indispon?vel devido a ter excedido os 100 MB de tr?fego presentes nas nossas Condi??es de Servi?o.

Sugerimos que visualize esta p?gina amanh? a partir das 0:00 horas.


Zero
Posted on 2002-05-12 08:05:51 by Zero