NAGOA RAD IDE new version Greate Improvement!


Nagoa Default settings uses and nagoa.obj 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 .


CALL function

is not the same of

call function

( call is a macro in 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


CALL rotin1

add eax,2
inc esi,eax


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 !


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

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


%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
ret 16


invoke NameOfTheFunction,,,

Example on how to make an internal function that use registers


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
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 .

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 )

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

Posted on 2002-05-09 19:24:08 by Nguga