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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 13:16   #1
s2dentishe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 70
По умолчанию сложение чисел

Добрый день! Писал в разделе "помощь студентам", но там никто так и не ответил. Может в этом разделе поможете. Есть такая задача: необходимо сложить два пятибайтовых числа. Написан код, но преподаватель сказал что в нем ошибка. Помогите найти её.
ORG 100h ;
MVI C,05h ; Загрузка значения 05h в регистр C
MVI E,15h ; Загрузка значения 15h в регистр E
MVI L,25h ; Загрузка значения 25h в регистр L
MVI A,15h ; Загрузка значения 15h в регистр A
STA 000Fh ; Пересылка в ячейку памяти 000Fh содержимого A
LDAX B ; Пересылка в A содержимого ячейки памяти, адрес которой в BC
MOV H,A ; Пересылка содержимого А в регистр H
LDAX D ; Пересылка в A содержимого ячейки памяти, адрес которой в DE
ADC H ; Сложение содержимого A с регистром H по признаку переноса
JNZ 0115h ; Переход по адресу 0115h, если результат предыдущего действия не 0
JMP 0126h ; Безусловный переход по адресу 0126h (выход из цикла)
MOV E,L ; Пересылка содержимого регистра L в регистр E
STAX D ; Пересылка в ячейку памяти, адрес которой в DE содержимого A
LDA 000Fh ; Пересылка в A содержимого ячейки памяти 000Fh
MOV E,A ; Пересылка содержимого регистра A в регистр E
DCR A ; Уменьшение на 1 значения аккумулятора
STA 000Fh ; Пересылка в ячейку памяти 000Fh содержимого A
DCX B ; Уменьшение на 1 значения BC
DCX D ; Уменьшение на 1 значения DE
DCR L ; Уменьшение на 1 значения регистра L
JMP 010Bh ; Безусловный переход по адресу 010Bh (следующая итерация)
END ;
s2dentishe вне форума Ответить с цитированием
Старый 13.06.2010, 14:04   #2
s2dentishe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 70
По умолчанию

ошибка скорее где-то в этом районе
JNZ 0115h ; Переход по адресу 0115h, если результат предыдущего действия не 0
JMP 0126h ; Безусловный переход по адресу 0126h (выход из цикла)
т.к. может получится 0 и программа выйдет из цикла
s2dentishe вне форума Ответить с цитированием
Старый 14.06.2010, 09:33   #3
s2dentishe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 70
По умолчанию

Да...что же так? Никто что ли не разбирается в ассемблере?
s2dentishe вне форума Ответить с цитированием
Старый 14.06.2010, 21:33   #4
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

задача приведена не полностью
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сложение больших чисел SacReD_89 Общие вопросы C/C++ 21 25.04.2010 16:42
С# Сложение больших чисел SL1CK Помощь студентам 4 23.11.2009 21:07
сложение 10 двоичных чисел sssvetlaya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 10.11.2009 09:32
сложение двух чисел pif Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 18 15.02.2009 12:51
сложение огромных чисел H_T_V Паскаль, Turbo Pascal, PascalABC.NET 6 18.12.2006 08:14