плин ...........я осознал что я сделал полную херню !!!! у полодительных чисел же дополнительный код такойже как и само число =((( дополнительный код только же у отрицательных чисел ...плин =((( хотя......... есть идейка использовать формулу 128+N где N отрицательное число хм............пойду попробую сделать
Скачал описание на S51-ю и вот что вычитал: если при программировании прошивается lock bit 1, то этот вывод автоматически при сбросе внутри микрухи сажается на GND..
Может тут собака порылась.. ты биты защиты прошивал при записи проги?
начнем с того, что в программных кодах "свинтус" - не играйтесь с вывдом сброса - пусть стоит "по умолчанию" и где это в 51х команда JMP nnnn ?! либо длинный либо короткий (как это еще компилятор пропустил???) подсоединение выводов ИС к питанию напрямую только к GND применима - на + требуется хотя-бы через 4,7кОма цепляться завал фронтов - читайте и соблюдайте инструкцию по работе с осциллографом!
Ты-же и программу написал для массива однобайтных чисел, а сейчас почему-то решил читать не байт, а слово..
тоесть мне шас нужно еще проверку сделать на отрицательное число ...если отрицательное то преоьразовывать в доп код а если положительное то записать как есть ...в верном направлении я иду ?
МитяРа вставил в другую плату его (давно преподаватель собирал)...порт 0 успокоился...псена нет...но программу ни в какую не выполняет.. до этого в плате находился AT89C51.. выполнял прогу ( преподаватель не помнит уже что в нем)...но факт в том что по кнопке он умеет включать выклюючать светодиоды на плате.. слили тритоном с AT89C51 программу эту...залили на AT89S51 он ее не выполняет совсем..
и где это в 51х команда JMP nnnn ?! либо длинный либо короткий (как это еще компилятор пропустил???)
Не нашел к какому месту это замечание, но нормальный ассемблер (компилятор) сам заменяет {jmp "метка"} на наиболее подходящую к конкретному случаю команду ljmp, ajmp или sjmp.
МитяРа писал(а):
Стоит, но первый-то байт обрабатывается с произвольным СY..
В приведенной HDredA программе CY абсолютно до лампочки, т.к. нигде не используется, также не надо нулить А. Я бы написал примерно так:
Код:
org 0 jmp start
start: mov r0, #30h ; начало массива 1 mov r1, #28h ; начало массива 2 mov r3, #8 ; счетчик байт one: mov a, @r0 ; записать 1 значение в acc jnb acc.7, plus ; проверяем старший бит аккумулятора cpl a ; инверсия acc inc a ; +1 plus: mov @r1, a ; запись в массив 2 inc r0 inc r1 djnz r3, one ; цикл
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения