BREND Опубликовано 15 декабря, 2007 Жалоба Поделиться Опубликовано 15 декабря, 2007 Помогите пожалуста, а то я ни где не могу найти. Есть задача: Нужно ввести действительное число: 4 байта = 1 б порядок 3 б мантисса. Сохранить его в переменную и вывести. И все!!! Пример приветствуется. Ссылка на комментарий Поделиться на другие сайты Поделиться
BREND Опубликовано 18 декабря, 2007 Автор Жалоба Поделиться Опубликовано 18 декабря, 2007 Опа?! Приехали. :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 не заходит. В чем проблема? Ссылка на комментарий Поделиться на другие сайты Поделиться
BREND Опубликовано 20 декабря, 2007 Автор Жалоба Поделиться Опубликовано 20 декабря, 2007 Я нашел ответ на этот вопрос. С 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. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти