我试图在汇编中编写一个简单的代码,并且在使用cmp比较两个值时遇到了麻烦。如果我的值不在65到90之间,我想跳到某一点。
cmp $65, (%ebx)
jl looping
cmp $90, (%ebx)
jg check_minusculas
运行gdb我的%ebx值是0x80490f9并使用:
x /1db 0x80490f9
我得到(%ebx)是77。 但是,当显然77 <90时,程序跳转到check_minusculas 我在这里缺少什么?
谢谢!
答案 0 :(得分:2)
你的问题是你忘了使用大小说明符,当你显然想要使用byte时,它默认为很长。解决方案:使用cmpb
。