![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 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 ; |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 70
|
![]()
ошибка скорее где-то в этом районе
JNZ 0115h ; Переход по адресу 0115h, если результат предыдущего действия не 0 JMP 0126h ; Безусловный переход по адресу 0126h (выход из цикла) т.к. может получится 0 и программа выйдет из цикла |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 70
|
![]()
Да...что же так? Никто что ли не разбирается в ассемблере?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
задача приведена не полностью
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сложение больших чисел | 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 |