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,61 +1728,60 @@ 1728 1728 Example program: 1729 1729 1730 1730 {{code language="assembler"}} 1731 - ;4. userauthentication1732 - ; technically,thisissending aJSON1733 - ;{"SID":" sessionhash","CMD":"AUTH_USER","NIKNAME":"usernickname","PASSWORD":"userpassword"}1734 - ; theresponseis alsoJSON1735 - ;{"SID":" sessionhash","RESULT":"OK","UID":"userhash"}1736 - ; or1737 - ;{"SID":" sessionhash","RESULT":"ERROR","DESCRIPTION":"USER_NOT_FOUND_OR_WRONG_PASSWORD"}1738 - ;{"SID":" sessionhash","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"}1739 - ;{"SID":" sessionhash","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"}1731 + ;4. авторизация пользователя 1732 + ;технически это отправка JSON 1733 + ;{"SID":"хеш сессии","CMD":"AUTH_USER","NIKNAME":"никнейм пользователя","PASSWORD":"пароль пользователя"} 1734 + ;ответ тоже JSON 1735 + ;{"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"} 1740 1740 1741 - ; loadcommandCMD041742 - mov #CMD04,R1 1743 - mov #ADRMEM,R2 1744 - add #42.,R2 ; shiftthepointertotheSIDblock length1745 -33$: movb (R1)+,(R2)+ 1746 - bne 33$ 1741 + ; загоняем команду CMD04 1742 + mov #CMD04,R1 1743 + mov #ADRMEM,R2 1744 + add #42.,R2 ; cдвигаем указатель на длину блока с SID 1745 +33$: movb (R1)+,(R2)+ 1746 + bne 33$ 1747 1747 1748 - .Print #ADRMEM 1748 + .Print #ADRMEM 1749 1749 1750 - .Print #HOF05 1751 - ; sendthecommandandwait for a response1752 - ; loadintobuffer1753 - MOV #AZ$CSR,R1 1754 -331$: TSTB (R1) ; Checkcontrollerreadiness1755 - BPL 331$ ; Ifnotready,wait1756 - mov #23,(R1) ; commandtowritedataintobuffer1757 -34$: TSTB (R1) ; checkexecutionresult1758 - BPL 34$ ; wait1759 - TST (R1)+ ; increment1760 - mov #ADRMEM,R3 1761 - mov #256.,R2 ; 1762 -35$: mov (R3)+,(R1) ; sendtocontroller1763 - sob R2,35$ 1764 - tst -(R1) ; decrement1750 + .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) ; декрементируем 1765 1765 1766 - ; exchange-command0261767 - MOV #AZ$CSR,R1 1768 -361$: TSTB (R1) ; Checkcontrollerreadiness1769 - BPL 361$ ; Ifnotready,wait1770 - mov #26,(R1) 1771 -36$: TSTB (R1) ; checkexecutionresult1772 - BPL 36$ ; wait1766 + ; обмен - команда 026 1767 + MOV #AZ$CSR,R1 1768 +361$: TSTB (R1) ; Проверим готовность контроллера 1769 + BPL 361$ ; Если не готов ждем 1770 + mov #26,(R1) 1771 +36$: TSTB (R1) ; проверяем результат выполнения 1772 + BPL 36$ ; ждем 1773 1773 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 - 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$ 1786 1786 {{/code}} 1787 1787 1788 1788