• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問picc 如何輸出asm list檔?
#6
資深會員
資深會員


查看用戶資訊
我想已經有翻成組合語言了,只是你不容易看出來....

因為16Fxx並沒有乘法和除法...所以會以連加和連減的方式來處理...那麼就必須由組譯器定義幾個ram的位址來處理,組譯器自行定義的變數名稱對我們來說是很難看的懂的...

所以,只能用程式的對映方式來猜測那一段是乘法或除法.
做法:
main(){
    ...
    ...
    
asm NOP;
    
asm NOP;
    
asm NOP;

    
K=i*j;    //藉由前後的nop,來猜測此行程式的範圍

    
asm NOP;
    
asm NOP;
    
asm NOP;
}








發表於: 2007/8/27 13:39
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問picc 如何輸出asm list檔?
#5
資深會員
資深會員


查看用戶資訊
感謝你的回覆:
但像a=i*j及b=x/y卻沒有翻!
Thanks.

發表於: 2007/8/27 11:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問picc 如何輸出asm list檔?
#4
版主
版主


查看用戶資訊
要看到完整的C編譯過的組合語言可以按底下的方法設定 Hi-Tech PICC :

MPLAB IDE --> Project --> Build Options --> Project --> PICC Compiler 下選擇 Advancded 將 Generate Assembly List file 打勾就可以了。

這樣的結果可以嗎?
C Answerlab2lab2.c"
    75                               line    66
    76                           
    77  04CB                     _Init_System
    78                           ;lab2.c: 67: ADCON1=0b00000110;
    79                           
    80                               line    67
    81  04CB  3006                   movlw    ((06h))
    82                               
    83  04CC  1683                   bsf    status,5
    84  04CD  1303                   bcf    status,6    ;carry unused
    85  04CE  009F                   movwf    (((09Fh))^0x80)    ;volatile
    86                           ;lab2.c: 68: TRISD=0x00;
    87                           
    88                               line    68
    89  04CF  0188                   clrf    (((088h))^0x80)    ;volatile
    90                           ;lab2.c: 69: PORTD=0x80;
    91

發表於: 2007/8/17 13:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問picc 如何輸出asm list檔?
#3
資深會員
資深會員


查看用戶資訊
版主及大家好:
附上list檔 Thanks

HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number
HCPIC-25020                            Fri Aug 17 09:38:01 2007

Licensed to
ONE TWO
     1                               processor    16F684
     2                               opt    pw 79
     3                               psect    __Z25020RS_
,global,delta=1
     4                               psect    text0
,local,class=CODE,delta=2
     5                               psect    text1
,local,class=CODE,delta=2
     6                               psect    text2
,local,class=CODE,delta=2
     7                               psect    text3
,local,class=CODE,delta=2
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18                           
    19                               psect    __Z25020RS_
    20  00A0                     
    21  00A0                     
    22                           
    23                               psect    text0
    24  07EC                     _main
    25                           
;    _j assigned to ?a_main+0
    26  0000                     _main$j    set    
?a_main
    27                           
;    _i assigned to ?a_main+1
    28  0000                     _main$i    set    
?a_main+1
    29                           
;    _k assigned to ?a_main+3
    30  0000                     _main$k    set    
?a_main+3
    31                           
;TS_HTC.C6unsigned int i,k;
    
32  07EC  3088                   movlw    136
    33  07ED  1283                   bcf    3
,5
    34  07EE  00A1                   movwf    
?a_main+1
    35  07EF  3013                   movlw    19
    36  07F0  00A2                   movwf    
?a_main+2
    37                           
;TS_HTC.C9j=50;
    
38  07F1  3032                   movlw    50
    39  07F2  00A0                   movwf    
?a_main
    40                           
;TS_HTC.C10k=i/j//這一乘法    
                                                             
沒有翻成ASM!!!
    
41  07F3  3064                   movlw    100
    42  07F4  00A3                   movwf    
?a_main+3
    43  07F5  01A4                   clrf    
?a_main+4
    44                           
;TS_HTC.C11delay(1000);
    
45  07F6  30E8                   movlw    232
    46  07F7  00A5                   movwf    
?_delay
    47  07F8  3003                   movlw    3
    48  07F9  00A6                   movwf    
?_delay+1
    49  07FA  27DA                   call    _delay
    50                           
;TS_HTC.C12delay1(10);
    
51  07FB  300A                   movlw    10
    52  07FC  00A5                   movwf    
?_delay1
    53  07FD  01A6                   clrf    
?_delay1+1
    54  07FE  27C8                   call    _delay1
    55                           
;TS_HTC.C13: }
    
56  07FF  2804                   ljmp    start
    57                           
    58                               psect    text1
    59  07DA                     _delay
    60                           
;    _j assigned to ?a_delay+0
    61  0000                     _delay$j    set    
?a_delay
    62                           
;TS_HTC.C17unsigned int j;
    
63  07DA  300A                   movlw    10
    64  07DB  1283                   bcf    3
,5
    65  07DC  00A7                   movwf    
?a_delay
    66  07DD  01A8                   clrf    
?a_delay+1
    67                           
;TS_HTC.C19: while(i>ji--;
    
68  07DE  2FE3                   goto    l3
    69  07DF                     l4
    70  07DF  
08A5                   movf    ?_delay
    71  07E0  1903                   btfsc    3
,2
    72  07E1  03A6                   decf    
?_delay+1
    73  07E2  03A5                   decf    
?_delay
    74  07E3                     l3
    75  07E3  
0826                   movf    ?_delay+1,w
    76  07E4  
0228                   subwf    ?a_delay+1,w
    77  07E5  1D03                   btfss    3
,2
    78  07E6  2FE9                   
goto    u15
    79  07E7  
0825                   movf    ?_delay,w
    80  07E8  0227                   subwf    
?a_delay,w
    81  07E9                     u15
    82  07E9  1803                   btfsc    3
,0
    83  07EA  
0008                   return
    
84  07EB  2FDF                   goto    l4
    85                           
    86                               psect    text2
    87  07C8                     _delay1
    88                           
;    _j assigned to ?a_delay1+0
    89  0000                     _delay1$j    set    
?a_delay1
    90                           
;TS_HTC.C24unsigned int j;
    
91  07C8  30E8                   movlw    232
    92  07C9  1283                   bcf    3
,5
    93  07CA  00A7                   movwf    
?a_delay1
    94  07CB  3003                   movlw    3
    95  07CC  00A8                   movwf    
?a_delay1+1
    96                           
;TS_HTC.C26: while(i<ji++;
    
97  07CD  2FD1                   goto    l7
    98  07CE                     l8
    99  07CE  0AA5                   incf    
?_delay1
   100  07CF  1903                   btfsc    3
,2
   101  07D0  0AA6                   incf    
?_delay1+1
   102  07D1                     l7
   103  07D1  
0828                   movf    ?a_delay1+1,w
   104  07D2  0226                   subwf    
?_delay1+1,w
   105  07D3  1D03                   btfss    3
,2
   106  07D4  2FD7                   
goto    u25
   107  07D5  
0827                   movf    ?a_delay1,w
   108  07D6  0225                   subwf    
?_delay1,w
   109  07D7                     u25
   110  07D7  1803                   btfsc    3
,0
   111  07D8  
0008                   return
   
112  07D9  2FCE                   goto    l8
   113                           
   114                               psect    text3
   115  0000                     
   116  0000                     
   117  0000                     
   118  0000                     
   119  0000                     
   120  0000                     
   121  0000                     
   122  0000                     
   123  0000                     
             


HI
-TECH Software PICC Macro Assembler V8.05PL1
Symbol Table                                          Fri Aug 17 
09:38:01 2007

    
?_delay 0025      ?a_main 0020           l3 07E3           l4 07DF  
         l7 07D1           l8 07CE     
?a_delay 0027     ?_delay1 0025  
        u15 07E9          u25 07D7    
?a_delay1 0027      _delay1 07C8  
      _main 07EC        start 0004       _delay 07DA       status 0003


發表於: 2007/8/17 12:08
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問picc 如何輸出asm list檔?
#2
資深會員
資深會員


查看用戶資訊
是什麼CODE沒有翻譯成ASM可以貼出來嗎??那些CODE會不會是虛擬指令??

發表於: 2007/8/17 12:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問picc 如何輸出asm list檔?
#1
資深會員
資深會員


查看用戶資訊
版主及大家好:
請問picc v8.05如何compile輸出完整asm list檔.
因都有設定,但有 一些C的code沒有翻譯成Asm,
個人不知為何會這樣! 請賜教 Thanks.

發表於: 2007/8/17 11:50
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------