Арифметические и логические команды.
Команда | Описание | Результат |
LDI $XX | Загружает константу $XX в ACC. | ACC=$XX |
ADD $XX | Добавляет константу $XX к ACC. Флаг переноса игнорируется. | ACC=ACC + $XX |
SUB $XX | Вычитает константу $XX из ACC. Флаг переноса игнорируется. | ACC=ACC - $XX |
AND $XX | Операция AND между ACC и константой $XX. | ACC=ACC & $XX |
OR $XX | Операция OR между ACC и константой $XX. | ACC=ACC | $XX |
EOR $XX | Операция XOR между ACC и константой $XX. | ACC=ACC # $XX |
INC | Инкремент ACC. | ACC=ACC + 1 |
DEC | Декремент ACC. | ACC=ACC - 1 |
LSL | Сдвиг ACC влево. Флаг переноса игнорируется. | ACC=ACC << 1 |
LSR | Сдвиг ACC вправо. Флаг переноса игнорируется. | ACC=ACC >> 1 |
COM | Инверсия ACC. | ACC=!ACC |
SWAP | Перестановка тетрад в ACC. | ACC=swap ACC |
LDS @RR | Загружает ACC из ячейки @RR в блоке параметров. @RR=[$80..$FF]. Блок параметров в памяти программатора располагается с адреса $80. | ACC=@RR |
STS @RR | Записывает содержимое ACC в ячейку @RR блока параметров. | @RR=ACC |
CBR @RR,$XX | Выполняет операцию AND между содержимым регистра @RR и константой $XX. | ACC=$XX |
SBR @RR,$XX | Выполняет операцию OR между содержимым регистра @RR и константой $XX. | ACC=$XX |
CBRA @RR | Выполняет операцию AND между содержимым регистра @RR и ACC. | ACC=ACC |
SBRA @RR | Выполняет операцию OR между содержимым регистра @RR и ACC. | ACC=ACC |
CLT | Сброс таймера TIMER. Период инкремента ~3msec. Максимальное значение ~380msec. Проверка таймера - JTO. | ACC=ACC |
LDC $XX | Загружает константу $XX в счетчик циклов. Декремент счетчика и проверка нуля - JCZ и JCN. | ACC=ACC |
LDR @RR | Загружает содержимое регистра $RR в счетчик циклов. Декремент счетчика и проверка нуля - JCZ и JCN. | ACC=ACC |
Команды проверки условий и переходы.
Команда | Описание | Результат |
JAZ LABEL | Jump if ACC Zero - Проверяет ACC и переходит на LABEL, если равен 0. | ACC=ACC |
JAN LABEL | Jump if ACC not Zero - Проверяет ACC и переходит на LABEL, если не равен 0. | ACC=ACC |
JNA LABEL | Jump if Next Address - Проверяет конечный микросхемы, если не равен, то переход на LABEL. Инкрементирует счетчик адреса и выводит его значение на дисплей программатора. Значение ACC не меняется или равно $00, если был вывод на дисплей. | ACC=?? |
JLA LABEL | Jump if Last Address - Проверяет конечный микросхемы, если равен, то переход на LABEL. Инкрементирует счетчик адреса и выводит его значение на дисплей программатора. Значение ACC не меняется или равно $00, если был вывод на дисплей. | ACC=?? |
JCZ LABEL | Jump if Count Zero - Уменьшает счетчик циклов на единицу и переходит на LABEL, если равен 0. | ACC=ACC |
JCN LABEL | Jump if Count not Zero - Уменьшает счетчик циклов на единицу и переходит на LABEL, если не равен 0. | ACC=ACC |
JPL LABEL | Jump if Pin(@ACC) Low - Проверяет вывод панельки, заданный в ACC. Если вывод в нуле, переход на адрес LABEL.
На выходе ACC = состоянию выводов панельки REG_x. | ACC=@REG_x |
JPH LABEL | Jump if Pin(@ACC) High - Проверяет вывод панельки, заданный в ACC. Если вывод в единице, переход на адрес LABEL.
На выходе ACC = состоянию выводов панельки REG_x. | ACC=@REG_x |
JWL $XX,LABEL | Jump if bits $XX in FLAGW is Zero - Проверяет биты $XX в регистре FLAGW и переходит на LABEL, если
результат равен 0. Используется для проверки, какие дополнительные режимы работы надо выполнить (чтение/запись EEPROM, FUSES,
LOCK bits)
| ACC=ACC |
JWH $XX,LABEL | Jump if bits $XX in FLAGW is not Zero - Проверяет биты $XX в регистре FLAGW и переходит на LABEL, если результат не равен 0. | ACC=ACC |
JRE @RR,LABEL | Jump if byte in Register @RR is Equal ACC - Сравнивает содержимое регистра @RR и ACC, и переходит на LABEL, если совпадает. | ACC=ACC |
JRN @RR,LABEL | Jump if byte in Register @RR is not Equal ACC - Сравнивает содержимое регистра @RR и ACC, и переходит на LABEL, если не совпадает. | ACC=ACC |
JRL @RR,LABEL | Jump if byte in Register @RR is Lower ACC - Сравнивает содержимое регистра @RR и ACC, и переходит на LABEL, если @RR < ACC. | ACC=ACC |
JRH @RR,LABEL | Jump if byte in Register @RR is Higher ACC - Сравнивает содержимое регистра @RR и ACC, и переходит на LABEL, если @RR > ACC. | ACC=ACC |
JTO LABEL | Jump if TimeOut - Если флаг TimeOut установлен (max =380msec.), переходит на адрес LABEL. | ACC=ACC |
JCP LABEL | Jump if Compare - Сравнивает считанный из микросхемы байт (в режиме PROG или LOCK) с байтами из буфера, ранее считанными командами LDB или LDW и переходит на LABEL, если равно. | ACC=ACC |
JMP LABEL | Команда перехода на адрес LABEL. | ACC=ACC |
CALL LABEL | Вызывает подпрограмму по адресу LABEL. Допускаются вложенные вызовы. | ACC=ACC |
RET | Выход из подпрограммы. | ACC=ACC |
EXT $XX | Вызывает подпрограмму $XX из внешней библиотеки. В зависимости от режима работы (READ или PROG) вызывается соответствующая функция из библиотеки:
EXT $40 - FT_MPSSE_Erase
EXT $41 - FT_MPSSE_PreRead1 или FT_MPSSE_PreProg1
EXT $42 - FT_MPSSE_PreRead2 или FT_MPSSE_PreProg2
EXT $43 - FT_MPSSE_PreRead3 или FT_MPSSE_PreProg3
EXT $44 - FT_MPSSE_ReadPrgm или FT_MPSSE_ProgPrgm
EXT $45 - FT_MPSSE_ReadData или FT_MPSSE_ProgData
EXT $46 - FT_MPSSE_ReadUser или FT_MPSSE_ProgUser
EXT $47 - FT_MPSSE_ReadLock или FT_MPSSE_ProgLock
| ACC=? |
END | Завершает работу скрипта и передает управление основной программе. Обязательная инструкция в конце каждого цикла. | |
Управление выводами панельки.
Команда | Описание | Результат |
SVP $PP | Подает на вывод $PP напряжение записи или питания. Перед выполнением команды вывод может находиться в нуле. | ACC=@REG_x |
CLR $PP | Устанавливает на выводе $PP ноль или подает напряжения записи или питания (при этом вывод должен быть заранее установлен в единицу). | ACC=@REG_x |
SET $PP | Устанавливает на выводе $PP единицу или отключает напряжения записи (питания). | ACC=@REG_x |
XOR $PP | Инвертирует текущее состояния вывода $PP (логические 0/1) или включает/выключает напряжения (в случае подачи питания, вывод должен быть =1). | ACC=@REG_x |
PLS $PP,$XX | Формирует на выводе $PP импульс длительностью $XX. Где, $XX
=$00..7F - Длительность = $XX * 1mks = 1..127mks;
=$81..FF - Длительность = ($XX-$80) * 1msec = 1..127msec;
=$80 - Длительность импульса определяется значением ячейки $10 в блоке параметров = 10mks..12,8msec. | ACC=?? |
OSC $PP,$XX | Формирует на выводе $PP пакет из $XX импульсов с частотой около 1,5МГц. | ACC=@REG_x |
SVPA | Аналогична SVP, но адрес вывода должен быть предварительно задан в ACC. | ACC=@REG_x |
CLRA | Аналогична CLR, но адрес вывода должен быть предварительно задан в ACC. | ACC=@REG_x |
SETA | Аналогична SET, но адрес вывода должен быть предварительно задан в ACC. | ACC=@REG_x |
XORA | Аналогична XOR, но адрес вывода должен быть предварительно задан в ACC. | ACC=@REG_x |
PLSA | Аналогична PLS, но адрес вывода должен быть предварительно задан в ACC. Длительность импульса определяется значением ячейки $5B в блоке параметров:
=$00..7F - Длительность = $XX * 1mks = 1..127mks;
=$81..FF - Длительность = ($XX-$80) * 1msec = 1..127msec;
=$80 - Длительность импульса определяется значением ячейки $10 в блоке параметров = 10mks..12,8msec. | ACC=?? |
PLSC | Формирует импульс на выводе, адрес которого задан в ячейке $2C (REG_CS). Длительность импульса определяется значением ячейки $5B в блоке параметров:
=$00..7F - Длительность = $XX * 1mks = 1..127mks;
=$81..FF - Длительность = ($XX-$80) * 1msec = 1..127msec;
=$80 - Длительность импульса определяется значением ячейки $10 в блоке параметров = 10mks..12,8msec. | ACC=?? |
IN @REG | Загружает ACC из порта (выводы панельки). REG = [$18,$19,$1A,$1B,$1C]. См. рисунок. Можно использовать зарезервированные имена: REG_1=$1C, REG_2=$19, REG_3=$18, REG_4=$1A, REG_5=$1B. | ACC=@REG_x |
OUT @REG | Записывает содержимое ACC в порт. REG=[Logic=$18,$19,$1A,$1B,$1C; Vpp/Vcc=$10,$11,$12,$13,$14]. Перед записью в регистры "Vpp/Vcc" (включение напряжений) необходимо установить соответствующий вывод панельки в состояние единицы. Для безопасной подачи напряжений лучше пользоваться командой SVP $PIN.
Например,
OUT REG_1,$02 установит вывод 2 в единицу, а выводы 1,3,4,5,6,7,8 в ноль. На выходе значение ACC=!ACC.
OUT $10,$02 - подаст Vpp на 15 вывод панельки и отключит выводы 11,17,20,23,28,29,30. Значение ACC не меняется. | @REG_x=ACC, ACC=?? |
Подпрограммы ввода-вывода данных.
Команда | Описание | Результат |
SRL | Serial Read Left - Последовательный, тактируемый ввод (чтение) 8 бит данных в ACC, старшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). Частота тактирования CLK = 1 / (2 * Tclk). Например, для Tclk = $05, частота CLK ~ 100кГц. | ACC=RD_Byte |
SRR | Serial Read Rigth - Последовательный, тактируемый ввод (чтение) 8 бит данных в ACC, младшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Byte |
SRX $SS | Serial Read - Чтение данных в ACC в последовательном режиме. Аналогична двум предыдущим командам, дополнительно можно задавать направление сдвига и количество бит. Например, $SS=17: бит4 =0-сдвиг влево; =1-сдвиг вправо; 7-восемь бит данных. | ACC=RD_Data |
SWL | Serial Write Left - Последовательный, тактируемый вывод (запись) ACC, старшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Byte |
SWR | Serial Write Rigth - Последовательный, тактируемый вывод (запись) ACC, младшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Byte |
SWLC $XX | Serial Write Left - Последовательный, тактируемый вывод (запись) константы $XX, старшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Byte |
SWRC $XX | Serial Write Rigth - Последовательный, тактируемый вывод (запись) константы $XX, младшим битом вперед. Ячейки $2D, $2E и $2F в блоке параметров микросхемы содержат адреса выводов панельки для сигналов: Data_WR, Data_RD и CLK. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Byte |
SWA $SS | Serial Write - Последовательный, тактируемый вывод (запись) содержимого ACC. Можно задавать направление сдвига и количество бит. Например, $SS=03: бит4 =0-сдвиг влево; =1-сдвиг вправо; 3-четыре бита данных. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Data |
SWX $XX,$SS | Serial Write - Последовательный, тактируемый вывод (запись) константы $XX. Можно задавать направление сдвига и количество бит. Например, $SS=03: бит4 =0-сдвиг влево; =1-сдвиг вправо; 3-четыре бита данных. Ячейка $5B - задает длительность импульса и паузы ($00..FF = 1..255mks). | ACC=RD_Data |
PRB | Parallel Read Byte - Чтение байта в ACC для микросхем памяти с параллельной 8-битной шиной данных. Ячейки $98..$9F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D7..D0. | ACC=Byte |
PRW | Parallel Read Word - Чтение слова для микросхем памяти с параллельной 16-битной шиной данных. Ячейки $90..$9F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D15..D0. | ACC=LowByte |
PRX $AA | Parallel Read Data - Чтение байта в ACC по "адресу" ($AA=$10-старший байт данных; $18-младший байт данных). | ACC=Byte |
PWB | Parallel Write Byte - Запись содержимого ACC для микросхем памяти с параллельной 8-битной шиной данных. Ячейки $88..$8F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D7..D0. | ACC=$00 |
PWW | Parallel Write Word - Запись слова для микросхем памяти с параллельной 16-битной шиной данных. Ячейки $80..$8F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D15..D0. | ACC=$00 |
PWBC $XX | Parallel Write Byte - Запись константы $XX для микросхем памяти с параллельной 8-битной шиной данных. Ячейки $88..$8F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D7..D0. | ACC=$00 |
PWA $AA | Parallel Write Data - Запись содержимого ACC по "адресу" ($AA=$00-старший байт данных; $08-младший байт данных; $20,$28,$30 - старший, средний и младший байт адреса). | ACC=$00 |
PWX $XX,$AA | Parallel Write Data - Запись байта $XX по "адресу" ($AA=$00-старший байт данных; $08-младший байт данных; $20,$28,$30 - старший, средний и младший байт адреса). | ACC=$00 |
PZW | Parallel Z-state Word - Перевод 16-битной Шины Данных в третье состояние. Ячейки $80..$8F в блоке параметров микросхемы содержат адреса выводов панельки для шины данных D15..D0. | ACC=$00 |
Комбинированные подпрограммы.
Команда | Описание | Результат |
BGR | Подготавливает программатор к режиму Чтения. Устанавливает Начальное состояние выводов панельки, подает напряжения и отрабатывает Задержку при включении питания. Для снижения шумов напряжение Vpp устанавливается на 0.5v больше, чем Vcc. | ACC=?? |
BGS | Аналогична режиму BGR. Во время включения питания защита по току отключена. В этом режиме можно использовать ключи Vpp для питания микросхемы (Vcc=Vpp). | ACC=?? |
BGW | Подготавливает программатор к режиму Записи. Vpp устанавливается согласно заданному напряжению записи. В остальном аналогична режиму BGR. | ACC=?? |
BGE | Подготавливает программатор к режиму Стирания. Vpp устанавливается согласно заданному напряжению стирания. В остальном аналогична режиму BGR. | ACC=?? |
FLP | При работе с компьютером подготавливает буфер для работы с компьютером. В автономном режиме открывает файл в памяти программатора. Обязательная команда в режимах READ и PROG. Не использовать в режимах ERAS и LOCK. | ACC=?? |
FLE | Аналогична FLP, только используется, когда необходим доступ к EEPROM. | ACC=?? |
LDB | Считывает очередной байт из буфера для последующей записи в микросхему. При необходимости подгружает новый блок данных. Считанный байт помещается в регистр DATAL и ACC. Используется только в режиме PROG. | ACC=DATAL |
LDW | Считывает 2 байта из буфера для последующей записи в микросхему. При необходимости подгружает новый блок данных. Считанные байты помещаются в регистры DATAL и DATAH. Сначала идет младший байт, затем старший. Используется только в режиме PROG. | ACC=DATAL |
CPB | Сравнивает считанный из микросхемы байт с байтом из буфера. При необходимости подгружает новый блок данных и выводит сообщения об ошибках. Используется только в режиме READ. В зависимости от режима работы байт будет проверен на чистоту (=$FF) и возможность перезаписи, записан в буфер или сравнен с байтом из буфера. | ACC=?? |
CPW | Сравнивает считанное из микросхемы слово с 2 байтами из буфера. Аналогична команде CPB. Используется только в режиме READ. | ACC=?? |
CHL $XX | Проверяет установлены ли в ACC биты $XX и устанавливает флаг LOCK в регистре FLAGS. Используется перед командами CCB или CCW. Не меняет содержимое ACC. | ACC=ACC |
CCB | Сравнивает считанный из микросхемы байт с младшим байтом конфигурационного слова ($24). Используется в режимах READ и LOCK. | ACC=?? |
CCP | Сравнивает считанный из микросхемы байт с байтом из блока параметров, на который указывает указатель, заданный командой SPA. Используется в режимах READ и LOCK. | ACC=?? |
CCW | Сравнивает считанное из микросхемы слово с 2 байтами конфигурационного слова ($24,$25). Используется в режимах READ и LOCK. | ACC=?? |
SPA $XX | Устанавливает указатель данных на адрес $XX ($80..$FF) в блоке параметров. Используется только после обработки основной и дополнительной памяти, для обработки FUSES или LOCK bits командой CCP. Команда SPA $00 восстанавливает предыдущее значение указателя. | ACC=$XX |
CLA | Устанавливает счетчик адреса микросхемы в начальное состояние. Счетчик автоматически устанавливается в командах BGR, BGW, BGS и BGE. | ACC=ACC |
CLE | Устанавливает счетчик адреса EEPROM в начальное состояние. Счетчик автоматически устанавливается командой FLE. | ACC=ACC |
A08 | Для микросхем памяти с параллельной шиной данных и адреса, устанавливает 8 битный адрес. Ячейки $B0..$B7 в блоке параметров микросхемы содержат адреса выводов панельки (A7..A0). | ACC=$00 |
A16 | Для микросхем памяти с параллельной шиной данных и адреса, устанавливает 16 битный адрес. Ячейки $A8..$B7 в блоке параметров микросхемы содержат адреса выводов панельки (A15..A0). | ACC=$00 |
A24 | Для микросхем памяти с параллельной шиной данных и адреса, устанавливает 24 битный адрес. Ячейки $A0..$B7 в блоке параметров микросхемы содержат адреса выводов панельки (A23..A0). | ACC=$00 |
DAC $XX | Устанавливает значение ЦАП-а VPP равным $XX*0.125v. | ACC=?? |
DACA | Аналогична DAC, но значение ЦАП-а должно быть предварительно задано в ACC. | ACC=?? |
DLS $XX | Формирует задержку длительностью $XX. Где, $XX
=$01..7F - Длительность = $XX * 1,00mks = 1..127mks;
=$81..FF - Длительность = ($XX-$80)*1msec = 1..127msec;
=$00 - Минимальная задержка, зависит от тактовой частоты программатора. V5.8T - 0.62mks; V5.xT - 0.9mks; V5.x - 1.8mks.
=$80 - Длительность задержки определяется значением ячейки $10 в блоке параметров = 10mks..12,8msec. | ACC=?? |
DLL $XX | Задержка длительностью T = $XX*10msec. | ACC=$00 |
ALG $XX | Запуск подпрограммы, находящейся в памяти программатора. Позволяет выполнить штатный алгоритмов работы с микросхемой. Номер алгоритма задан в ячейке $12. Запрещены вызовы алгоритмов $1C, $1D, $1E и $1F. Вызов несоответствующего алгоритма работы приведет к ошибкам в работе и может повредить микросхему.
$XX может принимать значения:
=AAAA A000 - ERAS - режим стирания.
=AAAA A010 - LOCK - режим установки защиты.
=AAAA A100 - PROG - режим записи.
=AAAA A110 - READ - режим чтения.
Где, AAAA Axxx - номер алгоритма *8. Например:
W27C512 (алг.=$01): Запись = $0C, Чтение = $0E, Стирание = $08.
P12F508A (алг.=$0F): Запись = $7C, Чтение = $7E, Стирание = $78, Запись CFG = $7A.
i28F800C3B(алг.=$16): Запись = $B4, Чтение = $B6, Стирание = $B0.
| ACC=?? |
ERR | Выводит диалог с сообщением об ошибке. Используется только в режиме PROG. | ACC=?? |
OFP | Выключение питания, сброс всех выводов панельки в состояние OFF и задержка 20ms. | ACC=$00 |
Команды для работы с определенным типом микросхем.
Команда | Описание | Результат |
SPI flash |
SPI_CMD $XX | Передача однобайтной команды: Low_CS + Command($XX). Это должна быть первая команда, которая передается в микросхему, после включения питания. | ACC=?? |
SPI_CWR $XX | Передача однобайтной команды: Low_CS + Command($XX) + High_CS. | ACC=?? |
SPI_CRD $XX | Однобайтная команда чтения: Low_CS + Command($XX) + Read_Byte + High_CS. | ACC=RD_Byte |
SPI_ADR $XX | Передача команды и установка адреса: Low_CS + Command($XX) + Address(1..4 bytes).
Количество байт адреса: Par[$11].4 =1 - второй байт адреса; Par[$11].5 =1 - третий байт адреса; Par[$11].6 =1 - четвертый байт
адреса (всегда = 0). |
ACC=?? |
SPI_ADF $XX | Передача команды и установка адреса в формате AT45*: Low_CS + Command($XX) + Address(2 bytes)+$00. | ACC=?? |
SPI_RDP | Чтение страницы + High_CS. Для микросхем со страничной организацией. Размер страницы = Par[$10]*256+Par[$16]. | ACC=?? |
SPI_RDA | Чтение ВСЕЙ микросхемы с обработкой адреса + High_CS. | ACC=?? |
SPI_WRP | Загрузка страницы + High_CS. Для микросхем со страничной организацией. Размер страницы = Par[$10]*256+Par[$16]. | ACC=?? |
SPI_WRA | Загрузка страницы с обработкой адреса + High_CS. Размер страницы = Par[$10]*256+Par[$16]. | ACC=?? |
NAND Flash |
NAN_RDP | Чтение страницы + High_CS. Размер страницы = Par[$10]*256+Par[$16]. | ACC=?? |
NAN_WRP | Загрузка страницы. Размер страницы = Par[$10]*256+Par[$16]. | ACC=?? |
NAN_ADR $XX | Передача команды и установка адреса: Low_CS + Command($XX) + Address(3..5 bytes).
Количество байт адреса: Par[$11].5 =1 - двухбайтный адрес PAGE; Par[$11].6 =1 - трехбайтный адрес ROW/BLOCK. | ACC=?? |
NAN_CBS $XX | Передача команды и ожидание готовности: Low_CS + Command($XX) + Busy_Pin (ячейка $2E). | ACC=?? |
NAN_CST $XX | Передача команды и чтение статус-регистра: Low_CS + Command ($XX) + Status + High_CS. | ACC=Status |
MCS-51 |
MCS_48T | Задержка 48 pulses on XTAL. | ACC=?? |
MCS_DEL | Задержка ~24msec. Pulses on XTAL. | ACC=?? |
MCS_ADR | Установка адреса(2 bytes) + 48T. | ACC=?? |
MCS_ARD | Установка адреса(2 bytes) + 48T + Read_Byte. | ACC=RD_Byte |
MCS_ADW | Установка данных(@R2) + установка адреса(2 bytes) + 48T. | ACC=?? |
MCS_MOD $XX | Установка режима работы $XX. | ACC=?? |
MCS_MRD $XX | Установка режима работы $XX + Read_Data. | ACC=?? |
MCS_PLS $XX | Импульс записи ALE/PROG (ячейка $2C). Длительность = $XX. Где, $XX
=$00..7F - Длительность = $XX * 10 mks = 10..1270mks;
=$81..FF - Длительность = ($XX-$80) * 2 msec = 2..514msec;
=$80 - Длительность задержки определяется значением ячейки $10 в блоке параметров. | ACC=?? |
MCS_BSY | Проверка готовности BUSY_pin (ячейка $2E) | ACC=?? |
PIC16 |
P16_CRD $XX | Передача команды ($XX) и чтение слова из микросхемы. | ACC=LowByte |
P16_CWR $XX | Передача команды ($XX) и загрузка слова в микросхему. | ACC=?? |
|