0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 17
|
||||||
1 | ||||||
Нахождение наибольшего однобайтового числа, расположенного в памяти, начиная с адреса 08FFН по 0905Н18.06.2015, 21:19. Показов 891. Ответов 3
Метки нет (Все метки)
Задача:
Написать программу нахождения наибольшего однобайтового числа, расположенного в памяти, начиная с адреса 08FFН по 0905Н.
03 02 01 05 84 13 25 соответственно нашим адресам. Результат является число 84, что в переводе в DEC = -124. Помогите!!! Где ошибка в коде?
0
|
18.06.2015, 21:19 | |
Ответы с готовыми решениями:
3
Записать дополнительный код содержимого 16 ячеек памяти, начиная с адреса 910. Результаты занести в ячейки памяти, н В оперативной памяти вектор int X[10] расположен, начиная с адреса B7F0 Функция должна вывести cnt битов, расположенных в памяти, начиная с адреса addr Нахождение динамического адреса в памяти |
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
18.06.2015, 21:44 | 2 |
Очевидно здесь. Когда mov a, m загружает число 84 команда cmp производит вычитание
84 - 05 = 7F и выставляет флаги по результату. Результат получается положительным и jm не срабатывает.
1
|
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 17
|
|
18.06.2015, 21:53 [ТС] | 3 |
Я для этого этот пример и привел. Как избежать данной проблемы?
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||||||||||||||||||||||||||
18.06.2015, 23:35 | 4 | ||||||||||||||||||||||||||||||
У процессора 8080 есть в слове состояния флаг переноса, но нет флага переполнения.
Следовательно, беззнаковые числа в нем сравнивать легко, а вот знаковые не такое просто дело. Добавлено через 1 минуту Смоделируем ситуацию на персоналке. Вот если запустить такую программу
Добавлено через 38 секунд Следовательно имеем эквивалент для сравнения знаковых без использования флага переполнения. Добавлено через 1 минуту У персоналки вот это
Добавлено через 4 минуты Т.е. логика к примеру такая. Если знаки сравниваемых чисел одинаковые, то сравнение должно быть
Плохо то, что я ассемблера 8080 почти не знаю. Хотя знаю ассемблеров разных процессоров ... Но вроде-бы так :
2
|
18.06.2015, 23:35 | |
18.06.2015, 23:35 | |
Помогаю со студенческими работами здесь
4
В оперативной памяти вектор int Х[10] расположен, начиная с адреса B7F0. Какие значения примут выражения Нахождение статического адреса в памяти процесса Нахождение адреса стороннего процесса в виртуальной памяти Нахождение наибольшего числа из F, B, C, D Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |