⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m128.lst

📁 用SL811做USB主机的源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
__start:
__text_start:
    0FEE E800      LDI	R16,0x80
    0FEF E011      LDI	R17,1
    0FF0 FF10      SBRS	R17,0
    0FF1 6400      ORI	R16,0x40
    0FF2 BF05      OUT	P35,R16
    0FF3 EFCF      LDI	R28,0xFF
    0FF4 E0DF      LDI	R29,0xF
    0FF5 BFCD      OUT	P3D,R28
    0FF6 BFDE      OUT	P3E,R29
    0FF7 55C0      SUBI	R28,0x50
    0FF8 40D0      SBCI	R29,0
    0FF9 EA0A      LDI	R16,0xAA
    0FFA 8308      STD	R16,0+Y
    0FFB 2400      CLR	R0
    0FFC E2E4      LDI	R30,0x24
    0FFD E1F9      LDI	R31,0x19
    0FFE E612      LDI	R17,0x62
    0FFF 37EE      CPI	R30,0x7E
    1000 07F1      CPC	R31,R17
    1001 F011      BEQ	0x1004
    1002 9201      ST	R0,Z+
    1003 CFFB      RJMP	0x0FFF
    1004 8300      STD	R16,0+Z
    1005 EBE7      LDI	R30,0xB7
    1006 E1F6      LDI	R31,0x16
    1007 E0A0      LDI	R26,0
    1008 E1B0      LDI	R27,0x10
    1009 E11F      LDI	R17,0x1F
    100A 3DEB      CPI	R30,0xDB
    100B 07F1      CPC	R31,R17
    100C F021      BEQ	0x1011
    100D 95C8      LPM
    100E 9631      ADIW	R30,1
    100F 920D      ST	R0,X+
    1010 CFF9      RJMP	0x100A
    1011 940E5111  CALL	_main
_exit:
    1013 CFFF      RJMP	_exit
