Last modified by Max on 2025/03/02 15:18

From version 2.45
edited by Max
on 2025/02/25 15:03
Change comment: There is no comment for this version
To version 2.39
edited by Max
on 2025/02/25 14:36
Change comment: (Autosaved)

Summary

Details

Page properties
Content
... ... @@ -637,38 +637,39 @@
637 637  {{/code}}
638 638  
639 639  obviously, after reading the memory, it is necessary to check the result code in the first word - see the decoding of error codes
640 -\\Examples of returned data for commands
641 -\\sequentially issuing the command 021 and then 022 will allow reading 256 words from non-volatile memory
642 -Attention! The first word will be the reading success status
640 +\\Примеры возвращаемых данных по командам
641 +\\последовательная подача команды 021 и затем 022 позволит считать 256. слов
642 +из энергонезависимой памяти
643 +**Внимание! **первое слово это будет статус успешности чтения
643 643  
644 644  * 0 - ok
645 -* 1 - size does not match saved
646 -* 2 - version error
647 -* 3 - checksum error
646 +* 1 - размер не соответствует сохраненному
647 +* 2 - oшибка версии
648 +* 3 - oшибка контрольной суммы
648 648  
649 -== 023: Receive data from the bus into the buffer for subsequent writing into the buffer ==
650 +== **023: Принять с шины в буфер данные для последующей записи в буфер** ==
650 650  
651 -Command code 023, this command allows you to fill the non-volatile memory buffer
652 +Код команды 023, данная команда позволяет наполнить буфер энергонезависимой памяти
652 652  
653 -== 024: Write from buffer to non-volatile memory block ==
654 +== **024: Записать из буфера в блок энергонезависимой памяти** ==
654 654  
655 -Command code 024, this command causes a non-volatile memory block to be written from the non-volatile memory buffer.
656 +Код команды 024, данная команда вызывает запись блока энергонезависимой памяти из буфера энергонезависимой памяти.
656 656  
657 -Example program
658 +Пример программы
658 658  
659 659  {{code language="assembler"}}
660 -AZ$CSR = 177220; Command and Status Register (CSR)
661 -AZ$DR = 177222; Data Register (DR)
661 +AZ$CSR = 177220; регистр команд и состояния (CSR)
662 +AZ$DR = 177222; регистр данных (DR)
662 662  
663 663  
664 -; trap 50 - reset AZ
665 +; trap 50 - cброс AZ
665 665  ; результат в R1 =0 ok
666 666  AZreset: MOV #AZ$CSR,R1
667 -1$: CLR (R1); Send the "Reset" command
668 - TSTB (R1); Check the controller readiness
669 - BPL 1$; If not ready, reset again
670 -; once and check again
671 - TST (R1); Check for an error,
668 +1$: CLR (R1); Пошлем команду "Сброс"
669 + TSTB (R1); Проверим готовность контроллера
670 + BPL 1$; Если не готов, сбрасываем еще
671 + ; раз и проверяем снова
672 + TST (R1); Проверим на ошибку,
672 672   BMI 0ERR$
673 673   CLR R1
674 674   return
... ... @@ -676,27 +676,27 @@
676 676   COM R1
677 677   return
678 678  
679 -; trap 55 - write non-volatile memory from the buffer at address ADREEPROMMEM в блок 1 EEPROM
680 +; trap 55 - запись энергонезависимой памяти из буфера с адреса ADREEPROMMEM в блок 1 EEPROM
680 680  WriteEEPROM: push R1
681 681   push R2
682 682   push R3
683 - call AZreset; reset
684 + call AZreset; сбросим
684 684   tst R1
685 685   bne 0ERR$
686 686  
687 687   MOV #AZ$CSR,R1
688 - mov #23,(R1);command that we will write data to the buffer
689 -0$: TSTB (R1); check the result of executio
690 - BPL 0$; wait
691 - TST (R1)+; increment
689 + mov #23,(R1); командуем что будем писать данные в буфер
690 +0$: TSTB (R1); проверяем результат выполнения
691 + BPL 0$; ждем
692 + TST (R1)+; инкрементируем
692 692   mov #ADREEPROMMEM+2,R3
693 - mov #255.,R2; write 255. words; skip the first word - the result of reading
694 -1$: mov (R3)+,(R1); send to the controller
694 + mov #255.,R2; пишем 255. слов; первое слово пропускаем - результат чтения
695 +1$: mov (R3)+,(R1); отдаем в контроллер
695 695   sob R2,1$
696 - tst -(R1); decrement
697 - mov #24,(R1); write from the buffer to block 1 of non-volatile memory
698 -2$: TSTB (R1); check the result of execution
699 - BPL 2$; we are waiting
697 + tst -(R1); декрементируем
698 + mov #24,(R1); записать из буфера в блок 1 энергонезависимой памяти
699 +2$: TSTB (R1); проверяем результат выполнения
700 + BPL 2$; ждем
700 700   br 0END$
701 701  0ERR$: CLR R3
702 702  0END$: pop R3
... ... @@ -705,7 +705,7 @@
705 705   return
706 706  {{/code}}
707 707  
708 -**Please note** that when recording, the buffer immediately comes with the data, i.e. there is no first word with the statu
709 +**Обращаю внимание**, при записи, буфер идет сразу с данными, те нет первого слова со статусом.
709 709  
710 710  
711 711