Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/overhertz/domains/codeziron.com/public_html/ziron/ziron.db.connector.php on line 13
code:zIRON - Get the latest releases plus source-codes and tutorials - Simplifed Assembly Programming Language.
[1231] goto statment - posted: 2012-05-28 21:06:45
Hi Mr Colin.
as you know , with asm language you can make some tricks to preform something.
so i used goto to put some data after it , then when trying to use this data , we get NULL.
for Example: Code:
imports('msvcrt.dll')
{
function printf(char* format[]): Int32; cdecl;
}
goto @end
char* str1 = 'this well not seen by ziron';
............
............
@end:
ebx=@str1;
printf('%s',[Ebx]);
this will print null , but this of course work
Code:
imports('msvcrt.dll')
{
function printf(char* format[]): Int32; cdecl;
}
char* str1 = 'this well not seen by ziron';
goto @end
........
........
@end:
ebx=@str1;
printf('%s',[Ebx]);
so why ziron did not execute what after goto. http://www.freewebs.com/ogremagic/index.htm
emit plugin could be extended to support emit string '....';
or optionally a whole new plugin could be developed for handling strings emitted inside of code Download Ziron
Get free hosting for Ziron related fan-sites and Ziron projects, contact me in private message.
[1235] - posted: 2012-05-28 22:09:30
good news , this also working well.
Code:
program WIN32CUI 'Test';
#include 'ch.zir';
imports('msvcrt.dll')
{
function printf(char* format[]): Int32; cdecl;
}
ebx = @str;
printf('%s\r\n', ebx);
wait_key();
ExitProcess(0);
// we put data here for erasing goto statment.
@str:
emit byte "t","e","s","t",0;
so the big trick here , can we use a label as a variable ?
eg. something like that Code:
[1237] - posted: 2012-05-28 23:17:43
ok , but how to put the address of another labels to make array of pointer.
for Example Code:
@Str2:
emit byte "t","e","s","t","2",13,10,0;
@Str3:
emit byte "t","e","s","t","3",13,10,0;
@Str4:
emit byte "t","e","s","t","4",13,10,0;
@addr:
emit dword @Str2,@Str3,@Str4,0; // how can we make that