title: NASM says "Invalid combination of opcode and operands"
body: <p>I just started learning assembly programming. I am using NASM on linux.
  I wrote this code that's basically meant to calculate the somethingth power of something and I know it's probably not exactly good, but I really don't care at this point, all I want is just SOME idea why I keep getting that error, because I have tried to modify and switch operands and operations and everything in the section where the problem is, but if anything that only gave me more error messages.
  As I said, I'm really, really new to this whole stuff and I might just be stupid.
  The Problem must be in one of these lines. If you need it, of course I'll post more of the code, I just don't want you to have to go though 70-80 lines of weird, unnecessarily complicated code. I just want to know what COULD be a possible reason for this happening, because I'm really, really desperate right now and also I have reached the point where thinking about it and not having any new thoughts just makes everything worse.
  I'll just leave this part here. But I'll give you whatever you need to know to help.</p>
  
  <pre><code>    mov dword [power], 2
      mov ecx, 0
  
  while:
      mov eax, [neededforloop]
      cmp eax, ecx
      je endwhile
  
      mov eax, [power]
      mul eax, 2
      mov [power], eax
  
      mov eax, ecx
      add eax, 1
      mov ecx, eax
  
      jmp while
  </code></pre>