La différence entre cmpl et cmp

J'essaie de comprendre de l'assemblée pour être en mesure de résoudre un puzzle. Cependant, j'ai rencontré les instructions suivantes:

0x0000000000401136 <+44>:    cmpl   $0x7,0x14(%rsp)
0x000000000040113b <+49>:    ja     0x401230 <phase_3+294>

Ce que je pense faire, c'est:
La valeur de 0x14(%rsp) est -7380. Selon ma compréhension cmpl compare pas signé. Aussi le saut est effectué.
Donc, peut-il être qu' (non signé)-7380 > 7
(non signé)7380 > 7--> sauter

En fait, je ne veux pas de ça pour sauter. Mais est-ce l'explication correcte ou pas? Suis-je le retournement des arguments?

Aussi, si vous avez des conseils sur la façon de manipuler ce saut!

l dans cmpl est de spécifier 32 bits mémoire argument. un partie de ja est de spécifier signé/non signé. Rechercher dans les instructions de branchement.
Probablement une bonne idée de mentionner (et tag) que l'architecture des processeurs cela fait référence.
c'est juste le AT&T syntaxe taille du suffixe

OriginalL'auteur Sarah cartenz | 2014-06-09