x86程序集:递增变量

时间:2013-12-07 08:41:03

标签: assembly vector crash

我正在尝试使用汇编语言制作蛇游戏,但我收到的是“snake.exe已停止工作”错误

.data
snake DD 50 DUP(0) ; here will be saved the body of the snake
dimension DD 0

.code
grow_body proc
pop edx
lea esi, snake

cmp dimension, 0
je add_to_body

mov eax, dimension
mov ecx, 4
mul ecx
add esi, eax

mov ecx, dimension
shift_body:
mov ebx, dword ptr[esi-4]
mov dword ptr[esi], ebx
sub esi, 4
loop shift_body

add_to_body:
;inc dimension   ; <------------PROBLEM
lea esi, snake  
get_position_macro snakeHeadX, snakeHeadY
mov ebx, position
mov dword ptr[esi], ebx

push edx
ret
grow_body endp

如果我使用     inc维度 该程序不起作用,但如果我评论该行,该程序工作。 除此之外,即使我使用     添加维度,1 我仍然得到那个错误。

我需要以某种方式增加维度。我可以做些什么来解决这个问题?

感谢。

0 个答案:

没有答案