Changes for page API контроллеров AZ®
Last modified by Max on 2025/03/02 15:18
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1728,60 +1728,61 @@ 1728 1728 Example program: 1729 1729 1730 1730 {{code language="assembler"}} 1731 - ;4. авторизацияпользователя1732 - ; техническиэтоотправкаJSON1733 - ;{"SID":" хешсессии","CMD":"AUTH_USER","NIKNAME":"никнеймпользователя","PASSWORD":"парольпользователя"}1734 - ; ответтожеJSON1735 - ;{"SID":" хешсессии","RESULT":"OK","UID":"хешпользователя"}1736 - ; или1737 - ;{"SID":" хешсессии","RESULT":"ERROR","DESCRIPTION":"USER_NOT_FOUND_OR_WRONG_PASSWORD"}1738 - ;{"SID":" хешсессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"}1739 - ;{"SID":" хешсессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"}1731 + ;4. user authentication 1732 + ;technically, this is sending a JSON 1733 + ;{"SID":"session hash","CMD":"AUTH_USER","NIKNAME":"user nickname","PASSWORD":"user password"} 1734 + ;the response is also JSON 1735 + ;{"SID":"session hash","RESULT":"OK","UID":"user hash"} 1736 + ;or 1737 + ;{"SID":"session hash","RESULT":"ERROR","DESCRIPTION":"USER_NOT_FOUND_OR_WRONG_PASSWORD"} 1738 + ;{"SID":"session hash","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} 1739 + ;{"SID":"session hash","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 1740 1740 1741 - ; загоняемкомандуCMD041742 - mov #CMD04,R1 1743 - mov #ADRMEM,R2 1744 - add #42.,R2 ; cдвигаемуказательнадлинублокасSID1745 -33$: movb (R1)+,(R2)+ 1746 - bne 33$ 1741 + ; load command CMD04 1742 + mov #CMD04,R1 1743 + mov #ADRMEM,R2 1744 + add #42.,R2 ; shift the pointer to the SID block length 1745 +33$: movb (R1)+,(R2)+ 1746 + bne 33$ 1747 1747 1748 - .Print #ADRMEM 1748 + .Print #ADRMEM 1749 1749 1750 - .Print #HOF05 1751 - ; отсылаемкомандуиждемответа1752 - ; закачиваемвбуфер1753 - MOV #AZ$CSR,R1 1754 -331$: TSTB (R1) ; Проверимготовностьконтроллера1755 - BPL 331$ ; Еслинеготовждем1756 - mov #23,(R1) ; командуемчтобудемписатьданныевбуфер1757 -34$: TSTB (R1) ; проверяемрезультатвыполнения1758 - BPL 34$ ; ждем1759 - TST (R1)+ ; инкрементируем1760 - mov #ADRMEM,R3 1761 - mov #256.,R2 ; 1762 -35$: mov (R3)+,(R1) ; отдаемвконтроллер1763 - sob R2,35$ 1764 - tst -(R1) ; декрементируем1750 + .Print #HOF05 1751 + ; send the command and wait for a response 1752 + ; load into buffer 1753 + MOV #AZ$CSR,R1 1754 +331$: TSTB (R1) ; Check controller readiness 1755 + BPL 331$ ; If not ready, wait 1756 + mov #23,(R1) ; command to write data into buffer 1757 +34$: TSTB (R1) ; check execution result 1758 + BPL 34$ ; wait 1759 + TST (R1)+ ; increment 1760 + mov #ADRMEM,R3 1761 + mov #256.,R2 ; 1762 +35$: mov (R3)+,(R1) ; send to controller 1763 + sob R2,35$ 1764 + tst -(R1) ; decrement 1765 1765 1766 - ; обменкоманда0261767 - MOV #AZ$CSR,R1 1768 -361$: TSTB (R1) ; Проверимготовностьконтроллера1769 - BPL 361$ ; Еслинеготовждем1770 - mov #26,(R1) 1771 -36$: TSTB (R1) ; проверяемрезультатвыполнения1772 - BPL 36$ ; ждем1766 + ; exchange - command 026 1767 + MOV #AZ$CSR,R1 1768 +361$: TSTB (R1) ; Check controller readiness 1769 + BPL 361$ ; If not ready, wait 1770 + mov #26,(R1) 1771 +36$: TSTB (R1) ; check execution result 1772 + BPL 36$ ; wait 1773 1773 1774 - ; получим результат 1775 -371$: TSTB (R1) ; Проверим готовность контроллера 1776 - BPL 371$ ; Если не готов ждем 1777 - mov #22,(R1) ; отдать на шину буфер 1778 -37$: TSTB (R1) ; проверяем результат выполнения 1779 - BPL 37$ ; ждем 1780 - TST (R1)+ ; инкрементируем 1781 - mov #ADRMEM,R3 1782 - mov #256.,R2 ; читаем 256. слов; первое слово - результат чтения 1783 -38$: mov (R1),(R3)+ ; читаем блок слов в память 1784 - sob R2,38$ 1774 + ; receive result 1775 +371$: TSTB (R1) ; Check controller readiness 1776 + BPL 371$ ; If not ready, wait 1777 + mov #22,(R1) ; send buffer to the bus 1778 +37$: TSTB (R1) ; check execution result 1779 + BPL 37$ ; wait 1780 + TST (R1)+ ; increment 1781 + mov #ADRMEM,R3 1782 + mov #256.,R2 ; read 256 words; first word is the read result 1783 +38$: mov (R1),(R3)+ ; read block of words into memory 1784 + sob R2,38$ 1785 + 1785 1785 {{/code}} 1786 1786 1787 1787