Sorry, I don't know Chinese, so I use English instead. And my main calculator model I used is 580VNX. Don't worry, I still work for 991cnx because I have my ability to translate gadget.
0:8AD0 is the good function can print any image at any size you want (even a small obstacle), the maximum size here i think is 192x63 (write in hex: C0x3F). This is a few first instructions of 0:8AD0 I will show you:
0:8AD0H PUSH XR4
0:8AD2H PUSH QR8
0:8AD4H ADD SP, -04H
0:8AD6H MOV ER8, SP
0:8AD8H L ER8, +14H【ER8】
0:8ADCH BEQ .l_0A6
.l_010:
0:8ADEH MOV ER10, ER2
0:8AE0H ADD R10, #-1H
0:8AE2H MOV R5, R10
0:8AE4H PUSH ER0
0:8AE6H ADD R0, R2
0:8AE8H BLT .l_0AE
0:8AEAH CMP R0, #C1H
0:8AECH BGE .l_0AE
0:8AEEH ADD R1, R3
0:8AF0H BLT .l_0AE
0:8AF2H CMP R1, #41H
0:8AF4H BGE .l_0AE
0:8AF6H POP ER0
0:8AF8H MOV ER2, SP
0:8AFAH BL f_08750
0:8AFEH MOV R7, R0
【and so on, please read the 991cnx disas for more information】
If you look carefully, it used BL 0:8750, it means it will call that function to convert the coordinates to the corresponding address and print it at the correct position on the screen.
0:8AD0 is the good function can print any image at any size you want (even a small obstacle), the maximum size here i think is 192x63 (write in hex: C0x3F). This is a few first instructions of 0:8AD0 I will show you:
0:8AD0H PUSH XR4
0:8AD2H PUSH QR8
0:8AD4H ADD SP, -04H
0:8AD6H MOV ER8, SP
0:8AD8H L ER8, +14H【ER8】
0:8ADCH BEQ .l_0A6
.l_010:
0:8ADEH MOV ER10, ER2
0:8AE0H ADD R10, #-1H
0:8AE2H MOV R5, R10
0:8AE4H PUSH ER0
0:8AE6H ADD R0, R2
0:8AE8H BLT .l_0AE
0:8AEAH CMP R0, #C1H
0:8AECH BGE .l_0AE
0:8AEEH ADD R1, R3
0:8AF0H BLT .l_0AE
0:8AF2H CMP R1, #41H
0:8AF4H BGE .l_0AE
0:8AF6H POP ER0
0:8AF8H MOV ER2, SP
0:8AFAH BL f_08750
0:8AFEH MOV R7, R0
【and so on, please read the 991cnx disas for more information】
If you look carefully, it used BL 0:8750, it means it will call that function to convert the coordinates to the corresponding address and print it at the correct position on the screen.