keilc語言匯編語言
① 單片機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
打開Keil後選擇【File】下的【new】新建一個空白文檔。將編輯好的程序源碼復制到該文件中。
如何使用Keil編譯匯編程序或C語言程序
選擇左上角的保存按鈕進行保存,將彈出保存對話框。
如何使用Keil編譯匯編程序或C語言程序
選擇保存路徑和編輯文件名。記住,這里的文件名很重要,如果你是C語言程序的話,加上.c後綴,如果你是用匯編語言,加上.ASM後綴。這樣,Keil就能自動識別你的文件類型了。
如何使用Keil編譯匯編程序或C語言程序
現在你就可以將保存的文件添加到項目中了,項目文件要提前在[Project]中新建。右擊選擇【Source Group1】點擊【Add Files to Group..】
如何使用Keil編譯匯編程序或C語言程序
在彈出的對話框中選擇[文件類型]為All files,這個很關鍵。然後選擇你要添加的文件。點擊Add添加。
如何使用Keil編譯匯編程序或C語言程序
在[Source Group]中就會顯示新添加的.ASM文件,按圖中選擇彈出【Option for Target】對話框。
如何使用Keil編譯匯編程序或C語言程序
7
切換到[output]選項卡選中【Create HEX FILE】,就可以在編譯成功後自動生成.hex文件。編譯按鈕在左上角3個按鈕,從左到右依次點擊,如果源碼沒錯,都可以編譯通過了。
如何使用Keil編譯匯編程序或C語言程序
③ 如何在keil c中嵌入匯編語言
程序很簡單 主要是對kile的操作很多人可能不太會
keil c中嵌入匯編語言最需要注意的是 kile的編譯問題
kile的編譯有2種
1對c文件的編譯(c代碼)
2對ASM與src文件的編譯(匯編代碼)
而所謂的嵌入匯編只是把C代碼編譯為SRC匯編代碼時(注意是編譯成src而不是HEX文件)把匯編段嵌入所要嵌入的位置。 PS:因為全部為對匯編語言的操作所以才有可能混編,不然一個編譯規則怎麼能翻譯2種語言?
最後再通過對src文件編譯為hex文件
④ keil C51怎麼把C語言轉成匯編
C文件上點右鍵,點「Option for ...」,然後勾選右側的「Generate Assembler SRC File」,就會生成對應文件名擴展名為.SRC的匯編文件了。
在調試界面點那個放大鏡圖標,或者菜單中點「View」然後點「Disassembly Windows」,就可用看到匯編代碼了,這時按F10/F11單步執行的是每一句對應的匯編語句,而不是C語句。
點擊工具欄上一個紅色的"D",進入調試狀態,再把滑鼠點到c代碼處,右鍵查看匯編代碼,就可以看到所以c編譯後的匯編代碼了。
⑤ 如何在KEIL中實現C語言嵌套匯編語言
#pragmaasm
……匯編代碼……
#pragmaendasm
C文件按這種格式寫,然後當前文件按圖示打勾
⑥ keil怎樣把C語言轉換成單片機匯編語言
1、打開Keil,新建一個51工程,同時新建一個main.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語言轉匯編語言
keilc中,C語言編譯完成後,在Debug模式下,可以在disasembly Windows串口中看到C語言與對應的匯編語言。
⑨ keilC語言調試變成匯編語言了怎麼解決
這個過程不是「反編譯」而是「編譯」。 正常編譯過程中都會生成臨時匯編文件的,你可以在項目選項中的lst輸出中勾選Assembly,即將編譯的中間匯編代碼輸出到LST文件中。
⑩ 如何在KEIL中C語言和匯編語言混用
void func()
{
C語言代碼……
#pragma asm
MOV R6,#23
DELAY2:
MOV R7,#191
DELAY1:
DJNZ R7,DELAY1
DJNZ R6,DELAY2
RET
#pragma endasm
C語言代碼……
}