📄 sdrv_putsdimage.lst
字号:
\ 0089 CD0000 CALL ?SL_MOD_L03
\ 008C EB EX DE,HL
\ 008D 210002 LD HL,512
\ 0090 A7 AND A
\ 0091 ED52 SBC HL,DE
\ 0093 E5 PUSH HL
\ 0094 FDE1 POP IY
60
61 sdrw.faddr=imgddr;
\ 0096 210C00 LD HL,12
\ 0099 39 ADD HL,SP
\ 009A 5E LD E,(HL)
\ 009B 23 INC HL
\ 009C 56 LD D,(HL)
\ 009D 23 INC HL
\ 009E 4E LD C,(HL)
\ 009F 23 INC HL
\ 00A0 46 LD B,(HL)
\ 00A1 EB EX DE,HL
\ 00A2 220000 LD (sdrw),HL
\ 00A5 ED430200 LD (sdrw+2),BC
62 sdrw.srampage=input8(0x05)&0x0f;//(byte)BufPage; //FRAME BUFFER PAGE
\ 00A9 DB05 IN A,(5)
\ 00AB E60F AND 15
\ 00AD 320700 LD (sdrw+7),A
63 sdrw.sramaddr = (WORD)DisplayBuffer;
\ 00B0 210000 LD HL,DisplayBuffer
\ 00B3 220500 LD (sdrw+5),HL
64 if (cnt > (unsigned long)cnt1)
\ 00B6 210000 LD HL,0
\ 00B9 39 ADD HL,SP
\ 00BA 4E LD C,(HL)
\ 00BB 23 INC HL
\ 00BC 46 LD B,(HL)
\ 00BD 23 INC HL
\ 00BE 5E LD E,(HL)
\ 00BF 23 INC HL
\ 00C0 56 LD D,(HL)
\ 00C1 D5 PUSH DE
\ 00C2 C5 PUSH BC
\ 00C3 FDE5 PUSH IY
\ 00C5 E1 POP HL
\ 00C6 110000 LD DE,0
\ 00C9 A7 AND A
\ 00CA C1 POP BC
\ 00CB ED42 SBC HL,BC
\ 00CD EB EX DE,HL
\ 00CE C1 POP BC
\ 00CF ED42 SBC HL,BC
\ 00D1 302B JR NC,?0009
\ 00D3 ?0008:
65 {
66 SD_Read((int)&sdrw, cnt1);//把图片数据读出 放到 DisplayBuffer 中
\ 00D3 FDE5 PUSH IY
\ 00D5 C1 POP BC
\ 00D6 110000 LD DE,sdrw
\ 00D9 CD0000 CALL SD_Read
67 Hdrv_BuffDataTrans(DisplayBuffer, cnt1);//把显存中的数据搬到LCM中
\ 00DC FDE5 PUSH IY
\ 00DE C1 POP BC
\ 00DF 110000 LD DE,DisplayBuffer
\ 00E2 CD0000 CALL Hdrv_BuffDataTrans
68 cnt -= cnt1;
\ 00E5 210000 LD HL,0
\ 00E8 39 ADD HL,SP
\ 00E9 FDE5 PUSH IY
\ 00EB D1 POP DE
\ 00EC 010000 LD BC,0
\ 00EF CD0000 CALL ?L_SUBASG_L03
69 sdrw.faddr += cnt1;
\ 00F2 210000 LD HL,sdrw
\ 00F5 FDE5 PUSH IY
\ 00F7 D1 POP DE
\ 00F8 010000 LD BC,0
\ 00FB CD0000 CALL ?L_ADDASG_L03
\ 00FE ?0009:
70 }
71 if (cnt == 0)
\ 00FE 210000 LD HL,0
\ 0101 39 ADD HL,SP
\ 0102 7E LD A,(HL)
\ 0103 23 INC HL
\ 0104 B6 OR (HL)
\ 0105 23 INC HL
\ 0106 B6 OR (HL)
\ 0107 23 INC HL
\ 0108 B6 OR (HL)
\ 0109 2874 JR Z,?0015
\ 010B ?0010:
72 {
73 return;
74 }
\ 010B ?0011:
\ 010B ?0013:
75
76 while (cnt > (unsigned long)DisplayBufLen)// 一个显示暂存区的大小
\ 010B 210000 LD HL,0
\ 010E 39 ADD HL,SP
\ 010F 4E LD C,(HL)
\ 0110 23 INC HL
\ 0111 46 LD B,(HL)
\ 0112 23 INC HL
\ 0113 5E LD E,(HL)
\ 0114 23 INC HL
\ 0115 56 LD D,(HL)
\ 0116 D5 PUSH DE
\ 0117 C5 PUSH BC
\ 0118 A7 AND A
\ 0119 210002 LD HL,512
\ 011C C1 POP BC
\ 011D ED42 SBC HL,BC
\ 011F 210000 LD HL,0
\ 0122 C1 POP BC
\ 0123 ED42 SBC HL,BC
\ 0125 302D JR NC,?0012
\ 0127 ?0014:
77 {
78 SD_Read((int)&sdrw, DisplayBufLen);//把图片数据读出
\ 0127 010002 LD BC,512
\ 012A 110000 LD DE,sdrw
\ 012D CD0000 CALL SD_Read
79 Hdrv_BuffDataTrans(DisplayBuffer, DisplayBufLen);//把显存中的数据搬到LCM中
\ 0130 010002 LD BC,512
\ 0133 110000 LD DE,DisplayBuffer
\ 0136 CD0000 CALL Hdrv_BuffDataTrans
80 cnt = cnt - (unsigned long)DisplayBufLen;
\ 0139 210000 LD HL,0
\ 013C 39 ADD HL,SP
\ 013D 01FFFF LD BC,65535
\ 0140 1100FE LD DE,65024
\ 0143 CD0000 CALL ?L_ADDASG_L03
81 sdrw.faddr += DisplayBufLen;
\ 0146 210000 LD HL,sdrw
\ 0149 010000 LD BC,0
\ 014C 110002 LD DE,512
\ 014F CD0000 CALL ?L_ADDASG_L03
\ 0152 18B7 JR ?0011
\ 0154 ?0012:
82 }
83 sdrw.sramaddr = (WORD)DisplayBuffer;
\ 0154 210000 LD HL,DisplayBuffer
\ 0157 220500 LD (sdrw+5),HL
84 SD_Read((int)&sdrw, cnt);//把图片数据读出
\ 015A 210000 LD HL,0
\ 015D 39 ADD HL,SP
\ 015E 5E LD E,(HL)
\ 015F 23 INC HL
\ 0160 56 LD D,(HL)
\ 0161 EB EX DE,HL
\ 0162 4D LD C,L
\ 0163 44 LD B,H
\ 0164 110000 LD DE,sdrw
\ 0167 CD0000 CALL SD_Read
85 Hdrv_BuffDataTrans(DisplayBuffer, cnt);//把显存中的数据搬到LCM中
\ 016A 210000 LD HL,0
\ 016D 39 ADD HL,SP
\ 016E 4E LD C,(HL)
\ 016F 23 INC HL
\ 0170 46 LD B,(HL)
\ 0171 23 INC HL
\ 0172 5E LD E,(HL)
\ 0173 23 INC HL
\ 0174 56 LD D,(HL)
\ 0175 D5 PUSH DE
\ 0176 C5 PUSH BC
\ 0177 110000 LD DE,DisplayBuffer
\ 017A CD0000 CALL Hdrv_BuffDataTrans
\ 017D F1 POP AF
\ 017E F1 POP AF
86
87 }
\ 017F ?0015:
\ 017F E1 POP HL
\ 0180 E1 POP HL
\ 0181 DDE1 POP IX
\ 0183 FDE1 POP IY
\ 0185 C1 POP BC
\ 0186 C9 RET
88
\ 0000 RSEG BAD_PSDI
\ 0000 sdrw:
\ 0008 DEFS 8
\ 0008 END
Errors: none
Warnings: none
Code size: 391
Constant size: 0
Static variable size: Data(8) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -