вспомогательные флаги для переноски и переноски в 8085 г. - PullRequest
0 голосов
/ 07 мая 2018

Говорят, что вычитание выполняется в 2-х дополнениях в 8085 году, и поэтому флаги должны быть установлены в соответствии с операцией. Тем не менее, на рисунке показано, что я не могу выяснить причину, по которой вспомогательный флаг переноса установлен в «0», и то же самое касается флага переноса. Когда я выполнил операцию дополнения 2, я обнаружил, что перенос = 1 (что не учитывается в дополнении 2), и я также обнаружил, что перенос 1 сдвигается от нижнего куска к верхнему, и поэтому я думал, что вспомогательный перенос равен 1. Но я нашел только противоположное для них обоих. enter image description here

Точно так же во втором случае, показанном ниже, вручную я установил, что перенос был равен нулю, тогда как флаг переноса был установлен в 1. enter image description here

1 Ответ

0 голосов
/ 12 июня 2018

В соответствии с 8085 руководством здесь на стр. 118, операция должна быть установлена. Похоже, что в GNUSim8085 есть ошибка. У GNUSim8085 было несколько ошибок, некоторые из которых они исправили в последней версии (включая ошибку с инструкцией DAA), но похоже, что есть еще больше ошибок, связанных с переносом. Проверьте здесь для списка ошибок, которые я нашел давно с v1.3.7

Я бы порекомендовал использовать gsim85 здесь https://gsim85.soft112.com/,, так как кажется, что здесь правильно реализована операция вспомогательного переноса. Это может быть немного сложным в использовании.

Кроме того, если вы не хотите иметь симулятор, но хотите интерфейс, подобный комплектам тренажеров 8085, взгляните на Dirty8085 , который я написал около 9 ~ 10 лет назад, и недавно исправили вспомогательный перенос обновить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...