flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Klod
Is there a debugger that runs under Menuet?
What debugging tools/practices are you people using? _________________ Do not Assume, it makes an ASS out of U and ME! |
|||
![]() |
|
mike.dld
I'm using DEBUG.INC if needed. AFAIK no other tools available.
|
|||
![]() |
|
Klod
Could you give me an example on haow to?
|
|||
![]() |
|
Klod
thsnkd for your repley Mike.dld.
I must have overlooked the file debug.inc ![]() _________________ Do not Assume, it makes an ASS out of U and ME! |
|||
![]() |
|
profkid13
mike.dld wrote: What for do you need an example??? It's just a set of macroses (don't use procedures directly, they won't save you flags and registers) which output something (string, decimal, hex, char) to debug board. The code is there (debug.inc), it's pretty self-explaining: fasm1.56 doesnt want's to compile this: Code: mcall 63, 1 ![]() |
|||
![]() |
|
Ivan Poddubny
Quote: fasm1.56 doesnt want's to compile this: Replace it with Code: mov eax, 63 mov ebx, 1 int 0x40 BTW Debug.inc is distributed with RE#8. |
|||
![]() |
|
profkid13
Ivan Poddubny wrote:
i know, but why doesnt the shorter code works? let me gues, its a function in the macros.inc distibuted with re#8? ![]() Quote: BTW Debug.inc is distributed with RE#8. ah, thats why i couldnt find it ![]() |
|||
![]() |
|
mike.dld
It's mine and Ivan's macroses to code Menuet applications easier:
Code: macro mpack dest, hsrc, lsrc { ; Ivan Poddubny if (hsrc eqtype 0) & (lsrc eqtype 0) mov dest, (hsrc) shl 16 + lsrc else if (hsrc eqtype 0) & (~lsrc eqtype 0) mov dest, (hsrc) shl 16 add dest, lsrc else mov dest, hsrc shl dest, 16 add dest, lsrc end if end if } macro __mov reg,a,b { ; mike.dld if (~a eq)&(~b eq) mpack reg,a,b else if (~a eq)&(b eq) mov reg,a end if } macro mcall a,b,c,d,e,f { ; mike.dld __mov eax,a __mov ebx,b __mov ecx,c __mov edx,d __mov esi,e __mov edi,f int 0x40 } You can find them in MACROS.INC file from russian distro (RE#8). EXAMPLE.ASM becomes: Code: use32 org 0x0 db 'MENUET01' dd 0x01 dd START dd I_END dd 0x100000 dd 0x100000 dd 0x0 dd 0x0 include 'MACROS.INC' START: red: call draw_window still: mcall 10 cmp eax,1 je red cmp eax,2 je key cmp eax,3 je button jmp still key: mcall 2 mov [Music+1], ah mcall 55, eax, , , Music jmp still button: mcall 17 cmp ah, 1 jne still .exit: mcall -1 draw_window: mcall 12, 1 mcall 0,<200,200>,<200,50>,0x02AABBCC,0x805080D0,0x005080D0 mcall 4,<8,8>,0x10DDEEFF,header,header.size mcall ,<8,30>,0,message,message.size mcall 8,<200-19,12>,<5,12>,1,0x6688DD mcall 12, 2 ret Music: db 0x90, 0x30, 0 lsz message,\ en,'Press any key...',\ fr,'Pressez une touche...' lsz header,\ en,'EXAMPLE APPLICATION',\ fr,"L'exemplaire programme" I_END: |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.