очищается старший
байт)
MOV.B address, R5 AND #OOOFh, R5 MOV.B LCD_Tab(R5) отобразить младшую тетраду 0-MOV.B address, R5 AND #00F0h, R5 |
R5 ? младший байт
; маска на старшую
; тетраду ,LCD1+1 F
R5 ? младший байт
; маска на младшую
; тетраду
RRA | R5 |
RRA | R5 |
RRA | R5 |
RRA | R5 |
сдвиг вправо
сдвиг вправо
сдвиг вправо
сдвиг вправо
MOV.B LCD_Tab(R5) ; отобразить старшую тетраду 0- PUSH #00h PUSH address SUB #06, SP CALL #hunt POP RIO POP Rll ADD #04h, SP |
LCD1+2
место для кода ошибки поместить адрес в стек
POP CMP JZ MOV MOV DEC JNZ DEC JNZ MOV |
R9 #00h, R9 retry #0FFh, R7 #0B4Fh, R6 R6 dela3 R7 dela4 #0000h, R5 |
вернуть данные в R1C вернуть данные в Rll освободить место для адреса и команд вернуть код ошибки
повтор при неудаче
очистка (убедиться, что очищается старший байт) R5 ? младший байт маска на старшую тетраду LCD1+4 R5 ? младший байт ; маска на младшую ; тетраду |
dela4 dela3
MOV.B address, R5 AND #000Fh, R5
MOV.B LCD_Tab(R5) отобразить младшую тетраду СК MOV.B address, R5 AND OOFOh, R5