Консультация № 189187
14.04.2016, 11:02
0.00 руб.
1 4 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
помогите написать программу для ассемблера
Прикрепленные файлы:
dc26922fc3087246a92bdaa223ea46b48faaab2b.docx

Обсуждение

давно
Старший Модератор
31795
6196
14.04.2016, 11:24
общий
Адресаты:
Какой Ваш вариант?
а)


б)
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
7438
7205
14.04.2016, 11:25
общий
Адресаты:

Правильно?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
400200
1
14.04.2016, 11:27
общий
а)
давно
Старший Модератор
31795
6196
14.04.2016, 12:22
общий
это ответ
Здравствуйте, alexee.97!

Смотрите код:
[code lang=asm h=200]model small
.data
dbRes db 10,13,'Result:$'
a dw 14
b dw 48
c dw 26
d dw 3
e dw 44
f dw 6
g dw 37
.stack 100h
.code
start:
mov ax,@data
mov ds,ax;адресуем сегмент данных
mov ah,9
lea dx,dbRes
int 21h;выводим сообщение
;считаем знаменатель
mov di,b;48
mov ax,a;14
shr ax,1;14/2
sub di,ax;48-14/2
;считаем числитель
mov ax,di
mov si,c;26
sub si,d;3
shl si,1;(26-3)*2
mov ax,e;44
xor dx,dx
mul f;44*6
xchg si,ax
sub ax,si;(26-3)*2-44*6
cwd
;считаем дробь и формулу
idiv di;((26-3)*2-44*6)/(48-14/2)
imul a;14*((26-3)*2-44*6)/(48-14/2)
imul d;3*((26-3)*2-44*6)/(48-14/2)
mov bx,g;37
xchg ax,bx
sub ax,bx;37-14*3*((26-3)*2-44*6)/(48-14/2)
;выводим результат
mov si,10;счисления
xor di,di;флаг минуса
xor cx,cx;счетчик цифр
test ax,8000h;проверяем минус
jz @@01
not ax;меняем знак
inc ax
inc di;взводим флаг
@@01: xor dx,dx
div si;поразядно получаем цифры
push dx;сохраняем их в стеке
inc cx;считаем кол-во
or ax,ax;пока не ноль
jnz @@01
or di,di;проверяем флаг
jz @@02
mov al,'-'
int 29h;выводим минус
@@02: pop ax;извлекаем из стека
add al,'0';преобразовываем в символ
int 29h;выводим
loop @@02
mov ah,4Ch;выход
int 21h
end start
[/code]
ps:вопросы задавайте в мини-форуме.
Удачи!
5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа