nedoPC.org

Community of electronics hobbyists established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 22 Jan 2022 23:20



Reply to topic  [ 89 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
РВЕ035 (aka КР1816ВЕ35 aka i8035) 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
inu wrote:
Lavr wrote:
Вот "в строчку, через пробелы" он (asm48) мне почему-то вываливает ошибку на эту строчку... :roll:
Мне и не понятно, в чем проблема-то... Может быть, у меня пробелы неправильные... :lol: [/quote="Lavr"]
Там-же написано:
Quote:
These directives are allowed:

.db VALUE, VALUE, ...

Не работает, что-ли?
Не работает почему-то, выдаёт ошибку на эту строчку... :(
Я поэтому и спросил именно у Tronix-а, он в своих исходниках вот так писал:
Code:
msg_table:
  .db #0c0h    ;O
  .db #0c7h    ;L
  .db #086h    ;E
  .db #089h    ;H

  .db #0a4h    ;4   #099h
  .db #0a4h    ;1   #0f9h
  .db #0c0h    ;0
  .db #0a4h    ;2

Я поначалу даже удивился было - почему в столбик... :roll:

P.S. Спасибо! Разрешил вопрос! У меня была устаревшая версия asm48... скачал заново! :lol:
Attachment:
асм48.PNG
асм48.PNG [ 18.56 KiB | Viewed 662 times ]

Обратил вдруг внимание я, что у меня в README нет строчки: .db VALUE, VALUE, ...

_________________
iLavr


26 Nov 2021 21:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Что-то в этот раз до глубины души убило, что 8048 не умеет делать MOV R1,R2... обязательно через А это делается...

И еще один момент в этих микроконтроллерах я с давних пор понять не могу:
а где реально находится пользовательский флаг F1 ?

Quote:
F0, F1 – пользовательские признаки, устанавливаемые программно с помощью команд установки признаков в “0” - СLR F0(F1) , и команд установки признаков в “1” - CPL F0(F1)

Флаг F0 находится в регистре PSW:
Quote:
- D5 – признак пользователя F0, устанавливаемый в лог. “0” командой CLR F0 или в состояние лог.”1” командой CPL F0;

А вот где находится пользовательский флаг F1, я нигде прочитать не смог... :-?
Если кто разобрался в этом моменте - подскажите!

_________________
iLavr


27 Nov 2021 09:59
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 479
Location: Украина
Reply with quote
предполагаю: там есть подозрительный неиспользуемый бит №3 в регистре статуса - может он? надо им щелкнуть и проверить: сохранить в стек и вынуть в аккумулятор, и проанализировать.
там ведь тоже 8049 не с нуля появилась, были какие-то 8021, где этого не было, вот оно могло и перекочевать :)

----
хотя может и где-то отдельно хранится, если бы в статусе хранился - восстанавливался бы из стека


Attachments:
Снимок экрана от 2021-11-27 19-22-33.png
Снимок экрана от 2021-11-27 19-22-33.png [ 32.02 KiB | Viewed 631 times ]
27 Nov 2021 11:21
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 479
Location: Украина
Reply with quote
тут английским по белому написано: "флаг F0 также доступен через слово состояния". значит можно преположить, что F1 недоступен (и хранится где-то в неведомых кишках)


Attachments:
Снимок экрана от 2021-11-27 19-27-58.png
Снимок экрана от 2021-11-27 19-27-58.png [ 116.2 KiB | Viewed 631 times ]
27 Nov 2021 11:36
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
предполагаю: там есть подозрительный неиспользуемый бит №3 в регистре статуса - может он?

Вот ты знаешь, я тоже всегда думал про регистр статуса! :roll: Но!!!
Quote:
- D3 – не используется;

Хотя:
Quote:
- D5 – признак пользователя F0, устанавливаемый в лог. “0” командой CLR F0 или в состояние лог.”1” командой CPL F0;

Причем в описании всегда утверждают, что флаги пользователя F0 и F1 ХРАНЯТСЯ В ЗАЩЕЛКАХ!
Но даже флаг Z не хранится в защелке! Где же тогда хранится флаг пользователя F1 ? :o

P.S. Конструктивная мысль у меня следующая: в микропроцессоре 6502, как пишут, регистра флагов
как такового нет. Он рассыпан побитно на кристалле в виде D-триггеров. Может быть, и в mcs48 флаг F1 -
просто отдельный D-триггер?

_________________
iLavr


27 Nov 2021 13:08
Profile
Junior

Joined: 09 Apr 2021 02:03
Posts: 7
Reply with quote
Посмотрел я этот Proteus. Все отменяется. У демки, которую они свободно отдают, одно из ограничений - You cannot simulate your own microcontroller designs. А в архивах, которые здесь выложены, какие-то опкоды определяются. Это самый настоящий кустовой микроконтроллер. Неудивительно, ведь там на эту тему нет ничего, древнее 80c51. Не пойдет.

Кстати, о защелках в предыдущем сообщиении. Думаю, можно считать, что F1 хранится в special flip-flop. Аналогично RB и MB.


28 Nov 2021 12:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
inu wrote:
...можно считать, что F1 хранится в special flip-flop. Аналогично RB и MB.

Странно просто, что этот вопрос во всех описаниях обошли молчанием...
Причем на фоне F0 вопрос возникает чисто автоматически! :roll:
Я просто думал, что может быть я что-то пропустил, а кто-то, возможно, разобрался внимательнее.

_________________
iLavr


28 Nov 2021 13:06
Profile
Writer

Joined: 11 Nov 2015 10:34
Posts: 21
Reply with quote
Lavr wrote:
А у модели 8048, даже когда она перебирает чисто цифровые индикаторы, загрузка процессора достигает 97% !

Попробуйте в свойствах модели поставить {NOALE=1}, должно поменьше жрать cpu.


28 Nov 2021 13:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Pavtik wrote:
Lavr wrote:
А у модели 8048, даже когда она перебирает чисто цифровые индикаторы, загрузка процессора достигает 97% !
Попробуйте в свойствах модели поставить {NOALE=1}, должно поменьше жрать cpu.

Я внимательно читал Вашу инструкцию к модели и выставлять свойство {NOALE=1} тоже пробовал.
Заметного снижения загрузки процессора не отметил. 97% - это пиковое значение, так-то загрузка
крутится между 89% и 92%, что для "реального времени" многовато всё же...

Резко положительно влияет снижение тактовой частоты модели микроконтроллера.
В последнем проекте я выставил = 30000000 и звук идет чистенько и без помех.
Хотя - можете и сами попробовать, проект я же выложил здесь: MUZ48.zip

_________________
iLavr


28 Nov 2021 16:46
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
inu wrote:
Посмотрел я этот Proteus. Все отменяется. У демки, которую они свободно отдают, одно из ограничений - You cannot simulate your own microcontroller designs.

На всякий случай рассказываю один трюк, которым я пользовался сам, когда ещё только
начинал "распробовать" этот Proteus. :wink:

Я не знаю, работает ли этот трюк сейчас, но во времена Windows 98 он работал...

Я делал в демо-Proteus-е какую-либо симуляцию, и она нормально работала.
Чтобы сохранить её, я выделял всю схему и копировал её в буфер обмена.
Это нормальный буфер обмена Windows, его можно просмотреть средствами Windows, но его
содержимое можно и сохранить как файл буфера обмена (расширение уже не помню сейчас).
Думаю, это что-то типа бинарника - полной копии содержимого буфера обмена.

А когда надо - буфер обмена может открыть свой файл, и можно вставить содержимое
на рабочую поверхность пустого проекта Proteus.
Да, метод муторный, но он вполне работал! :kruto:

Помню, мне очень жалко было вот этого мужика - Gianluca G. :wink:
Такие крупные схемы моделировал, а сохранять не мог... :(

_________________
iLavr


29 Nov 2021 11:29
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 479
Location: Украина
Reply with quote
shoorick wrote:
тут английским по белому написано: "флаг F0 также доступен через слово состояния". значит можно преположить, что F1 недоступен (и хранится где-то в неведомых кишках)

извиняюсь за повторение, но для себя я этот вопрос закрыл: F1 хранится где-то вне регистра статуса. где именно - не так важно, в каком-то триггере.


30 Nov 2021 14:26
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
F1 хранится где-то вне регистра статуса. где именно - не так важно, в каком-то триггере.

Да это понятно... просто смущает, что в описании этот момент как-то вскользь опущен... :-?
А вопрос возникает сам по себе, когда читаешь, что F0 сохраняется как бит регистра статуса.
Сразу приходит мысль: а где же тогда F1 ? :roll: И почему один бит статуса не использован? :o

_________________
iLavr


30 Nov 2021 15:35
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 479
Location: Украина
Reply with quote
могли даже ошибиться, а потом заявить, что это фича, и не исправлять ;)


01 Dec 2021 00:24
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
могли даже ошибиться, а потом заявить, что это фича, и не исправлять ;)

Не... я думаю, так сделано специально. F0 восстанавливается из стека, при возврате из подпрограммы,
а F1 вернёт значение, которое вдруг выставили в самой этой подпрограмме.
Иначе бы из подпрограммы не вернуть ни одно значение Fх, если бы они оба восстанавливались из стека.

_________________
iLavr


01 Dec 2021 10:26
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 89 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.