Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.105.124] |
|
Сообщ.
#1
,
|
|
|
После выполнения операций в FPU получил результат - число с плавающей точкой. Как вывести его на экран?
|
Сообщ.
#2
,
|
|
|
Посмотри здесь
http://forum.vingrad.ru/faq/topic-158522/kw-ввод-вывод-числа.html http://forum.vingrad.ru/forum/topic-249868.html |
Сообщ.
#3
,
|
|
|
Большое спасибо...
Вопрос в догонку - есть у меня эта процедура, нужно её запихнуть в библиотеку процедур (или с внешним вызовом (.LIB), или как макрокоманду, или как файл дерективы INCLUDE). Подскажите пожалуйста что проще, а если подкините примерчик - буду очень благодарен. TASM. |
Сообщ.
#4
,
|
|
|
Если это разовая работа (лабораторка и иже с нею), то можно как прописать в тексте программы, так и вставить INCLUDOM.
Вот пример для Tasm: model medium .386 .stack 1024 .data CRLF db 0Dh, 0Ah, '$' fVar01 dd 3.14159265 fVar02 dd 2.0 .code Main PROC FAR mov ax, @data mov ds, ax fld fVar01 ;загрузить в ST содержимое переменной fVar01 fmul fVar02 ;какие-то математические действия -> результат в ST call OutFloat ;вывести содержимое ST (вершины стека сопроцессора) на экран mov ax, 4C00h int 21h Main ENDP ;здесь или вставить копированием текст процедуры OutFloat ;или INCLUDE FileName.inc ............................. END Main Можно и раздельно компилировать два файла. Тогда :первый файл main.asm model medium .386 .stack 1024 .data CRLF db 0Dh, 0Ah, '$' fVar01 dd 3.14159265 fVar02 dd 2.0 .code EXTRN OutFloat : NEAR ; <--- описание внешней процедуры Main PROC FAR mov ax, @data mov ds, ax fld fVar01 ;загрузить в ST содержимое переменной fVar01 fmul fVar02 ;какие-то математические действия -> результат в ST call OutFloat ;вывести содержимое ST (вершины стека сопроцессора) на экран mov ax, 4C00h int 21h Main ENDP END Main ;второй файл OutFloat.asm model medium .386 .code PUBLIC OutFloat ; <--- объявление для "общего" доступа из других файлов проекта ............................... текст процедуры OutFloat ............................... END компилировать tasm main.asm tasm OutFloat.asm Собирать tlink main.obj + outfloat.obj Почти также и действия при работе с LIB. А макросом, imho, в данном случае можно выполнить лишь вызов процедуры для печати переменной из памяти mShowFloat MACRO MemVar fld MemVar call OutFloat ENDM |
Сообщ.
#5
,
|
|
|
Большое спасибо
|