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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2010, 17:40   #1
kup9
 
Регистрация: 06.12.2009
Сообщений: 4
По умолчанию Вычисление для знаковых и без знаковых целых чисел в asm.

Задание: сделать 2 программы одна - для без знаковых, другая - знаковых.

С= A^3 / ( 2*B^2 + B)

Вот что у меня получилось

1.
Код:
program proba;
uses crt;
var a,b:byte;
    c:word;
Begin
     clrscr;
     writeln('please enter a,b<255');
     write('a=');
     read(a);
     write('b=');
     read(b);
     asm
     mov al,b
     mul b
     shl ax,1
     mov bl,b
     mov bh,0
     add ax,bx
     mov bl,a
     xchg ax,bx
     mul a
     mov cl,a
     mov ch,0
     mul cl
     div bx
     mov c,ax
     end;
     write('c=',c);
     readkey
end.
Это для без знаковых, вроде и работает, вроде при некоторых значениях не то выводит...

2.
Код:
program proba;
uses crt;
var a,b:shortint;
    c:integer;
Begin
     clrscr;
     writeln('please enter -128<a,b<128');
     write('a=');
     read(a);
     write('b=');
     read(b);
     asm
     mov al,b
     imul b
     shl ax,1
     mov bl,b
     cbw
     add ax,bx
     mov bl,a
     xchg ax,bx
     imul a
     mov cl,a
     cbw
     imul cl
     idiv bx
     mov c,ax
     end;
     write('c=',c);
     readkey
end.
Для знаковых, здесь я вобще запутался...и прошу помочь, что и где я накосячил...
kup9 вне форума Ответить с цитированием
Старый 05.06.2010, 23:41   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

Код:
     ;С= A^3 / ( 2*B^2 + B)
     
     mov al,b
     cbw
     mov bx,ax
     imul b
     sal ax,1
     add bx,ax
     mov al,a
     cbw
     mov dx,ax
     imul a
     imul dx
     idiv bx
     mov c,ax
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 06.06.2010, 18:21   #3
kup9
 
Регистрация: 06.12.2009
Сообщений: 4
По умолчанию

Спасибо) с помощью твоей, доделал первую) Благодарен )
kup9 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция для вывода на дисплей целых чисел. alex_8 Помощь студентам 3 24.05.2010 15:59
Распознование знаковых чисел Парсифаль Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 03.05.2009 02:26
Ассемблер - сумму элементов массива однобайтных знаковых чисел bum90 Помощь студентам 2 28.04.2009 19:13