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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2010, 10:35   #1
Jereme
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 51
По умолчанию Арифметические операции!!( исправить )

Нужно чтоб вычисляло по формуле a/b+c и выделяло остаток!!!


model small
.stack 100h
.data
mes1 db 'vvedite a$'
mes2 db 0ah,0dh,'ўўҐ¤ЁвҐ b$'
mes3 db 0ah,0dh,'ўўҐ¤ЁвҐ c$'
mes4 db 0ah,0dh,'otvet: $'
mes5 db 0ah,0dh,'ost: $'
d db ?
a db ?
b db ?
c db ?
n db ?
otvet db ?,?,?,'$'
ost db ?,?,?,'$'
.code
main:
mov ax,@data
mov ds,ax
xor ax,ax

mov ah,09h
mov dx,offset mes1
int 21h
mov ah, 01h
int 21h ; ввод первого символа и запись его в al
sub al, 30h ; запись в al первой цифры
mov ah,0 ; расширение до слова
mov bx,10
mov cx,ax ; запись в cx первой цифры
M1: mov ah,01h
int 21h ; запись в al следующего символа
cmp al,0dh ; сравнение с кодом Enter
je End1 ; конец ввода
sub al, 30h ; в al – следующая цифра
cbw ; расширение до слова
xchg ax,cx ;?
mul bx ;?
add cx, ax ;?
jmp M1 ; продолжение ввода
End1: mov a, cl

mov ah,09h
mov dx,offset mes2
int 21h
mov ah, 01h
int 21h ; ввод первого символа и запись его в al
sub al, 30h ; запись в al первой цифры
mov ah,0 ; расширение до слова
mov bx,10
mov cx,ax ; запись в cx первой цифры
M2: mov ah,01h
int 21h ; запись в al следующего символа
cmp al,0dh ; сравнение с кодом Enter
je End2 ; конец ввода
sub al, 30h ; в al – следующая цифра
cbw ; расширение до слова
xchg ax,cx ;?
mul bx ;?
add cx, ax ;?
jmp M2 ; продолжение ввода
End2: mov b, cl


mov ah,09h
mov dx,offset mes3
int 21h
mov ah, 01h
int 21h ; ввод первого символа и запись его в al
sub al, 30h ; запись в al первой цифры
mov ah,0 ; расширение до слова
mov bx,10
mov cx,ax ; запись в cx первой цифры
M3: mov ah,01h
int 21h ; запись в al следующего символа
cmp al,0dh ; сравнение с кодом Enter
je End3 ; конец ввода
sub al, 30h ; в al – следующая цифра
cbw ; расширение до слова
xchg ax,cx ;?
mul bx ;?
add cx, ax ;?
jmp M3 ; продолжение ввода
End3: mov c, cl
mov al,a
div b
mov bl,c
add al,bl
mov ah,0
div bl
mov d,ah
cbw
mov n,al
mov bl, 10
mov al,n
mov ah,0 ; расширение N в ax до слова
div bl ; ah=c, al=ab
add ah, 30h
mov otvet+2, ah ; записали последнюю цифру
mov ah,0 ; al=ab, расширили до слова
div bl ;ah=b, al=a
add ax,"00" ; ah=b+’0’, al=a+’0’
mov otvet+1, ah ;записали среднюю цифру
mov otvet, al ; записали первую цифру
mov ah,09h
mov dx,offset mes4
int 21h
mov ah,09h
mov dx,offset otvet
int 21h

mov bl, 10
mov al,d
mov ah,0 ; расширение N в ax до слова
div bl ; ah=c, al=ab
add ah, 30h
mov ost+2, ah ; записали последнюю цифру
mov ah,0 ; al=ab, расширили до слова
div bl ;ah=b, al=a
add ax,"00" ; ah=b+’0’, al=a+’0’
mov ost+1, ah ;записали среднюю цифру
mov ost, al ; записали первую цифру

mov ah,09h
mov dx,offset mes5
int 21h
mov ah,09h
mov dx,offset ost
int 21h


mov ah, 01h
int 21h
mov ax,4c00h
int 21h
end main
Mega HiP-Hop--- http://muzxclusive.com/
Jereme вне форума Ответить с цитированием
Старый 23.01.2010, 11:46   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

остаток чего? вернее от чего
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, арифметические выражения. netcher Помощь студентам 1 09.03.2009 15:48
Арифметические операции в различных системах счисления (Си) LiToRBoL Помощь студентам 7 08.01.2009 18:13
Арифметические выражения spirit0k Общие вопросы C/C++ 0 26.10.2008 18:06
Арифметические операции Ассемблер BAV Помощь студентам 9 05.03.2008 00:21