| | |
Conditional assambly doesn't work! :(
![]() |
Hello everyone.
I'm trying to do this in nasm under linux :
and also
and yet also
I want to loop while eax is lesser than ebx and non of the 3 methods work!
First 2 execute once and then hit for the exit code
the last one gives error:
error: `<': operands differ by a non-scalar
Can someone help me? I've been banging my head against the wall for some hours now!
I'm trying to do this in nasm under linux :
Assembly Syntax (Toggle Plain Text)
cmp eax,ebx jng .loop
Assembly Syntax (Toggle Plain Text)
test eax,ebx jng .loop
Assembly Syntax (Toggle Plain Text)
%if eax < ebx jmp .loop %endif
First 2 execute once and then hit for the exit code
the last one gives error:
error: `<': operands differ by a non-scalar
Can someone help me? I've been banging my head against the wall for some hours now!
•
•
Join Date: Apr 2009
Posts: 39
Reputation:
Solved Threads: 5
Sorry for the late response been really busy lately.
From the code you've posted I don't really see a problem.
Here's the best and most useful time to open up gdb.
And I'll attempt to explain an easy way to do so!
so in my linux asm code I usually have a main label. So I would do this.
Now here gdb is hanging out at the main label in myprog which happens for me to be the begging of my code!
So I do 'stepi' while watching my registers until I get to the instruction that I want to watch then I'll usually do a 'info all-reg'
If you're going to programming in assembly you're going to NEED to become familiar with a debugger. What do other languages do for you? By writing in assembly you're saying "I'm smart enough that I can get down into the hardware and interact with it directly". There's no type safety or any standard or a compiler to tell you that what you're doing is unsafe. Actually the only thing keeping your program in check from obliterating the machine is the O/S (assuming you're in a protected mode O/S such as linux).
From the code you've posted I don't really see a problem.
Here's the best and most useful time to open up gdb.
And I'll attempt to explain an easy way to do so!
so in my linux asm code I usually have a main label. So I would do this.
Assembly Syntax (Toggle Plain Text)
gdb myprog gdb> break main breakpoint set gdb> display /x $eax gdb> display /x $ebx gdb> display /x $eflags gdb> run breakpoint reached
So I do 'stepi' while watching my registers until I get to the instruction that I want to watch then I'll usually do a 'info all-reg'
If you're going to programming in assembly you're going to NEED to become familiar with a debugger. What do other languages do for you? By writing in assembly you're saying "I'm smart enough that I can get down into the hardware and interact with it directly". There's no type safety or any standard or a compiler to tell you that what you're doing is unsafe. Actually the only thing keeping your program in check from obliterating the machine is the O/S (assuming you're in a protected mode O/S such as linux).
Sorry i don't understand how to get it work... 
I try running: gdb lab4a
it gives : (no debugging symbols found)
Then i try: - files lab4a
But it says:
exec No process In: Line: ?? PC: 0x0
Invalid window specified.
The window name specified must be valid and visible.
What am i doing wrong? Please bare with me. )

I try running: gdb lab4a
it gives : (no debugging symbols found)
Then i try: - files lab4a
But it says:
exec No process In: Line: ?? PC: 0x0
Invalid window specified.
The window name specified must be valid and visible.
What am i doing wrong? Please bare with me. )
Fundamental law of life:
do{ ThingsToDo+=me.CompleteTask(ThingsToDo); }while(ThingsToDo); Die(me);
Law of the Spirit:
do{ Rebuke(me); }while(!me.Repented); LiveEternal(me);
PM me to know more why i wrote this or what it means.
do{ ThingsToDo+=me.CompleteTask(ThingsToDo); }while(ThingsToDo); Die(me);
Law of the Spirit:
do{ Rebuke(me); }while(!me.Repented); LiveEternal(me);
PM me to know more why i wrote this or what it means.
![]() |
Other Threads in the Assembly Forum
- Previous Thread: assembly language help
- Next Thread: Assembly fatal ........
| Thread Tools | Search this Thread |





