本文目錄一覽:
keil C51怎麼把C語言轉成彙編
C文件上點右鍵,點“Option for …”,然後勾選右側的“Generate Assembler SRC File”,就會生成對應文件名擴展名為.SRC的彙編文件了。
在調試界面點那個放大鏡圖標,或者菜單中點“View”然後點“Disassembly Windows”,就可用看到彙編代碼了,這時按F10/F11單步執行的是每一句對應的彙編語句,而不是C語句。
點擊工具欄上一個紅色的”D”,進入調試狀態,再把鼠標點到c代碼處,右鍵查看彙編代碼,就可以看到所以c編譯後的彙編代碼了。
keil怎樣把C語言轉換成單片機彙編語言
首先在keil里,設置選項時,在列表選項中的彙編代碼一項打勾。見下圖
然後編譯,編譯後,在工程的同一個文件夾下有一個.LST文件,打開就看到了彙編代碼,不過,需要自己進行整理,否則,是不能直接作為彙編程序的。
下面是一個例子:這是一個主程序的彙編代碼,格式就是這樣的。
; FUNCTION main (BEGIN)
; SOURCE LINE # 16
;—- Variable ‘k’ assigned to Register ‘R4’ —-
; SOURCE LINE # 17
; SOURCE LINE # 19
0000 D2B2 SETB light
0002 ?C0007:
; SOURCE LINE # 20
; SOURCE LINE # 21
; SOURCE LINE # 23
0002 7F05 MOV R7,#05H
0004 120000 R LCALL _delayms
; SOURCE LINE # 25
0007 300008 R JNB blink,?C0009
; SOURCE LINE # 26
; SOURCE LINE # 27
000A 0C INC R4
; SOURCE LINE # 28
000B BC2804 CJNE R4,#028H,?C0009
; SOURCE LINE # 29
; SOURCE LINE # 30
000E B2B2 CPL light
; SOURCE LINE # 31
0010 E4 CLR A
0011 FC MOV R4,A
; SOURCE LINE # 32
; SOURCE LINE # 33
0012 ?C0009:
; SOURCE LINE # 34
0012 20B7ED JB k0,?C0007
; SOURCE LINE # 35
C51 COMPILER V7.00 LIGHT1 09/14/2015 12:54:15 PAGE 3
; SOURCE LINE # 36
0015 B200 R CPL blink
; SOURCE LINE # 37
0017 200004 R JB blink,?C0012
001A D2B2 SETB light
001C 8002 SJMP ?C0014
001E ?C0012:
; SOURCE LINE # 38
001E E4 CLR A
001F FC MOV R4,A
0020 ?C0014:
; SOURCE LINE # 39
0020 20B7DF JB k0,?C0007
0023 80FB SJMP ?C0014
; FUNCTION main (END)
單片機keil C程序轉換成彙編語言
mov r0,data_address //data_address A[0]的地址。如果數據放在idata區,
// 如果放在外部存儲區或其他,需要進行相應的查表。
mov r2,127
loop1:mov r3,3
loop2: clr p1.1
mov p2, @r0
inc R0
setb p1.1
djnz r1,loop2
djnz r0,loop1
單片機中,怎樣把C語言轉化為彙編語言?
單片機是沒這個能力將C語言轉換為彙編語言的,它只知道執行1或0。
彙編語言和C語言都是我們用來跟單片機溝通的語言
只有用軟件來編譯為單片機可執行的1,0文件
單片機才能運行。
所以要c語言編譯為彙編語言是我們所用到的編譯器做的事情,比如說
keil
iar
gcc
等的編譯器他們都支持C語言編譯為彙編語言
並可生成單片機可執行文件。不同的單片機所用的編譯器或許不同
原創文章,作者:NHIY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132636.html