Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Действительные числа в Ассемблере


Рекомендуемые сообщения

Помогите пожалуста, а то я ни где не могу найти.

Есть задача:

Нужно ввести действительное число: 4 байта = 1 б порядок 3 б мантисса.

Сохранить его в переменную и вывести.

И все!!!

Пример приветствуется.

Ссылка на комментарий
Поделиться на другие сайты

Опа?! Приехали. :thumbup:

Можно такой вариант - вызывать С продедури в Ассемблере.

 .MODEL  small,C		 EXTRN   C _test:PROC		 .CODE		 call	_test C		 END

Но, когда я делаю Tlink 2.obj+inp.obj,2.exe

то выдает:

Error: Undefined symbol __TEST in module 2.ASM

Error: Undefined symbol _PRINTF in module INP.CPP

Error: Undefined symbol FIDRQQ in module INP.CPP

Error: Undefined symbol _SCANF in module INP.CPP

exe создается, а в этот call не заходит.

В чем проблема?

Ссылка на комментарий
Поделиться на другие сайты

Я нашел ответ на этот вопрос.

С Borland C получаеться лажа, потому я использовал Pasclal.

Проиблема в том, что для вызова функциии Паскаля из Ассемблера нужно

сначала вызывать Ассемблерную функцию из Паскаля!!! ( во закрутил :) )

Короче 'неудобно'. :g:

Код на Асме:

.model small.stack 100h.datab	dd	0EXTRN	fl:QWORD.codeEXTRN inp_float:NEAREXTRN out_float:NEARpublic startstart PROC NEAR;----------------------call inp_floatfld ds:flfstp bfld bfstp ds:flcall out_float;----------------------retstart ENDPend

Код на Паскале:

{$L qwe.obj}program inp_out;procedure start;  external;varfl : double;procedure inp_float;beginreadln(fl);end;procedure out_float;beginwriteln(fl);end;beginstart;end.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...