nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Apr 2024 20:28



Reply to topic  [ 111 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8  Next
1816ВЕ48 
Author Message
Devil

Joined: 06 Oct 2006 03:17
Posts: 857
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Пробовал так - не прокатило.


Attachments:
errors.jpg
errors.jpg [ 88.53 KiB | Viewed 4014 times ]
07 Mar 2023 21:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Пробовал так - не прокатило.

Тогда ни чем, к сожалению, помочь не могу. :( Я не пользовался ПО для ВЕ48 под "Специалистом_МХ".

_________________
iLavr


08 Mar 2023 06:17
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 857
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Тут Mondx посоветовал написать в десятичном виде: DB 128 (правильнее так - DB 128d) тоже не работает. Дазассемблирование я делать не буду.
Всем спасибо.


08 Mar 2023 06:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
...написать в десятичном виде: DB 128 (правильнее так - DB 128d) тоже не работает.

Так может быть компилятору именно DB не нравится? :roll:
Может быть у него вместо привычного DB другой псевдооператор?

Поскольку у "Специалиста" программки маленькие, ты бы вывел этот компилятор на экран в текстовом
виде и посмотрел бы - есть ли там DB ?

Я встречал и другие варианты вместо этого слова.

Или скинь сам компилятор сюда - я гляну. У меня просто нет его.

А ещё попробуй вместо "H" - "h" был такой "косяк" помнится в обычном ассемблере для 580.

_________________
iLavr


08 Mar 2023 06:49
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 857
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Всё же дело обстоит ещё хуже. Мало то, что перед написанием числового значения и названия метки нужно писать наклонную черту:
Code:
ORG /0000H
MOV A/80H
JMP /LOOP
ADD A/PATT-01H

нужно ещё эту наклонную черту писать (см. последнюю мнемонику) вместо сочетания ,# (мнемоника add a,#число).
Тогда определение числовых значений должно быть именно такое, на каждое число своя DB:
Code:
PATT:    DB /06H
         DB /5BH
         DB /4FH
         DB /66H
         DB /6DH
         DB /7DH
         DB /07H
         DB /7FH
         DB /6FH

Вот такой идиотский ретранслятор мнемоники 8048 Asm_1816.COM в Специалисте МХ. Автор прошивок для процессора 8051 для своих кассетных магнитофонов (http://leoniv.diod.club/projects/audio/tk-140/tk-140.html) признался что текст писал в Специалисте (наверное всё же в Специалисте МХ) с переделанной программой ассемблера. У него более красиво и по учебнику:
Code:
   MOV R1,#0ECH
   ADD A,#4EH
   JC NORC5
        .DB 016H,00CH,019H,002H,000H,000H,000H,000H
W8582     .EQU 0A0H

Он правда добавил точку перед EQU и DB, но зато в строке DB можно писать много чисел.
Попрошу у него этот ассемблер, хотя прошло столько лет, потерял наверное.


08 Mar 2023 07:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Всё же дело обстоит ещё хуже. Мало то, что перед написанием числового значения и названия метки нужно писать наклонную черту:
Code:
ORG /0000H
MOV A/80H
JMP /LOOP
ADD A/PATT-01H

нужно ещё эту наклонную черту писать (см. последнюю мнемонику) вместо сочетания ,# (мнемоника add a,#число).

Ахаха! Афигеть - никогда не угадаешь, если не знаешь! :lol:
А я только достал с флешки старые *.odi для "Специалиста", вынул этот ASM1816.EXE, написал для пробы:
Code:
     ORG  0000H
     DB    'A'
     DB    17H
     DB    FFH
     END

Компилирую, а ему - ORG 0000H не нравится! :roll:

Ну да ладно, раз уж выяснили, то: "Всем - спасибо, все - свободны!", как Tronix говорит... :ebiggrin:

_________________
iLavr


08 Mar 2023 07:58
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Афигеть - никогда не угадаешь, если не знаешь! :lol:
Но в итоге - угадали бы, я правильно сразу предположил:
Lavr wrote:
...ты бы вывел этот компилятор на экран в текстовом виде и посмотрел бы - есть ли там DB ?

В текстовом виде DB / в коде вполне видно:
Attachment:
DB.PNG
DB.PNG [ 20.97 KiB | Viewed 3918 times ]

Халтурно немного сделан этот ассемблер для 1816ВЕ48. :(
Оригинальный ассемблер для К580ВМ80 в пакете RAMFOS очень интересно и компактно написан! :kruto:

Но если кто хочет поиграться в этот ассемблер для 1816ВЕ48, то ниже в архиве он с хелпом, под emu от b2m.
Attachment:
ASMBE48.zip [21.84 KiB]
Downloaded 83 times

А то я полез было взять его с сайта fifan-a и не нашел там, пришлось флешки ворошить... :-?

_________________
iLavr


08 Mar 2023 15:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
У него более красиво и по учебнику:
Code:
   MOV R1,#0ECH
   ADD A,#4EH
   JC NORC5
        .DB 016H,00CH,019H,002H,000H,000H,000H,000H
W8582     .EQU 0A0H

Он правда добавил точку перед EQU и DB, но зато в строке DB можно писать много чисел.
Попрошу у него этот ассемблер, хотя прошло столько лет, потерял наверное.

Попробуй мой ASM48, на котором я здесь игру писал. Мне кажется, синтаксис совпадает.
И у меня он хорошо работал и сам по себе и в связке с Proteus, если положить его в папку Tools.
Attachment:
ASM48.zip [67.32 KiB]
Downloaded 81 times

_________________
iLavr


08 Mar 2023 15:46
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 857
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Спасибо, попробую.

Что за расширение emu? С эмулятором emu я знаком, если это для него, то как ему файл ASMBE48.emu скормить?


09 Mar 2023 00:07
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 857
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Кстати обещанный ассемблер под 8048/8051. Но непонятное назначение программ и их запуск. Только редактор работает.


Attachments:
Spec_soft.rar [9.65 KiB]
Downloaded 71 times
09 Mar 2023 01:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Что за расширение emu? С эмулятором emu я знаком, если это для него, то как ему файл ASMBE48.emu скормить?

Просто нажать кнопочку File и загрузить файл *.emu. А говоришь, что с эмулятором emu знаком. :wink:
Файл *.emu - это сохранено текущее состояние эмулятора от b2m всё целиком.

_________________
iLavr


09 Mar 2023 05:50
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
А где можно скачать этот Asm_1816?

Нашёл только руководство пользователя:

 RP_1816a.TXT
Code:
РУКОВОДСТВО  ПОЛЬЗОВАТЕЛЯ

              Программа ассемблера Asm_1816

                для микроэвм серии КР1816
--------------------------------------------------------------
            Ассемблер - Asm_1816  V1.0
--------------------------------------------------------------
 Данный ассемблер предназначен для преобразования (трансляции)
исходных текстов в объектные модули для микроэвм серии КР1816.
 После запуска программа сразу запрашивает текстовый  файл,  о
чем  сообщает  в  верхней  служебной  строке.  После  загрузки
текстового файла в верхней служебной строке  отображается  имя
программы и имя ассемблируемого файла, а на  нижней  служебной
строке выводится список основных директив:
  F1-COD  F2-LIN  F3-EXE
F3 - полный акт  трансляция  с  кратким  протоколом;  конечный
    рабочий   адрес   программы/конечный   адрес   размещения
    программы в буфере (0000-0FFFh)/число обнаруженых ошибок.
    Используется  при  одноактном  режиме  трансляции.
F2 - акт создания файла связей; используется  при  многоактном
    режиме трансляции; при запуске программа  сразу  запраши-
    вает файл связей (тип файла "LIN"). Его находят  курсором
    и подключают клавишей <ВК>. Если  создается  первый  файл
    связей, то в  ответ  на  запрос  следует  нажать  клавишу
    . При трансляции на экран выводятся, кроме  краткого
    протокола, строки всех внешних меток. При этом  в  начале
    этих строк  выводятся  уже  согласованные  значения  этих
    меток. По  завершении  файл  связей  сохраняют  на  диске
    взамен  предыдущего.
F1 - акт создания объектных модулей; используется  при  много-
    актном режиме трансляции;  при  запуске  программа  сразу
    запрашивает файл связей. Его находят курсором  и  подклю-
    чают  клавишей  <ВК>.

 В процессе трансляции выводятся  так  же  строки,  в  которых
обнаружены  ошибки.  При  этом  место  где  обнаружена  ошибка
выделяется в текстовой строке инверсным  цветом,  а  в  начале
выделенного фрагмента вставляется символ  "вопроса".  Одновре-
менно символ вопроса вставляется в  текст.  И  при  выходе  из
ассемблера в редактор эти символы вопроса можно легко и быстро
найти  директивой  поиска.

 Полный протокол  трансляции  можно  получить,  нажав  клавишу
<НР>,  до  запуска  директивы  трансляции.  Управлять  выводом
полного протокола можно на любом  этапе  трансляции,  отпуская
или  нажимая  клавишу  <НР>.
  Данный  ассемблер   предусматривает   два   режима   работы:
ОДНОАКТНЫЙ - когда формируется программа объемом до  4К.  Этот
режим  реализуется  директивой  F3.
МНОГОАКТНЫЙ - когда программа  объемом  свыше  4К  формируется
согласованно по частям. Порядок такой: в начале все  текстовые
файлы-модули транслируются директивой  F2  формируя  при  этом
файл  связей.  Затем  все  тексовые  файлы-модули  транслируют
директивой F1 с подключением файла связей. Получаемые  объект-
ные модули кодов (тип EXE) сохраняют на диске.  По  завершении
полученные файлы EXE объединяют в общую  программу,  если  это
необходимо.

 Метки могут состоять из русских (КОИ7) и латинских  заглавных
и прописных символов или цифр, начинаясь с  буквы.  Транслятор
допускает метки длиной до  6  символов.  Наиболее  оптимальной
рекомендуется длина 3 символа. Комментарии отделяются символом
[;].
 В тексте  можно  использовать  следующие  операторы  (псевдо-
команды):
ORG - задает своим операндом начальный рабочий адрес программы.
EQU - присваивает метке значение, заданное числом  или  меткой
другого  числа.
DB  - занесение в память байтов  или  символов,  выделяемых  с
обеих  сторон  символом  ['].
END - указывает  на  конец  программы,  прерывает  трансляцию.
 В  качестве  операндов  могут  быть  использованы  константы,
арифметические выражения, содержащие  знаки  [+],  [-],  имена
меток и регистров микропроцессора, десятичные  и  шестнадцате-
ричные числа. Десятичные числа, кроме команд RST, обозначаются
в конце символом [d], а шестнадцатеричные символом [h] или [H].

--------------------------------------------------------------
           Система команд микроэвм серии КР1816
--------------------------------------------------------------
 В системе команд описанной ниже применена символика  принятая
для данной серии микроэвм. Однако, обращаем ваше  внимание  на
особенности выделения операндов в мнемонике команд. В  литера-
туре для этой цели использовался символ "#". К сожалению  этот
вариант оказался не самым  практичным,  так  как  очень  часто
возникало неудобное сочетание символов "," и  "#".  Это  изли-
шество вызывало немало удобств при написании текста программы.
 Поэтому нами было принят следующий способ выделения операндов.
Символ "," означает, что после него указана мнемоника регистра
микроэвм. Символ "/" означает, что после него  указан  операнд
либо меткой, либо числом. Причем, эти символы вместе нигде  не
сочетаются. Напоминаем также, что десятичные  и   шестнадцате-
ричные числа различаются только символам "d",  "h",  "H"  при-
водимыми сразу после  числа,  например,  FFh,  EEH  или  125d.
 Ниже в коментариях приняты следующие сокращения:
ПД - память данных; ПП - память программ; РОН - регистр общего
назначения; А - аккумулятор.
 В заголовке таблицы после кода команд  указано  число  циклов
выполнения команды и число байтов команды.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
Команды преобразования данных
   ADD  A,@R0   60 1 1; сложение байта ячейки ПД
   ADD  A,@R1   61 1 1; с байтом А
   ADD  A,R0    68 1 1; сложение байта РОН и байта А
   ADD  A,R1    69 1 1
   ADD  A,R2    6A 1 1
   ADD  A,R3    6B 1 1
   ADD  A,R4    6C 1 1
   ADD  A,R5    6D 1 1
   ADD  A,R6    6E 1 1
   ADD  A,R7    6F 1 1
   ADD  A/dd    03 2 2; сложение байта данных с байтом А
   ADDC A,@R0   70 1 1; сложение бита переноса, байта
   ADDC A,@R1   71 1 1; ячейки ПД с байтом А
   ADDC A,R0    78 1 1; сложение бита переноса,
   ADDC A,R1    79 1 1; байта РОН с байтом А
   ADDC A,R2    7A 1 1
   ADDC A,R3    7B 1 1
   ADDC A,R4    7C 1 1
   ADDC A,R5    7D 1 1
   ADDC A,R6    7E 1 1
   ADDC A,R7    7F 1 1
   ADDC A/dd    13 2 2; слож.переноса, байта дан. с байтом А

   ANL  A,@R0   50 1 1; логическое И байта А
   ANL  A,@R1   51 1 1; с байтом ячейки ПД
   ANL  A,R0    58 1 1; логическое И байта А
   ANL  A,R1    59 1 1; с байтом РОН
   ANL  A,R2    5A 1 1
   ANL  A,R3    5B 1 1
   ANL  A,R4    5C 1 1
   ANL  A,R5    5D 1 1
   ANL  A,R6    5E 1 1
   ANL  A,R7    5F 1 1
   ANL  A/dd    53 2 2; логическое И байта А и байта данных
   ANL  BUS/dd  98 2 2; логическое И байта данных и байта Р0
   ANL  P1/dd   99 2 2; лог. И байта данных и байта порта Р1
   ANL  P2/dd   9A 2 2; лог. И байта данных и байта порта Р2
   ANLD P4,A    9C 2 1; лог. И содержимого порта с маской
   ANLD P5,A    9D 2 1; содержащейся в А(разряды 0-3)
   ANLD P6,A    9E 2 1; результат записыв. в порт, А - не
   ANLD P7,A    9F 2 1; меняется

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
   CALL /aa     X4 2 2; вызов подпрограммы
Команды манипуляции с флажками
   CLR  A       27 1 1; обнуление байта А
   CLR  C       97 1 1; сброс переноса
   CLR  F0      85 1 1; установка бита F0 в 0
   CLR  F1      A5 1 1; установка бита F1 в 0
   CPL  A       37 1 1; инвертирование байта А
   CPL  C       A7 1 1; инвертирование бита переноса
   CPL  F0      95 1 1; инвертирование бита F0
   CPL  F1      B5 1 1; инвертирование бита F1

   DA   A       57 1 1; десятичная коррекция
   DEC  A       07 1 1; декремент байта А
   DEC  R0      C8 1 1; декремент байта РОН
   DEC  R1      C9 1 1
   DEC  R2      CA 1 1
   DEC  R3      CB 1 1
   DEC  R4      CC 1 1
   DEC  R5      CD 1 1
   DEC  R6      CE 1 1
   DEC  R7      CF 1 1
   DIS  I       15 1 1; запрещение внешних прерываний на INT
   DIS  TCNTI   35 1 1; запрещение прер.по перепол.тайм/сч.
   DJNZ R0/aa   E8 2 2; переход, если R0-1>0
   DJNZ R1/aa   E9 2 2; переход, если R1-1>0
   DJNZ R2/aa   EA 2 2; переход, если R2-1>0
   DJNZ R3/aa   EB 2 2; переход, если R3-1>0
   DJNZ R4/aa   EC 2 2; переход, если R4-1>0
   DJNZ R5/aa   ED 2 2; переход, если R5-1>0
   DJNZ R6/aa   EE 2 2; переход, если R6-1>0
   DJNZ R7/aa   EF 2 2; переход, если R7-1>0

   EN   I       05 1 1; разрешение внешних прерываний на INT
   EN   TCNTI   25 1 1; разрешение прер.по перепол.тайм/сч.
   ENTO CLK     75 1 1; разреш.вывода имп.синхрон. на T0

   IN   A,P1    09 2 1; ввод байта из порта Р1 в А
   IN   A,P2    0A 2 1; ввод байта из порта Р2 в А
   INC  @,R0    10 1 1; инкремент байта ячейки ПД0
   INC  @,R1    11 1 1; инкремент байта ячейки ПД1
   INC  A       17 1 1; инкремент байта А
   INC  R0      18 1 1; инкремент байта РОН
   INC  R1      19 1 1
   INC  R2      1A 1 1
   INC  R3      1B 1 1
   INC  R4      1C 1 1
   INC  R5      1D 1 1
   INC  R6      1E 1 1
   INC  R7      1F 1 1
   INS  A,BUS   08 2 1; ввод(строб) байта из порта Р0 в А

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
Команды передачи управления
   JB0  /aa     12 2 2; переход, если А=0
   JB1  /aa     32 2 2; переход, если А=1
   JB2  /aa     52 2 2; переход, если А=2
   JB3  /aa     72 2 2; переход, если А=3
   JB4  /aa     92 2 2; переход, если А=4
   JB5  /aa     B2 2 2; переход, если А=5
   JB6  /aa     D2 2 2; переход, если А=6
   JB7  /aa     F2 2 2; переход, если А=7
   JC   /aa     F6 2 2; переход, если перенос
   JF0  /aa     B6 2 2; переход, если F0=0?
   JF1  /aa     76 2 2; переход, если F1=0?
   JMP  /aa     X4 2 2; безусловный переход
   JMPP @,A     B3 2 1; безусловный переход по адресу А
   JNC  /aa     E6 2 2; переход, если неперенос
   JNI  /aa     86 2 2; переход, если INT=0
   JNZ  /aa     96 2 2; переход, если байт А не равен нулю
   JNT0 /aa     26 2 2; переход, если Т0=0
   JNT1 /aa     46 2 2; переход, если Т1=0
   JZ   /aa     C6 2 2; переход, если байт А равен нулю
   JT0  /aa     36 2 2; переход, если Т0=1
   JT1  /aa     56 2 2; переход, если Т1=1
   JTF  /aa     16 2 2; переход, если ТF=1

Команды пересылки данных
   MOV  @R0,A   A0 1 1; передача байта А в ПД
   MOV  @R1,A   A1 1 1; косвенно адресуемую байтом РОН
   MOV  @R0/dd  B0 2 2; непосредственная передача в ПД
   MOV  @R1/dd  B1 2 2; косвенно адресуемую байтом РОН

   MOV  A,@R0   F0 1 1; передача косвенно адресуемого
   MOV  A,@R1   F1 1 1; байта ПД в аккумулятор
   MOV  A,PSW   C7 1 1; передача регистра состояний в А
   MOV  A,R0    F8 1 1; передача байта
   MOV  A,R1    F9 1 1; регистра общего назначения
   MOV  A,R2    FA 1 1; РОН в аккумулятор
   MOV  A,R3    FB 1 1
   MOV  A,R4    FC 1 1
   MOV  A,R5    FD 1 1
   MOV  A,R6    FE 1 1
   MOV  A,R7    FF 1 1
   MOV  A,T     42 1 1; передача байта таймера/счетчика в А
   MOV  A/dd    23 2 2; непосред. передача в А

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
   MOV  PSW,A   D7 1 1; передача А в регистр состояний
   MOV  R0,A    A8 1 1; передача байта
   MOV  R1,A    A9 1 1; аккумулятора в РОН
   MOV  R2,A    AA 1 1
   MOV  R3,A    AB 1 1
   MOV  R4,A    AC 1 1
   MOV  R5,A    AD 1 1
   MOV  R6,A    AE 1 1
   MOV  R7,A    AF 1 1
   MOV  R0/dd   B8 2 2; непосредственная передача
   MOV  R1/dd   B9 2 2; данных в РОН
   MOV  R2/dd   BA 2 2
   MOV  R3/dd   BB 2 2
   MOV  R4/dd   BC 2 2
   MOV  R5/dd   BD 2 2
   MOV  R6/dd   BE 2 2
   MOV  R7/dd   BF 2 2
   MOV  T,A     62 1 1; загрузка таймера/счетчика из А

   MOVD A,P4    0C 2 1; ввод байта из порта 4 в А
   MOVD A,P5    0D 2 1; ввод байта из порта 5 в А
   MOVD A,P6    0E 2 1; ввод байта из порта 6 в А
   MOVD A,P7    0F 2 1; ввод байта из порта 7 в А
   MOVD P4,A    3C 2 1; вывод байта А в порт 4
   MOVD P5,A    3D 2 1; вывод байта А в порт 5
   MOVD P6,A    3E 2 1; вывод байта А в порт 6
   MOVD P7,A    3F 2 1; вывод байта А в порт 7

   MOVN A,@A    E3 2 1; передача байта из ПП 3-стр. в А
   MOVP A,@A    A3 2 1; передача байта из ПП тек.стр. в А
   MOVX @R0,A   90 2 1; передача байта А
   MOVX @R1,A   91 2 1; в косвенно адр. внешнюю ПД
   MOVX A,@R0   80 2 1; передача косвенно адресуемого
   MOVX A,@R1   81 2 1; байта внешней ПД в А.

   NOP          00 1 1; нет операции
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
Команды работы с аккумулятором
   ORL  A,@R0   40 1 1; логическое ИЛИ байта А
   ORL  A,@R1   41 1 1; с байтом ячейки ПД
   ORL  A,R0    48 1 1; логическое ИЛИ байта А
   ORL  A,R1    49 1 1; с байтом РОН
   ORL  A,R2    4A 1 1
   ORL  A,R3    4B 1 1
   ORL  A,R4    4C 1 1
   ORL  A,R5    4D 1 1
   ORL  A,R6    4E 1 1
   ORL  A,R7    4F 1 1
   ORL  A/dd    43 2 2; логическое ИЛИ байта А и байта данных
   ORL  BUS/dd  88 2 2; логическое ИЛИ байта данных и байта Р0
   ORL  P1/dd   89 2 2; логическое ИЛИ байта данных и байта Р1
   ORL  P2/dd   8A 2 2; логическое ИЛИ байта данных и байта Р2
   ORLD P4,A    8C 2 1; лог. ИЛИ содержимого порта с маской
   ORLD P5,A    8D 2 1; содержащейся в А(разряды 0-3),
   ORLD P6,A    8E 2 1; результат записыватся в порт,
   ORLD P7,A    8F 2 1; А-не меняется

   OUTL BUS,A   02 2 1; вывод байта А в порт Р0 и фиксация
   OUTL P1,A    39 2 1; вывод байта А в порт Р1 и фиксация
   OUTL P2,A    3A 2 1; вывод байта А в порт Р2 и фиксация

   RET          83 2 1; возврат из ПП без восст.рег.состояний
   RETR         93 2 1; возврат из ПП с восст.рег.состояний
   RL   A       E7 1 1; циклический сдвиг влево без переноса
   RLC  A       F7 1 1; циклический сдвиг влево с переносом
   RR   A       77 1 1; циклический сдвиг вправо без переноса
   RRC  A       67 1 1; циклический сдвиг вправо с переносом

   SEL  MB0     E5 1 1; выбор нулевого банка ПП (0-2047h)
   SEL  MB1     F5 1 1; выбор первого банка ПП (2048-4095h)
   SEL  RB0     C5 1 1; выбор нулевого банка раб.рег.(0-7h)
   SEL  RB1     D5 1 1; выбор первого банка раб.рег.(18h-1Fh)
   STOP TCNT    65 1 1; останов таймера/счетчика событий
   STRT CNT     45 1 1; запуск счетчика событий
   STRT T       55 1 1; запуск таймера
   SWAP A       47 1 1; обмен полубайтами аккумулятора

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
мнемон./операнд/код/ц/б/  коментарий    KP1816BE48
______________________________________________________________
   XCH  A,@R0   20 1 1; обмен байта аккумулятора
   XCH  A,@R1   21 1 1; и ячейки ПД
   XCH  A,R0    28 1 1; обмен байта аккумулятора
   XCH  A,R1    29 1 1; и РОН
   XCH  A,R2    2A 1 1
   XCH  A,R3    2B 1 1
   XCH  A,R4    2C 1 1
   XCH  A,R5    2D 1 1
   XCH  A,R6    2E 1 1
   XCH  A,R7    2F 1 1
   XCHD A,@R0   30 1 1; обмен мл.полубайтов аккумулятора
   XCHD A,@R1   31 1 1; и ячейки ПД косв.адр.РОН
   XRL  A,@R0   D0 1 1; исключающее ИЛИ байта А
   XRL  A,@R1   D1 1 1; с байтом ячейки ПД
   XRL  A,R0    D8 1 1; исключающее ИЛИ байта А
   XRL  A,R1    D9 1 1; с байтом РОН
   XRL  A,R2    DA 1 1
   XRL  A,R3    DB 1 1
   XRL  A,R4    DC 1 1
   XRL  A,R5    DD 1 1
   XRL  A,R6    DE 1 1
   XRL  A,R7    DF 1 1
   XRL  A/dd    D3 2 2; исключающее ИЛИ байта А и байта данных

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


09 Mar 2023 12:23
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
А где можно скачать этот Asm_1816?

Так я же выложил его выше в виде файла под твой эмулятор: :roll:
http://www.nedopc.org/forum/download/file.php?id=12144

Там внутри выложенный тобой хелп и сам исполняемый файл...

_________________
iLavr


09 Mar 2023 12:32
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Мне вот интересно, а как народ файлы туда/сюда в эмуляторе Специалиста-МХ (применительно к RAMFOS) гоняет? И как это можно было бы упростить?

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


10 Mar 2023 01:04
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Мне вот интересно, а как народ файлы туда/сюда в эмуляторе Специалиста-МХ (применительно к RAMFOS) гоняет?
И как это можно было бы упростить?

Если "туда/сюда" подразумевает из файловой системы РС в файловую систему Специалиста-МХ
и наоборот, то и у тебя и у Шевцова есть загрузка и выгрузка по адресам.
Это не совсем удобно для всех, именно поэтому я выложил в формате *.emu.

У Шевцова был формат *.all, сохранить состояние эмулятора целиком вместе с содержимым дисков.
Я для себя очень давно написал утилиту, которая корректно дописывала необходимый файл в образ
RAMDISKa файла формата *.all, а также могла создать такой файл и записать нужное в RAMDISK.

Также fifan выкладывал утилиту от Афанасьева, которая работает с файлами - образами дискет *.odi.
Если я не ошибаюсь, ибо не пользовался таким способом, но вроде как нужный файл можно записать в *.odi.

_________________
iLavr


10 Mar 2023 06:10
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 111 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8  Next

Who is online

Users browsing this forum: No registered users and 12 guests


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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.