|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2011, 17:29 | #1 |
Регистрация: 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 ;конец программы |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выполнить вычитание чисел | 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 |