я, совершенно новичок в сборке.Я хочу сравнить две переменные (float) и правильно перейти к нужной функции;Это игра в понг. Она написана на FASM
;The right pad
P0x dd 0.9 ;
P0y dd 0.05 ;
P1x dd 0.95 ;
P1y dd -0.25 ;
;The left pad
P0x2 dd -0.9
P0y2 dd 0.05
P1x2 dd -0.95
P1y2 dd - 0.25
B0x GLfloat 0.01 ; Its the ball coordinate
...
BvelX GLfloat 0.02 ;Its the velocity that the ball move in x
...
Я хочу, чтобы: если позиция мяча была такой же или больше, чем позиция площадки, то инвертируйте скорость.Что я делаю:
;right
fld [B0x]
fld [P0x]
fcomip st1
jge .changexEsq
;left
fld [B0x]
fld [P0x2]
fcomip st1
jle .changexDir
;Up
fld [B0y]
fld [TelaComecoY]
fcomip st1
jge .changeyBaixo
;Down
fld [B0y]
fld [TelaFimY]
fcomip st1
jge .changeyBaixo
....
.changexEsq:
mov edi,-0.02
mov [BvelX],edi
jmp .main
ret
.changexDir:
mov edi, 0.02
mov [BvelX],edi
jmp .main
ret
.changeyBaixo:
mov edi,-0.02
mov [BvelY],edi
jmp .main
ret
.changeyCima:
mov edi,-0.02
mov [BvelY],edi
jmp .main
ret
Но сравнение ничего не делает!Как я могу сравнить эти переменные и правильно прыгнуть?