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

📄 serires sub.ls1

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 LS1
📖 第 1 页 / 共 5 页
字号:
00B1 22              840             RET     
                     841     ; END OF Read_datas
                     842     
                     843     ; 
                     844     ; /*********************************************************
                     845     ; *function name    :void In_datas();
                     846     ; *function describe:receive datas from the pc
A51 MACRO ASSEMBLER  SERIRES_SUB                                                          07/16/2008 08:39:36 PAGE    14

                     847     ; *********************************************************/
                     848     ; void In_datas() 
                     849     
----                 850             RSEG  ?PR?In_datas?SERIRES_SUB
0000                 851     In_datas:
                     852             USING   0
                     853                             ; SOURCE LINE # 192
                     854     ; {    
                     855                             ; SOURCE LINE # 193
                     856     ;       int j_in;
                     857     ;       uint In_size;
                     858     ;       In_size=(Instruction[3])*256+Instruction[4];
                     859                             ; SOURCE LINE # 196
0000 E500     F      860             MOV     A,Instruction+03H
0002 FE              861             MOV     R6,A
0003 7C00            862             MOV     R4,#00H
0005 E4              863             CLR     A
0006 2500     F      864             ADD     A,Instruction+04H
0008 F500     F      865             MOV     In_size?461+01H,A
000A EC              866             MOV     A,R4
000B 3E              867             ADDC    A,R6
000C F500     F      868             MOV     In_size?461,A
                     869     ;       for(j_in=0;j_in<In_size;j_in++) 
                     870                             ; SOURCE LINE # 197
000E E4              871             CLR     A
000F F500     F      872             MOV     j_in?460,A
0011 F500     F      873             MOV     j_in?460+01H,A
0013                 874     ?C0015:
0013 C3              875             CLR     C
0014 E500     F      876             MOV     A,j_in?460+01H
0016 9500     F      877             SUBB    A,In_size?461+01H
0018 E500     F      878             MOV     A,j_in?460
001A 9500     F      879             SUBB    A,In_size?461
001C 501B            880             JNC     ?C0018
                     881     ;               {
                     882                             ; SOURCE LINE # 198
                     883     ;               Eeprom[j_in]=(input());
                     884                             ; SOURCE LINE # 199
001E 120000   F      885             LCALL   input
0021 7400     F      886             MOV     A,#LOW (Eeprom)
0023 2500     F      887             ADD     A,j_in?460+01H
0025 F582            888             MOV     DPL,A
0027 7400     F      889             MOV     A,#HIGH (Eeprom)
0029 3500     F      890             ADDC    A,j_in?460
002B F583            891             MOV     DPH,A
002D EF              892             MOV     A,R7
002E F0              893             MOVX    @DPTR,A
                     894     ;       }
                     895                             ; SOURCE LINE # 200
002F 0500     F      896             INC     j_in?460+01H
0031 E500     F      897             MOV     A,j_in?460+01H
0033 70DE            898             JNZ     ?C0015
0035 0500     F      899             INC     j_in?460
0037                 900     ?C0040:
0037 80DA            901             SJMP    ?C0015
                     902     ; }
                     903                             ; SOURCE LINE # 201
0039                 904     ?C0018:
0039 22              905             RET     
                     906     ; END OF In_datas
                     907     
                     908     ; 
                     909     ; void Write_datas()
                     910     
