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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2011, 17:29   #1
Танчик007
 
Регистрация: 09.04.2011
Сообщений: 3
Восклицание вычитание неупакованных BCD-чисел

уважаемые господа программисты обращаюсь к вам, с ассемблером я пока общаюсь на ВЫ, но стараюсь с ним подружиться.. не подскажите мне вот такой случай... вот код моей программы но нужно учесть то, что вычитаемые числа могут быть отрицательными.. как это сделать?


masm
model small
stack 256
.data ;сегмуент данных
b db 4,0 ;неупакованное число 4
c db 9,1 ;неупакованное число 19
d db -1
subs db 2 dup (0)
.code
main:
mov ax,@data ;точка входа в программу
mov ds, ax ;связываем регистр dx с сегментом
xor ax,ax ;очищаем ax
len equ 2 ;разрядность чисел
xor bx,bx
mov cx,len ;загрузка в cx счетчика цикла
m1:
mov al,b[bx]
sbb al,c[bx]
aas
mov subs[bx],al
inc bx
loop m1
jc m2 ;анализ флага заема
jmp exit
m2:
xor bx,bx
mov cx,len
m3:
mov al,c[bx]
sbb al,b[bx]
aas
mul d
aam
mov subs[bx],al
inc bx
loop m3
exit:
mov ax,4c00h ;стандартный выход
int 21h
end main ;конец программы
Танчик007 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить вычитание чисел MapK Паскаль, Turbo Pascal, PascalABC.NET 0 06.12.2010 21:08
Деление целых чисел(dw) через вычитание Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 12.11.2010 14:50
Помогите сделать умножение неупакованых BCD чисел andresan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 11.11.2009 14:22
умножение неупокованных BCD чисел andresan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 09.11.2009 16:31
Вычитание чисел по основанию 4 и 16. Stager Общие вопросы C/C++ 1 21.01.2009 00:13