FILE: E:\zxf\AvrFile\USB-screen\lg-test\define.h
(0001) #define A17_A16_low		{PORTF &= 0xff-3;}
(0002) #define ram_cpl			{PORTG ^= (1<<3);}
(0003) #define ram_low			{PORTG &= ~(1<<3);}
(0004) #define ram_high		{PORTG |= (1<<3);}
(0005) #define fmq_low			{PORTE &= ~(1<<7);}
(0006) #define fmq_high		{PORTE |= (1<<7);}
(0007) 
(0008) #define A17_high		{PORTF |= 2;}
(0009) #define A17_low			{PORTF &= 0xfd;}
(0010) #define A16_high		{PORTF |= 1;}
(0011) #define A16_low			{PORTF &= 0xfe;}
(0012) #define SRAM_32k		{XMCRB |= 0x01;PORTC &= ~(1<<7);}
(0013) #define SRAM_64k		{XMCRB &= 0xfe;}
(0014) #define bytes_1line		64
(0015) #define lines_4kSram	68
(0016) #define En_485_high		{PORTE |= (1<<3);}
(0017) #define En_485_low		{PORTE &= ~(1<<3);}
(0018) #define En_489_high		{PORTE |= (1<<2);}
(0019) #define En_489_low		{PORTE &= ~(1<<2);}
(0020) 
(0021) #define ADDR_0 (*(unsigned char *)0x0000)	//强制定义SRAM 的绝对地址
(0022) #define EXTERN_0 (*(unsigned char *)0x1100)	//强制定义SRAM 的绝对地址
(0023) #define arry[100] (*(unsigned char *)0x0100)	//强制定义SRAM 的绝对地址
(0024) 
(0025) 
(0026) extern unsigned char usb_data[16*32]=
(0027) 	{
(0028) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0029) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0030) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0031) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0032) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0033) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0034) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0035) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0036) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0037) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0038) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0039) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0040) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0041) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0042) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0043) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0044) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0045) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0046) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0047) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0048) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0049) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0050) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0051) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0052) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0053) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0054) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0055) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0056) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0057) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0058) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0059) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0060) 	};
(0061) 
(0062) extern unsigned char Fat_data[16*32]=
(0063) 	{
(0064) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0065) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0066) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0067) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0068) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0069) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0070) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0071) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0072) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0073) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0074) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0075) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0076) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0077) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0078) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0079) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0080) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0081) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0082) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0083) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0084) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0085) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0086) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0087) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0088) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0089) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0090) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0091) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0092) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0093) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0094) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0095) 	0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
(0096) 	};
(0097) 
(0098) 
(0099) unsigned char re_disp,bits[8];
(0100) unsigned char page=0,p_old=0,d_old=0,var_temp=0;
(0101) unsigned int vars[11]={1234};
(0102) unsigned long USB_address=0;
(0103) typedef struct
(0104)  			  {
(0105) 			  unsigned bit0:1;
(0106) 	   		  unsigned bit1:1;
(0107) 			  unsigned bit2:1;
(0108) 			  unsigned bit3:1;
(0109) 			  unsigned bit4:1;
(0110) 	   		  unsigned bit5:1;
(0111) 			  unsigned bit6:1;
(0112) 			  unsigned bit7:1;
(0113) 			  }flag_info;
(0114) 			  
(0115) flag_info userflag={0,0,0,0,0,0,0,0};			  		  
(0116) #define send_Enable userflag.bit0
(0117) #define key_close userflag.bit1
(0118) #define key_open userflag.bit2
(0119) #define	setup userflag.bit3
(0120) #define ready_adc userflag.bit4
(0121) #define open_adc userflag.bit5
(0122) #define close_adc userflag.bit6
(0123) flag_info userflag1={0,0,0,0,0,0,0,0};
(0124) #define readEnd userflag1.bit0
(0125) #define Usb_success userflag1.bit1
(0126) #define flashing userflag1.bit2
(0127) 
(0128) void flash400ms(void)
(0129) {static unsigned int ms400;
(0130) 		ms400++;
_flash400ms:
    1014 91801924  LDS	R24,0x1924
    1016 91901925  LDS	R25,0x1925
    1018 9601      ADIW	R24,1
    1019 93901925  STS	0x1925,R25
    101B 93801924  STS	0x1924,R24
(0131) 		if (ms400==400) 
    101D 3980      CPI	R24,0x90
    101E E0E1      LDI	R30,1
    101F 079E      CPC	R25,R30
    1020 F519      BNE	0x1044
(0132) 		   {ms400=0;flashing=~flashing;}	   
    1021 2422      CLR	R2
    1022 2433      CLR	R3
    1023 92301925  STS	0x1925,R3
    1025 92201924  STS	0x1924,R2
    1027 9180141F  LDS	R24,0x141F
    1029 91901420  LDS	R25,0x1420
    102B 9596      LSR	R25
    102C 9587      ROR	R24
    102D 9596      LSR	R25
    102E 9587      ROR	R24
    102F 7081      ANDI	R24,1
    1030 7090      ANDI	R25,0
    1031 9580      COM	R24
    1032 9590      COM	R25
    1033 7081      ANDI	R24,1
    1034 7090      ANDI	R25,0
    1035 0F88      LSL	R24
    1036 1F99      ROL	R25
    1037 0F88      LSL	R24
    1038 1F99      ROL	R25
    1039 7084      ANDI	R24,4
    103A 7090      ANDI	R25,0
    103B 91E0141F  LDS	R30,0x141F
    103D 91F01420  LDS	R31,0x1420
    103F 7FEB      ANDI	R30,0xFB
    1040 2BE8      OR	R30,R24
    1041 2BF9      OR	R31,R25
    1042 93E0141F  STS	0x141F,R30
(0133) }
    1044 9508      RET
(0134) void init_ram(void)
(0135) {unsigned char *p;
(0136)  unsigned int i;
(0137) 	 
(0138) 	 send_Enable=0;
_init_ram:
  i                    --> Y+1
  p                    --> Y+1
    1045 9180141E  LDS	R24,0x141E
    1047 9190141F  LDS	R25,0x141F
    1049 7F8E      ANDI	R24,0xFE
    104A 9380141E  STS	0x141E,R24
(0139) 	 key_close=0;
    104C 9180141E  LDS	R24,0x141E
    104E 9190141F  LDS	R25,0x141F
    1050 7F8D      ANDI	R24,0xFD
    1051 9380141E  STS	0x141E,R24
(0140) 	 key_open=0;
    1053 9180141E  LDS	R24,0x141E
    1055 9190141F  LDS	R25,0x141F
    1057 7F8B      ANDI	R24,0xFB
    1058 9380141E  STS	0x141E,R24
(0141) 	 setup=0;
    105A 9180141E  LDS	R24,0x141E
    105C 9190141F  LDS	R25,0x141F
    105E 7F87      ANDI	R24,0xF7
    105F 9380141E  STS	0x141E,R24
(0142) 	 ready_adc=0;
    1061 9180141E  LDS	R24,0x141E
    1063 9190141F  LDS	R25,0x141F
    1065 7E8F      ANDI	R24,0xEF
    1066 9380141E  STS	0x141E,R24
(0143) 	 open_adc=0;
    1068 9180141E  LDS	R24,0x141E
    106A 9190141F  LDS	R25,0x141F
    106C 7D8F      ANDI	R24,0xDF
    106D 9380141E  STS	0x141E,R24
(0144) 	 close_adc=0;
    106F 9180141E  LDS	R24,0x141E
    1071 9190141F  LDS	R25,0x141F
    1073 7B8F      ANDI	R24,0xBF
    1074 9380141E  STS	0x141E,R24
(0145) 	 readEnd=0;
    1076 9180141F  LDS	R24,0x141F
    1078 91901420  LDS	R25,0x1420
    107A 7F8E      ANDI	R24,0xFE
    107B 9380141F  STS	0x141F,R24
(0146) 
(0147) 	 var_temp=0;
    107D 2422      CLR	R2
    107E 92201403  STS	0x1403,R2
(0148) 	 page=0;
    1080 92201400  STS	0x1400,R2
(0149) }
    1082 9508      RET
(0150) void put_u1(unsigned char u_data)
(0151) {	En_485_high
_put_u1:
  u_data               --> R16
    1083 9A1B      SBI	P03,3
(0152) 	UDR1=u_data;
    1084 9300009C  STS	0x9C,R16
(0153) 	while(!(UCSR1A&(1<<6)));
    1086 9020009B  LDS	R2,0x9B
    1088 FE26      SBRS	R2,6
    1089 CFFC      RJMP	0x1086
(0154) 	UCSR1A &= ~(1<<6);
    108A 9180009B  LDS	R24,0x9B
    108C 7B8F      ANDI	R24,0xBF
    108D 9380009B  STS	0x9B,R24
(0155) 	En_485_low
    108F 981B      CBI	P03,3
(0156) }
    1090 9508      RET
_dispASC:
  j                    --> Y+1
  q                    --> R22
  p                    --> R10
  i                    --> R20
  z                    --> R14
  y                    --> R4
  x                    --> R12
    1091 940E522D  CALL	push_gset5
    1093 2E42      MOV	R4,R18
    1094 2EC0      MOV	R12,R16
    1095 84EA      LDD	R14,10+Y
    1096 84FB      LDD	R15,11+Y
