Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,313
Завершенные тесты: 1
1

Выполнить сложение двух 5-байтных чисел

06.04.2014, 01:54. Просмотров 1315. Ответов 6
Метки нет (Все метки)

Выполнить сложение двух 5-байтных чисел
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 01:54
Ответы с готовыми решениями:

Вычисление половины суммы двух 3-х байтных шестнадцатеричных чисел
помогите написать программу вычисления половины суммы двух 3-х байтных шестнадцатеричных чисел...

Сложение двух чисел
Доброго времени суток! Нашел программу, попытался запустить (через DosBox) Но программа выводит...

Сложение двух чисел
Написать программу на ассемблере сложения двух чисел и вывода результата на экран

Умножение 4-байтных чисел
Точнее, если в edx число-результат умножения x не помещается, то в eax записывается x-eax?

Сложение двух BCD чисел
Помогите с задачей, нужно чтобы вводилось двухзначное число, я сделал что вводится однозначное...

6
Mikl___
Автор FAQ
13381 / 6381 / 630
Регистрация: 11.11.2010
Сообщений: 11,543
06.04.2014, 04:02 2
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; masm dos com #
.286
.model tiny
.code
org 100h
start:  mov cx,5
    xor bx,bx
@0: mov al,a[bx]
    adc al,b[bx]
    mov result[bx],al
    inc bx
    loop @0
        adc result[bx],0
exit:   ret     ; завершаем программу
a db 89h,76h,45h,23h,0A1h;a=A123457689
b db 0FEh,0DCh,0BAh,98h,75h;b=7598BADCFEh
result db 6 dup(0);A123457689+7598BADCFE=116BC005387h
end start
1
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,313
Завершенные тесты: 1
06.04.2014, 13:17  [ТС] 3
Mikl___, спасибо за книгу
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; masm dos com #
.286
.model tiny
.code
org 100h
start:  mov cx,5
    xor bx,bx
@0: mov al,a[bx]
    adc al,b[bx]
    mov result[bx],al
    inc bx
    loop @0
        adc result[bx],0
exit:   ret     ; завершаем программу
a db 89h,76h,45h,23h,0A1h;a=A123457689
b db 0FEh,0DCh,0BAh,98h,75h;b=7598BADCFEh
result db 6 dup(0);A123457689+7598BADCFE=116BC005387h
end start
10 строчку можно пояснить
7 строка - зачем она?
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
06.04.2014, 14:05 4
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

7 строка - обнулить BX (XOR само на себя всегда даёт ноль) можно заменить на mov BX,0
10 строка - поместить содержимое AL по адресу строки result + смещение на текущий разряд числа (BX)
1
Mikl___
Автор FAQ
13381 / 6381 / 630
Регистрация: 11.11.2010
Сообщений: 11,543
07.04.2014, 03:36 5
Цитата Сообщение от Полный 30h Посмотреть сообщение
7 строка - обнулить BX (XOR само на себя всегда даёт ноль) можно заменить на mov BX,0
Не только, XOR гарантированно сбрасывает флаг переноса перед началом вычисления в ноль
2
newyork7776
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,313
Завершенные тесты: 1
10.04.2014, 01:20  [ТС] 6
Выполнить вычитание двух 5-байтных чисел
adc + перенос
sbc - перенос

Вопрос 1 : если заменить adc -> sbc то программа работать не будет я правильно понимаю?
Вопрос 2 : что нужно сменить?
P.S. разбор кода + понимание работы
0
Mikl___
Автор FAQ
13381 / 6381 / 630
Регистрация: 11.11.2010
Сообщений: 11,543
10.04.2014, 04:15 7
newyork7776,
а в чем заключается
Цитата Сообщение от newyork7776 Посмотреть сообщение
разбор кода + понимание работы
если программу за тебя пишу я и я же должен отвечать сам себе на вопросы? Замени adc на sbb и проверь результат на калькуляторе, за одно поймешь, ЧТО нужно изменить в программе чтобы "Выполнить вычитание двух 5-байтных чисел"
0
10.04.2014, 04:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 04:15

Неправильное сложение двух чисел
В Emu8086 пишу код: DATAX DW 0148H DATAY DW 0237H MOV AX, DATAX ADD AX, DATAY И в результате в...

Сложение двух целых чисел
Нужно написать программу для сложение двух целых положительных n-батных чисел, c запросом ввода и...

Сложение двух BCD чисел
При проверке программы (через Тасм в проге фар, выдаёт ошибку в выводе результат на экран), а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru