Conditional assambly doesn't work! :(

Reply

Join Date: Jun 2008
Posts: 88
Reputation: Alex_ is an unknown quantity at this point 
Solved Threads: 1
Alex_'s Avatar
Alex_ Alex_ is offline Offline
Junior Poster in Training

Conditional assambly doesn't work! :(

 
0
  #1
May 2nd, 2009
Hello everyone.
I'm trying to do this in nasm under linux :
  1. cmp eax,ebx
  2. jng .loop
and also
  1. test eax,ebx
  2. jng .loop
and yet also
  1. %if eax < ebx
  2. jmp .loop
  3. %endif
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!
Reply With Quote Quick reply to this message  
Join Date: Apr 2009
Posts: 39
Reputation: sysop_fb is an unknown quantity at this point 
Solved Threads: 5
sysop_fb sysop_fb is offline Offline
Light Poster

Re: Conditional assambly doesn't work! :(

 
0
  #2
May 4th, 2009
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.
  1. gdb myprog
  2. gdb> break main
  3. breakpoint set
  4. gdb> display /x $eax
  5. gdb> display /x $ebx
  6. gdb> display /x $eflags
  7. gdb> run
  8. breakpoint reached
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).
Reply With Quote Quick reply to this message  
Join Date: Jun 2008
Posts: 88
Reputation: Alex_ is an unknown quantity at this point 
Solved Threads: 1
Alex_'s Avatar
Alex_ Alex_ is offline Offline
Junior Poster in Training

Re: Conditional assambly doesn't work! :(

 
0
  #3
May 4th, 2009
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. )
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.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Other Threads in the Assembly Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC