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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2010, 13:49   #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 вне форума Ответить с цитированием
Старый 08.05.2010, 13:51   #2
Sined121
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 26
По умолчанию

Народ подскажите(( Вывожу дробную часть числа, а выводит только его последнюю цифру. В чем причина? что нужно сделать
Sined121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать остаток в Pascal. ThisIzGame Помощь студентам 6 24.09.2009 09:29
Получить остаток от деления Cpluser Общие вопросы C/C++ 18 26.02.2009 18:05
остаток от деления % Division Общие вопросы C/C++ 5 25.12.2008 14:08
Массивы, частное, остаток(исправить) Alter Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.05.2008 23:37