0
: 나는 eq2
을 얻을 수있는 방정식을 주석하는 경우, 내가 얻을 수있는 이전 식의 오른쪽 출력을 얻을 것이다, 어떤 이유NASM 부동 소수점 오류 부동 소수점 스택에 조작을 수행에서 작업
fld qword [perResult] ;load st0 with perimeter
fsub qword [firstSide] ;take st0 and minus firstSide, st0= perimeter - firstSide
fmul qword [perResult] ;take st0 and multiply by perimeter, st0 = difference of first equation * perimeter
fstp qword [res1] ;take the result off of st0 and place them into variable equation1
;setting up to take perimeter minus second side
fld qword [perResult] ;load up perimeter into st0
fsub qword [secondSide] ;take st0 and minus secondSide, st0 = perimeter - secondSide
fstp qword [eq2]
일 후 함수가있는 경우 res1
,
하지만 주석 식 (2)를두면 내가 0
출력
하고 다음 방정식 같은 일 같은 얻을 것이다, 어떤 이유로 그것을 밖으로 제로 있어요 e previous.
아무도 전에이 문제에 직면 한 적이 있습니까?
는 여기에 내가 위의 코드에 문제를 볼 인쇄 기능
mov rdi, areaMsg
call print_string
xor r14,r14
movsd xmm0, [eq2] ;move sumResult into xmm0 for printing
mov qword rax, 1
mov r14, [eq2] ;move result into r14 register for printing float
call print_float
call print_nl
jmp Decision
괜찮아, 윙윙 거리다가 출력해야합니다. – user1050632