Написать программу на языке Ассамблер
Модератор: Andy
Для 4 строки будет тоже самое, только вместо К подставляй К2.
Стек FPU не освобождается, это грубая ошибка
It's a long way to the top if you wanna rock'n'roll
Ну закинь туда(в конец) команду finit, да и все.
А, блин, извиняюсь, прокосячил. Первую формулу нужно переделать вот так:
asm{
//Перевод из Паскалей в мм.рт.ст.(Умножение на 133)
mov eax, 133 //коэффициент перевода
mov ebx, 0x6D2693E
mul ebx
//результат в паре edx:eax
//Перевод из мм.рт.ст. в Паскали(деление на 133)
mov eax, 0x8B50AD8E //делимое
mov edx, 0x3
mov ebx, 133
div ebx //делитель
//Частное помещается в eax, а остаток — в edx.
}
2 формула будет аналогично, только коэффициент слева.
asm{
//Перевод из Паскалей в мм.рт.ст.(Умножение на 133)
mov eax, 133 //коэффициент перевода
mov ebx, 0x6D2693E
mul ebx
//результат в паре edx:eax
//Перевод из мм.рт.ст. в Паскали(деление на 133)
mov eax, 0x8B50AD8E //делимое
mov edx, 0x3
mov ebx, 133
div ebx //делитель
//Частное помещается в eax, а остаток — в edx.
}
2 формула будет аналогично, только коэффициент слева.
Комментарий к сообщению выше: доработка заключается в том, что в операциях умножения и деления участвуют регистры edx:eax. Описание смотрите в описании команд. somewhere, мне по почте пришло сообщение по этой ошибке, но здесь я его не обнаружил - стерли?
Да, я подумал, что это два разных независимых куска кода
It's a long way to the top if you wanna rock'n'roll