----                 911             RSEG  ?PR?Write_datas?SERIRES_SUB
0000                 912     Write_datas:
A51 MACRO ASSEMBLER  SERIRES_SUB                                                          07/16/2008 08:39:36 PAGE    15

                     913             USING   0
                     914                             ; SOURCE LINE # 203
                     915     ; {
                     916                             ; SOURCE LINE # 204
                     917     ;       uchar addrll,addrhh;
                     918     ;       int w_cycle;
                     919     ;       uint Crystal,Crystal_r;
                     920     ;       uint Data_Size_Write;
                     921     ; //    uchar byte_h,byte_l;
                     922     ;       uchar back_byte_h,back_byte_l;
                     923     ; 
                     924     ;       Crystal=Baud_Config();
                     925                             ; SOURCE LINE # 212
0000 120000   F      926             LCALL   Baud_Config
0003 8E00     F      927             MOV     Crystal?565,R6
0005 8F00     F      928             MOV     Crystal?565+01H,R7
                     929     ; 
                     930     ;       In_datas();
                     931                             ; SOURCE LINE # 214
0007 120000   F      932             LCALL   In_datas
                     933     ;       output(0xee);
                     934                             ; SOURCE LINE # 215
000A 7FEE            935             MOV     R7,#0EEH
000C 120000   F      936             LCALL   _output
                     937     ; 
                     938     ;       Crystal_r=Crystal+1;
                     939                             ; SOURCE LINE # 217
000F E500     F      940             MOV     A,Crystal?565+01H
0011 2401            941             ADD     A,#01H
0013 F500     F      942             MOV     Crystal_r?566+01H,A
0015 E4              943             CLR     A
0016 3500     F      944             ADDC    A,Crystal?565
0018 F500     F      945             MOV     Crystal_r?566,A
                     946     ;  
                     947     ;       addrhh=Instruction[1];
                     948                             ; SOURCE LINE # 219
001A 850000   F      949             MOV     addrhh?563,Instruction+01H
                     950     ;       addrll=Instruction[2];
                     951                             ; SOURCE LINE # 220
001D 850000   F      952             MOV     addrll?562,Instruction+02H
                     953     ;       Data_Size_Write=(Instruction[3])*256+Instruction[4];
                     954                             ; SOURCE LINE # 221
0020 E500     F      955             MOV     A,Instruction+03H
0022 FE              956             MOV     R6,A
0023 7C00            957             MOV     R4,#00H
0025 E4              958             CLR     A
0026 2500     F      959             ADD     A,Instruction+04H
0028 F500     F      960             MOV     Data_Size_Write?567+01H,A
002A EC              961             MOV     A,R4
002B 3E              962             ADDC    A,R6
002C F500     F      963             MOV     Data_Size_Write?567,A
                     964     ; 
                     965     ;       //Trbyte(0x90,Crystal,Crystal);
                     966     ;       delay10ms();
                     967                             ; SOURCE LINE # 224
002E 120000   F      968             LCALL   delay10ms
                     969     ;       Config_Eeprom(Crystal);
                     970                             ; SOURCE LINE # 225
0031 AF00     F      971             MOV     R7,Crystal?565+01H
0033 AE00     F      972             MOV     R6,Crystal?565
0035 120000   F      973             LCALL   _Config_Eeprom
                     974     ;       delay100ms();
                     975                             ; SOURCE LINE # 226
0038 120000   F      976             LCALL   delay100ms
                     977     ; 
                     978     ;       for(w_cycle=0;w_cycle<Data_Size_Write;w_cycle+=4)
A51 MACRO ASSEMBLER  SERIRES_SUB                                                          07/16/2008 08:39:36 PAGE    16

                     979                             ; SOURCE LINE # 228
003B E4              980             CLR     A
003C F500     F      981             MOV     w_cycle?564,A
003E F500     F      982             MOV     w_cycle?564+01H,A
0040                 983     ?C0019:
0040 C3              984             CLR     C
0041 E500     F      985             MOV     A,w_cycle?564+01H
0043 9500     F      986             SUBB    A,Data_Size_Write?567+01H
0045 E500     F      987             MOV     A,w_cycle?564
0047 9500     F      988             SUBB    A,Data_Size_Write?567
0049 4003            989             JC      $ + 5H
004B 020000   F      990             LJMP    ?C0020
                     991     ;               {
                     992                             ; SOURCE LINE # 229
                     993     ;               Trbyte(0xC8,Crystal,Crystal);Trbyte(addrhh,Crystal,Crystal);Trbyte(addrll,C
                             rystal,Crystal);
                     994                             ; SOURCE LINE # 230
004E AB00     F      995             MOV     R3,Crystal?565+01H
0050 AA00     F      996             MOV     R2,Crystal?565
0052 AD00     F      997             MOV     R5,Crystal?565+01H
0054 AC00     F      998             MOV     R4,Crystal?565
0056 7FC8            999             MOV     R7,#0C8H
0058 120000   F     1000             LCALL   _Trbyte
005B AB00     F     1001             MOV     R3,Crystal?565+01H
005D AA00     F     1002             MOV     R2,Crystal?565
005F AD00     F     1003             MOV     R5,Crystal?565+01H
0061 AC00     F     1004             MOV     R4,Crystal?565
0063 AF00     F     1005             MOV     R7,addrhh?563
0065 120000   F     1006             LCALL   _Trbyte
0068 AB00     F     1007             MOV     R3,Crystal?565+01H
006A AA00     F     1008             MOV     R2,Crystal?565
006C AD00     F     1009             MOV     R5,Crystal?565+01H
006E AC00     F     1010             MOV     R4,Crystal?565
0070 AF00     F     1011             MOV     R7,addrll?562
0072 120000   F     1012             LCALL   _Trbyte
                    1013     ;               Trbyte(0xff,Crystal,Crystal);Trbyte(0xff,Crystal,Crystal);
                    1014                             ; SOURCE LINE # 231
0075 AB00     F     1015             MOV     R3,Crystal?565+01H
0077 AA00     F     1016             MOV     R2,Crystal?565
0079 AD00     F     1017             MOV     R5,Crystal?565+01H
007B AC00     F     1018             MOV     R4,Crystal?565
007D 7FFF           1019             MOV     R7,#0FFH
007F 120000   F     1020             LCALL   _Trbyte
0082 AB00     F     1021             MOV     R3,Crystal?565+01H
0084 AA00     F     1022             MOV     R2,Crystal?565
0086 AD00     F     1023             MOV     R5,Crystal?565+01H
0088 AC00     F     1024             MOV     R4,Crystal?565
008A 7FFF           1025             MOV     R7,#0FFH
008C 120000   F     1026             LCALL   _Trbyte
                    1027     ;               delay104us();
                    1028                             ; SOURCE LINE # 232
008F 120000   F     1029             LCALL   delay104us
                    1030     ;               Trbyte(0xC0,Crystal,Crystal);Trbyte(0x01,Crystal,Crystal);Trbyte(0x16,Cryst
                             al,Crystal);Trbyte(0x40,Crystal,Crystal);Trbyte(0x40,Crystal,Crystal);//C0 01 16 40 40     
                                       Erase two words(fore bytes)
                    1031                             ; SOURCE LINE # 233
0092 AB00     F     1032             MOV     R3,Crystal?565+01H
0094 AA00     F     1033             MOV     R2,Crystal?565
0096 AD00     F     1034             MOV     R5,Crystal?565+01H
0098 AC00     F     1035             MOV     R4,Crystal?565
009A 7FC0           1036             MOV     R7,#0C0H
009C 120000   F     1037             LCALL   _Trbyte
009F AB00     F     1038             MOV     R3,Crystal?565+01H
00A1 AA00     F     1039             MOV     R2,Crystal?565
00A3 AD00     F     1040             MOV     R5,Crystal?565+01H
00A5 AC00     F     1041             MOV     R4,Crystal?565
A51 MACRO ASSEMBLER  SERIRES_SUB                                                          07/16/2008 08:39:36 PAGE    17

00A7 7F01           1042             MOV     R7,#01H
00A9 120000   F     1043             LCALL   _Trbyte
00AC AB00     F     1044             MOV     R3,Crystal?565+01H
00AE AA00     F     1045             MOV     R2,Crystal?565
00B0 AD00     F     1046             MOV     R5,Crystal?565+

⌨️ 快捷键说明

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