Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2010, 16:48   #1
Sined121
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 26
По умолчанию проблема с выводом на экран

не могу вывести корректно дробную часть числа. выводится только последняя цифра дробной части(((((((((((((((((((((((((
Код:
title
.model    small     ;Модель памяти
.stack    100h      ;Стэк
.data               ;Описание переменных
    a dw 10          
    b dw ?
    c dw ?          ;Переменная в которую запишем результат
    vi db 'Chislo=     ,       ', '$'
    SOIAO dw 2 dup (0)  
     k    db ?	
	 g    db ?
.code               ;Показывает что далее код
VT    proc    
      mov bl,100
      div bl
      mov bh,ah
      mov ah,0
      mov bl,10
      div bl
      add al,30h
      mov vi[8],al
      add ah,30h
      mov vi[9],ah
      mov al,0
      mov ah,0
      mov al,bh
      div bl
      add al,30h
      add ah,30h
      mov vi[10],al
      mov vi[11],ah
	  mov ah,k
	  div bl
	  add al,30h
	  mov vi[13],al
	  div bl
	  add al,30h
	  mov vi[14],al
      mov ah,09h
      mov dx,offset vi
      iret          ;Возврат управления из обработчика прерывания 
VT endp
Start:
      mov ax,@data
      mov ds,ax     
      mov ax,a      ;
      mul ax        ;
      mul a         ;возводим а в куб
      mov c,ax      ;записываем а^3 в переменную с
      mov bx,3      ;     ;
	  mov ax,a
	  mul bx        ;вычисление b=3*a
      inc ax        ;увеличение результата на 1
      mov b,ax      ;
      mul ax        ;возводим b 
      div bx        ;делим на 3
	  mov k,ah
	  mov g,al
      sub c,ax      ;вычитание a^3-(b^2)/3
      mov ax,a      ;
      mul b         ;вычисление
      mov bx,8      ;результата
      mul bx        ;8*a*b
      add c,ax      ;сложение всего и получение общего результата
      mov ax,c
      mov dx,0
      mov es,dx
      mov es:[62h*4],offset VT  ;заменяем адрес прерывания на адрес процедуры
      mov es:[(62h*4)+2h],cs    ;передаём адрес обработчика
      int 62h
      int 21h
      mov ax,4c00h
      int 21h            
end Start
Sined121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++: Программирование с выводом результатов в виде графиков на экран алфавитно-цифрового дисплея MR_Andrew Общие вопросы C/C++ 13 10.03.2010 19:58
Построить график с выводом на экран в Паскале.. semen4ik_pro Помощь студентам 0 28.01.2010 11:54
Проблема с выводом на экран NeveX Общие вопросы .NET 3 20.12.2009 13:57
Проблема с чтением и выводом содержимого текстового файла на экран -=PascaL=- Помощь студентам 16 08.08.2009 07:13