LST dosyasindaki C lib fonksiyonlarini detayli sekilde gorme

Başlatan bunalmis, 11 Nisan 2007, 02:06:03

z

Asagidaki lst dosyasi LPC21xx islemci icin icin Keil tarafindan uretildi ve long degiskenler uzerinde c=a/b islemine ait kodlari iceriyor.

Buradaki bolme islemi  ?C?SDIV?T fonksiyonu tarafindan yapilmakta ancak bu fonksiyon icerigi lst dosyada bulunmamakta.

Keil'in bu tur fonksiyonlarinin da asm iceriklerini gorme sansimiz varmi?


*** EXTERNALS:
 EXTERN CODE16 (?C?SDIV?T)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         Bolme?T
 PUBLIC         main



*** CODE SEGMENT '?PR?Bolme?T?main':
    3: long Bolme(long a,b)
 00000000  B500      PUSH        {LR}
 00000002  1C0B      MOV         R3,R1 ; b
 00000004  ---- Variable 'b' assigned to Register 'R3' ----
 00000004  1C02      MOV         R2,R0 ; a
 00000006  ---- Variable 'a' assigned to Register 'R2' ----
    5:     return(a/b);
 00000006  1C19      MOV         R1,R3 ; b
 00000008  1C10      MOV         R0,R2 ; a
 0000000A  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 0000000C  FFF9      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000000E  1C08      MOV         R0,R1
    6: }
 00000010  BC08      POP         {R3}
 00000012  4718      BX          R3
 00000014          ENDP ; 'Bolme?T'
Bana e^st de diyebilirsiniz.   www.cncdesigner.com