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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2012, 09:23   #1
muza15
Новичок
Джуниор
 
Регистрация: 19.06.2012
Сообщений: 1
По умолчанию трехзначный числа, вывод на экран

Помогите, пожалуйста, с программой. Нужно осуществить арифметические операции над трехзначными числами, вывод на экран результата. эта программа работает, но считает числа меньше 256. а нужно посчитать с числами больше 256. Не могу понять, что нужно изменить в программе...
Код:
.model tiny
.stack 100H
.data
mas db 3 dup(?)
prompt db 'vvedite tri trehznachnih
chisla',13, 10, '$'
enta db 'a=$'
viv db 'rezyltat (a+b)/c*b-c=$'
.code
vvod proc 
mov bl, 10
mov ah, 1
int 21H
sub al, 30H
mul bl
mov cl, al
mov ah, 1
int 21H
sub al, 30H
add al, cl
mul bl
mov cl,al
mov ah, 1
int 21H
sub al, 30H
add al, cl
ret
vvod endp
vivod proc
mov ah, 0
mov cl, 100
div cl
mov ch, ah
xor ah, ah
aam
mov dl,ah
mov dh,al
xor dh, 30H
xor dl, 30H
mov ah, 2
int 21H
xchg dh,dl
int 21H
mov al, ch
xor ah, ah
aam
mov dl, ah
mov dh, al
xor dh, 30H
xor dl, 30H
mov ah, 2
int 21H
xchg dh, dl
int 21H
mov dl, 13
int 21H
mov dl, 10
int 21H
ret
vivod endp
start: mov dx, @data
mov ds, dx
mov SI, 0
xor ax,ax
lea dx, prompt
mov ah, 9
int 21H
metka:lea dx, enta
mov ah, 9
int 21H
inc enta[0]
call vvod
mov mas[SI], al
mov ah, 0
mov dl, 13
mov ah, 2
int 21H
mov dl, 10
int 21H
inc SI
cmp SI, 3
js metka
mov al, mas[0]
mov ah, 0
mov bl, mas[1]
xor bh,bh
add ax, bx
mov cl, mas[2]
mov ch, 0
div cl
mul bl
xor ch,ch
sub ax,cx
mov cx, ax
lea dx, viv
mov ah, 9
int 21H
mov ax, cx
call vivod
mov ah, 4CH
int 21H
end start


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.06.2012 в 10:41.
muza15 вне форума Ответить с цитированием
Старый 19.06.2012, 11:32   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

например - увеличить переменные с одного байта до двух (и, соответственно, под них переделать всю программу)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод с клавиатуры два целых числа без знака и вывод на экран их сумму. gelya_17 Помощь студентам 5 18.10.2010 10:31
Вывод на экран tools Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 01.12.2009 22:26
вывод на экран наибольшего делителя натурального числа N, меньше заданного натурального M Fatality Помощь студентам 2 03.12.2008 23:27