У меня проблема с fdiv
!!!! Я пытаюсь разделить 1/3
так это то, что я делаюраздел 8086/8087 1/3 = 3?
.model small
.stack 100h
.data
var1 dd 1
var2 dd 3
var3 dd 2
resultado dt 0.0
.code
mov ax,@data
mov ds,ax
finit
fild var1
fild var2
fdiv
fstp resultado
ffree
.exit
Как вы можете видеть, я двигаю результат resultado
, потому что я не могу видеть результат в st(0)
(я использую TASM, так что я просто не могу см. переменные в отладчике), результат должен быть 3EAAAA3A
, но я получаю 40400000
... это 3
!!! как это возможно?? Я пытался обменять переменные и ничего! Вы можете мне помочь?? = (
Покажите нам код или смонтируйте и увяжите реальный код. В конце показанного кода отсутствует 'END'. Если 'END' не находится в вашем ASM-файле, TASM, вероятно, не сможет выпустить новый .OBJ-файл из этого .ASM-файла, и поэтому вы можете связывать, выполнять и отлаживать программу, которую вы собрали некоторое время в прошлом, когда она имел в нем 'END'. Кроме того, 'FSTP' в этом коде хранит 10 байтов, а не 4. Это может быть объяснено той же проблемой с' END'. –