FILE: E:\zxf\AvrFile\USB-screen\lg-test\subpro.h
(0001) /****************Description of the subprograms.************
(0002) clear_screen前240*64 SRAM清零
(0003) disp16x16	16x16字符显示
(0004) disp16x8	16x8字符显示
(0005) disp24x24	24x24字符显示
(0006) picture	 	图画显示
(0007) Line   	 	1=竖线,0=横线
(0008) ***********************************************************/
(0009) void dispASC(unsigned char x,unsigned char y,unsigned int z)
(0010) {unsigned  char i,j,*p,*q;
(0011)  
(0012)   p=&ADDR_0+y*bytes_1line+x;			//起始定位
    1097 E480      LDI	R24,0x40
    1098 9D84      MUL	R24,R4
    1099 01C0      MOVW	R24,R0
    109A 2CAC      MOV	R10,R12
    109B 24BB      CLR	R11
    109C 0EA8      ADD	R10,R24
    109D 1EB9      ADC	R11,R25
(0013)   z=(z-0x20)*16;								//数据定位
    109E 0197      MOVW	R18,R14
    109F 5220      SUBI	R18,0x20
    10A0 4030      SBCI	R19,0
    10A1 E100      LDI	R16,0x10
    10A2 E010      LDI	R17,0
    10A3 940E5197  CALL	empy16s
    10A5 0178      MOVW	R14,R16
(0014)   A17_high	 //选择外部显示Ram
    10A6 91800062  LDS	R24,0x62
    10A8 6082      ORI	R24,2
    10A9 93800062  STS	0x62,R24
(0015) 
(0016)   for (i=16;i>0;i--)
    10AB E140      LDI	R20,0x10
    10AC C035      RJMP	0x10E2
(0017)   	  {if (y<lines_4kSram)
    10AD 2D84      MOV	R24,R4
    10AE 3484      CPI	R24,0x44
    10AF F4E0      BCC	0x10CC
(0018) 	  	  		{SRAM_32k
    10B0 9180006C  LDS	R24,0x6C
    10B2 6081      ORI	R24,1
    10B3 9380006C  STS	0x6C,R24
    10B5 98AF      CBI	P15,7
(0019) 				q=p+32*1024;
    10B6 01B5      MOVW	R22,R10
    10B7 5060      SUBI	R22,0
    10B8 4870      SBCI	R23,0x80
(0020) 				*q=~ASCII[z++];
    10B9 0117      MOVW	R2,R14
    10BA 01C1      MOVW	R24,R2
    10BB 9601      ADIW	R24,1
    10BC 017C      MOVW	R14,R24
    10BD E88A      LDI	R24,0x8A
    10BE E091      LDI	R25,1
    10BF 01F1      MOVW	R30,R2
    10C0 0FE8      ADD	R30,R24
    10C1 1FF9      ADC	R31,R25
    10C2 91E4      LPM	R30,0(Z)
    10C3 95E0      COM	R30
    10C4 01DB      MOVW	R26,R22
    10C5 93EC      ST	R30,0(X)
(0021) 				SRAM_64k
    10C6 9180006C  LDS	R24,0x6C
    10C8 7F8E      ANDI	R24,0xFE
    10C9 9380006C  STS	0x6C,R24
(0022) 				}
    10CB C00D      RJMP	0x10D9
(0023) 		else 	*p=~ASCII[z++];
    10CC 0117      MOVW	R2,R14
    10CD 01C1      MOVW	R24,R2
    10CE 9601      ADIW	R24,1
    10CF 017C      MOVW	R14,R24
    10D0 E88A      LDI	R24,0x8A
    10D1 E091      LDI	R25,1
    10D2 01F1      MOVW	R30,R2
    10D3 0FE8      ADD	R30,R24
    10D4 1FF9      ADC	R31,R25
    10D5 91E4      LPM	R30,0(Z)
    10D6 95E0      COM	R30
    10D7 01D5      MOVW	R26,R10
    10D8 93EC      ST	R30,0(X)
(0024) 	   y++;
    10D9 9443      INC	R4
(0025) 	   p=&ADDR_0+y*bytes_1line+x;
    10DA E480      LDI	R24,0x40
    10DB 9D84      MUL	R24,R4
    10DC 01C0      MOVW	R24,R0
    10DD 2CAC      MOV	R10,R12
    10DE 24BB      CLR	R11
    10DF 0EA8      ADD	R10,R24
    10E0 1EB9      ADC	R11,R25
    10E1 954A      DEC	R20
    10E2 2422      CLR	R2
    10E3 1624      CP	R2,R20
    10E4 F408      BCC	0x10E6
    10E5 CFC7      RJMP	0x10AD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -