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

📄 extract.lst

📁 Philips LPC2138 Demo Application with Keil C
💻 LST
📖 第 1 页 / 共 2 页
字号:
 00000010  1C0C      MOV         R4,R1 ; offset
 00000012  3403      ADD         R4,#0x3
 00000014  1C18      MOV         R0,R3 ; buf
 00000016  5D00      LDRB        R0,[R0,R4]
 00000018  0600      LSL         R0,R0,#0x18
 0000001A  1880      ADD         R0,R2
 0000001C  1C0C      MOV         R4,R1 ; offset
 0000001E  3401      ADD         R4,#0x1
 00000020  1C1A      MOV         R2,R3 ; buf
 00000022  5D12      LDRB        R2,[R2,R4]
 00000024  0212      LSL         R2,R2,#0x8
 00000026  1880      ADD         R0,R2
 00000028  1C0A      MOV         R2,R1 ; offset
 0000002A  1C19      MOV         R1,R3 ; buf
 0000002C  5C89      LDRB        R1,[R1,R2]
 0000002E  1840      ADD         R0,R1
   90: }
 00000030  BC10      POP         {R4}
 00000032  4770      BX          R14
 00000034          ENDP ; 'ex_getb32?T'

ARM COMPILER V2.42,  extract                                                               27/03/06  10:45:49  PAGE 5   


*** CODE SEGMENT '?PR?ex_setb16?T?extract':
   93: void ex_setb16(euint8* buf,euint32 offset,euint16 data)
 00000000  B430      PUSH        {R4-R5}
 00000002  ---- Variable 'data' assigned to Register 'R2' ----
 00000002  1C0C      MOV         R4,R1 ; offset
 00000004  ---- Variable 'offset' assigned to Register 'R4' ----
 00000004  1C03      MOV         R3,R0 ; buf
 00000006  ---- Variable 'buf' assigned to Register 'R3' ----
   99:     *(buf+offset+0) = data>>0;
 00000006  1C10      MOV         R0,R2 ; data
 00000008  0405      LSL         R5,R0,#0x10 ; data
 0000000A  0C2D      LSR         R5,R5,#0x10
 0000000C  062D      LSL         R5,R5,#0x18
 0000000E  0E2D      LSR         R5,R5,#0x18
 00000010  1C21      MOV         R1,R4 ; offset
 00000012  1C18      MOV         R0,R3 ; buf
 00000014  5445      STRB        R5,[R0,R1]
  100:     *(buf+offset+1) = data>>8;
 00000016  1C10      MOV         R0,R2 ; data
 00000018  0402      LSL         R2,R0,#0x10 ; data
 0000001A  0C12      LSR         R2,R2,#0x10
 0000001C  0A12      LSR         R2,R2,#0x8
 0000001E  0612      LSL         R2,R2,#0x18
 00000020  0E12      LSR         R2,R2,#0x18
 00000022  1C21      MOV         R1,R4 ; offset
 00000024  1C18      MOV         R0,R3 ; buf
 00000026  1840      ADD         R0,R1 ; buf
 00000028  7042      STRB        R2,[R0,#0x1]
  102: }
 0000002A  BC30      POP         {R4-R5}
 0000002C  4770      BX          R14
 0000002E          ENDP ; 'ex_setb16?T'


*** CODE SEGMENT '?PR?ex_setb32?T?extract':
  105: void ex_setb32(euint8* buf,euint32 offset,euint32 data)
 00000000  B430      PUSH        {R4-R5}
 00000002  1C15      MOV         R5,R2 ; data
 00000004  ---- Variable 'data' assigned to Register 'R5' ----
 00000004  1C0C      MOV         R4,R1 ; offset
 00000006  ---- Variable 'offset' assigned to Register 'R4' ----
 00000006  1C03      MOV         R3,R0 ; buf
 00000008  ---- Variable 'buf' assigned to Register 'R3' ----
  113:     *(buf+offset+0) = data>> 0;
 00000008  1C2A      MOV         R2,R5 ; data
 0000000A  0612      LSL         R2,R2,#0x18 ; data
 0000000C  0E12      LSR         R2,R2,#0x18
 0000000E  1C21      MOV         R1,R4 ; offset
 00000010  1C18      MOV         R0,R3 ; buf
 00000012  5442      STRB        R2,[R0,R1]
  114:     *(buf+offset+1) = data>> 8;
 00000014  1C2A      MOV         R2,R5 ; data
 00000016  0A12      LSR         R2,R2,#0x8 ; data
 00000018  0612      LSL         R2,R2,#0x18
 0000001A  0E12      LSR         R2,R2,#0x18
 0000001C  1C21      MOV         R1,R4 ; offset
 0000001E  1C18      MOV         R0,R3 ; buf
 00000020  1840      ADD         R0,R1 ; buf
 00000022  7042      STRB        R2,[R0,#0x1]
  115:     *(buf+offset+2) = data>>16;
 00000024  1C2A      MOV         R2,R5 ; data
 00000026  0C12      LSR         R2,R2,#0x10 ; data
 00000028  0612      LSL         R2,R2,#0x18
 0000002A  0E12      LSR         R2,R2,#0x18
 0000002C  1C21      MOV         R1,R4 ; offset
 0000002E  1C18      MOV         R0,R3 ; buf
 00000030  1840      ADD         R0,R1 ; buf
 00000032  7082      STRB        R2,[R0,#0x2]
ARM COMPILER V2.42,  extract                                                               27/03/06  10:45:49  PAGE 6   

  116:     *(buf+offset+3) = data>>24;
 00000034  1C2A      MOV         R2,R5 ; data
 00000036  0E12      LSR         R2,R2,#0x18 ; data
 00000038  0612      LSL         R2,R2,#0x18
 0000003A  0E12      LSR         R2,R2,#0x18
 0000003C  1C21      MOV         R1,R4 ; offset
 0000003E  1C18      MOV         R0,R3 ; buf
 00000040  1840      ADD         R0,R1 ; buf
 00000042  70C2      STRB        R2,[R0,#0x3]
  118: }
 00000044  BC30      POP         {R4-R5}
 00000046  4770      BX          R14
 00000048          ENDP ; 'ex_setb32?T'


*** CODE SEGMENT '?PR?ex_getPartitionField?T?extract':
  121: void ex_getPartitionField(euint8* buf,PartitionField* pf, euint32 offset)
 00000000  B570      PUSH        {R4-R6,LR}
 00000002  1C16      MOV         R6,R2 ; offset
 00000004  ---- Variable 'offset' assigned to Register 'R6' ----
 00000004  1C0C      MOV         R4,R1 ; pf
 00000006  ---- Variable 'pf' assigned to Register 'R4' ----
 00000006  1C05      MOV         R5,R0 ; buf
 00000008  ---- Variable 'buf' assigned to Register 'R5' ----
  123:     pf->bootFlag       = *(buf + offset);
 00000008  1C31      MOV         R1,R6 ; offset
 0000000A  1C28      MOV         R0,R5 ; buf
 0000000C  5C42      LDRB        R2,[R0,R1]
 0000000E  1C20      MOV         R0,R4 ; pf
 00000010  7002      STRB        R2,[R0,#0x0] ; pf
  124:     pf->CHS_begin[0]   = *(buf + offset + 1);
 00000012  1C31      MOV         R1,R6 ; offset
 00000014  1C28      MOV         R0,R5 ; buf
 00000016  1840      ADD         R0,R1 ; buf
 00000018  7840      LDRB        R0,[R0,#0x1]
 0000001A  1C21      MOV         R1,R4 ; pf
 0000001C  7048      STRB        R0,[R1,#0x1]
  125:     pf->CHS_begin[1]   = *(buf + offset + 2);
 0000001E  1C31      MOV         R1,R6 ; offset
 00000020  1C28      MOV         R0,R5 ; buf
 00000022  1840      ADD         R0,R1 ; buf
 00000024  7880      LDRB        R0,[R0,#0x2]
 00000026  1C21      MOV         R1,R4 ; pf
 00000028  7088      STRB        R0,[R1,#0x2]
  126:     pf->CHS_begin[2]   = *(buf + offset + 3);
 0000002A  1C31      MOV         R1,R6 ; offset
 0000002C  1C28      MOV         R0,R5 ; buf
 0000002E  1840      ADD         R0,R1 ; buf
 00000030  78C0      LDRB        R0,[R0,#0x3]
 00000032  1C21      MOV         R1,R4 ; pf
 00000034  70C8      STRB        R0,[R1,#0x3]
  127:     pf->type           = *(buf + offset + 4);
 00000036  1C31      MOV         R1,R6 ; offset
 00000038  1C28      MOV         R0,R5 ; buf
 0000003A  1840      ADD         R0,R1 ; buf
 0000003C  7900      LDRB        R0,[R0,#0x4]
 0000003E  1C21      MOV         R1,R4 ; pf
 00000040  7108      STRB        R0,[R1,#0x4]
  128:     pf->CHS_end[0]     = *(buf + offset + 5);
 00000042  1C31      MOV         R1,R6 ; offset
 00000044  1C28      MOV         R0,R5 ; buf
 00000046  1840      ADD         R0,R1 ; buf
 00000048  7940      LDRB        R0,[R0,#0x5]
 0000004A  1C21      MOV         R1,R4 ; pf
 0000004C  7148      STRB        R0,[R1,#0x5]
  129:     pf->CHS_end[1]     = *(buf + offset + 6);
 0000004E  1C31      MOV         R1,R6 ; offset
 00000050  1C28      MOV         R0,R5 ; buf
ARM COMPILER V2.42,  extract                                                               27/03/06  10:45:49  PAGE 7   

 00000052  1840      ADD         R0,R1 ; buf
 00000054  7980      LDRB        R0,[R0,#0x6]
 00000056  1C21      MOV         R1,R4 ; pf
 00000058  7188      STRB        R0,[R1,#0x6]
  130:     pf->CHS_end[2]     = *(buf + offset + 7);
 0000005A  1C31      MOV         R1,R6 ; offset
 0000005C  1C28      MOV         R0,R5 ; buf
 0000005E  1840      ADD         R0,R1 ; buf
 00000060  79C0      LDRB        R0,[R0,#0x7]
 00000062  1C21      MOV         R1,R4 ; pf
 00000064  71C8      STRB        R0,[R1,#0x7]
  131:     pf->LBA_begin      = ex_getb32(buf + offset,8);
 00000066  1C31      MOV         R1,R6 ; offset
 00000068  1C28      MOV         R0,R5 ; buf
 0000006A  1840      ADD         R0,R1 ; buf
 0000006C  2108      MOV         R1,#0x8
 0000006E  F7FF      BL          ex_getb32?T  ; T=0x0001  (1)
 00000070  FFC7      BL          ex_getb32?T  ; T=0x0001  (2)
 00000072  1C21      MOV         R1,R4 ; pf
 00000074  6088      STR         R0,[R1,#0x8]
  132:     pf->numSectors     = ex_getb32(buf + offset,12);
 00000076  1C31      MOV         R1,R6 ; offset
 00000078  1C28      MOV         R0,R5 ; buf
 0000007A  1840      ADD         R0,R1 ; buf
 0000007C  210C      MOV         R1,#0xC
 0000007E  F7FF      BL          ex_getb32?T  ; T=0x0001  (1)
 00000080  FFBF      BL          ex_getb32?T  ; T=0x0001  (2)
 00000082  1C21      MOV         R1,R4 ; pf
 00000084  60C8      STR         R0,[R1,#0xC]
  133: }
 00000086  BC70      POP         {R4-R6}
 00000088  BC08      POP         {R3}
 0000008A  4718      BX          R3
 0000008C          ENDP ; 'ex_getPartitionField?T'


*** CODE SEGMENT '?PR?ex_setPartitionField?T?extract':
  139: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'ex_setPartitionField?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  3 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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