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

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

Summary

Details

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