1730LCD.zdsp 5/11/2025 11:06:26 ADDR:MCODE OPCODES ------------------------------------------- ORG 0000 0000: label RESET 0000:310020 LD SP,2000 0003:210020 LD HL,2000 0006:01FFFF LD BC,FFFF 0009:CD8700 CALL 0087 000C:3E01 LD A,01 000E:325D00 LD (005D),A 0011:CD7800 CALL 0078 0014: label START 0014:2621 LD H,21 0016:2E00 LD L,00 0018: label LOOP 0018:7C LD A,H 0019:325D00 LD (005D),A 001C:CD6900 CALL 0069 001F:24 INC H 0020:7C LD A,H 0021:FE7E CP 7E 0023:2002 JR NZ,0027 0025:2621 LD H,21 0027: label LOOP_SKIP1 0027:2C INC L 0028:7D LD A,L 0029:FE15 CP 15 002B:200A JR NZ,0037 002D:3EC0 LD A,C0 002F:325D00 LD (005D),A 0032:CD7800 CALL 0078 0035:180E JR 0045 0037: label LOOP_SKIP2 0037:FE2A CP 2A 0039:200A JR NZ,0045 003B:3E80 LD A,80 003D:325D00 LD (005D),A 0040:CD7800 CALL 0078 0043:2E00 LD L,00 0045: label LOOP_SKIP3 0045:3E64 LD A,64 0047:CD4D00 CALL 004D 004A:C31800 JP 0018 INCLUDE delay_ms.asm 004D: label DELAY_MS 004D:C5 PUSH BC 004E: label DELAY_MS_L0 004E:0603 LD B,03 0050: label DELAY_MS_L1 0050:0EA5 LD C,A5 0052: label DELAY_MS_L2 0052:0D DEC C 0053:20FD JR NZ,0052 0055:05 DEC B 0056:20F8 JR NZ,0050 0058:3D DEC A 0059:20F3 JR NZ,004E 005B:C1 POP BC 005C:C9 RET End of INCLUDE INCLUDE lcd_8bit.asm LCD_LINE1 EQU 0080 LCD_LINE2 EQU 00C0 LCD_LINE3 EQU 0090 LCD_LINE4 EQU 00D0 LCD_CLS EQU 0001 LCD_HOME EQU 0002 LCD_CGRAM EQU 0040 005D: label LCD_DATA 005D:00 DEFB of1 005E: label LCD_BUSY 005E:3E02 LD A,02 0060:D3FE OUT (FE),A 0062: label LCD_BUSY_LOOP 0062:DBFF IN A,(FF) 0064:CB7F BIT 7,A 0066:20FA JR NZ,0062 0068:C9 RET 0069: label LCD_CHAR 0069:F5 PUSH AF 006A:CD5E00 CALL 005E 006D:3E01 LD A,01 006F:D3FE OUT (FE),A 0071:3A5D00 LD A,(005D) 0074:D3FF OUT (FF),A 0076:F1 POP AF 0077:C9 RET 0078: label LCD_CMMD 0078:F5 PUSH AF 0079:CD5E00 CALL 005E 007C:3E00 LD A,00 007E:D3FE OUT (FE),A 0080:3A5D00 LD A,(005D) 0083:D3FF OUT (FF),A 0085:F1 POP AF 0086:C9 RET 0087: label LCD_INIT 0087:F5 PUSH AF 0088:C5 PUSH BC 0089:3E00 LD A,00 008B:D3FE OUT (FE),A 008D:3E64 LD A,64 008F:CD4D00 CALL 004D 0092:3E30 LD A,30 0094:D3FF OUT (FF),A 0096:3E1E LD A,1E 0098:CD4D00 CALL 004D 009B:3E30 LD A,30 009D:D3FF OUT (FF),A 009F:3E0A LD A,0A 00A1:CD4D00 CALL 004D 00A4:3E30 LD A,30 00A6:D3FF OUT (FF),A 00A8:3E0A LD A,0A 00AA:CD4D00 CALL 004D 00AD:3E38 LD A,38 00AF:D3FF OUT (FF),A 00B1:3E01 LD A,01 00B3:CD4D00 CALL 004D 00B6:3E10 LD A,10 00B8:D3FF OUT (FF),A 00BA:3E01 LD A,01 00BC:CD4D00 CALL 004D 00BF:3E0C LD A,0C 00C1:D3FF OUT (FF),A 00C3:3E01 LD A,01 00C5:CD4D00 CALL 004D 00C8:3E06 LD A,06 00CA:D3FF OUT (FF),A 00CC:3E01 LD A,01 00CE:CD4D00 CALL 004D 00D1:C1 POP BC 00D2:F1 POP AF 00D3:C9 RET End of INCLUDE ORG 2000 2000: label STACK ORG 2000 2000: label RAM_START SYMBOL MAP //////////////////////////////////////////// EXECUTION AND DATA ADDRESSES SYMBOL NAME ADDRESS -------------------------------------------- RESET 0000 START 0014 LOOP 0018 LOOP_SKIP1 0027 LOOP_SKIP2 0037 LOOP_SKIP3 0045 DELAY_MS 004D DELAY_MS_L0 004E DELAY_MS_L1 0050 DELAY_MS_L2 0052 LCD_DATA 005D LCD_BUSY 005E LCD_BUSY_LOOP 0062 LCD_CHAR 0069 LCD_CMMD 0078 LCD_INIT 0087 STACK 2000 RAM_START 2000 CONSTANT DEFINITIONS SYMBOL NAME VALUE -------------------------------------------- LCD_LINE1 0080 LCD_LINE2 00C0 LCD_LINE3 0090 LCD_LINE4 00D0 LCD_CLS 0001 LCD_HOME 0002 LCD_CGRAM 0040 MEMORY USEAGE -------------------------------------------- First Address: 0000 Last Address: 00D3 Bytes used: 00D4