① 如何將c語言程序轉成匯編語言程序。
如果是VC則在編譯器命令行參數再加 /FA 則會生成匯編代碼。如果參數是 /FAs 則會同時將源碼和匯編代碼。
/FA 程序集代碼;.asm
/FAc 機器碼和程序集代碼;.cod
/FAs 源代碼和程序集代碼;.asm
/FAcs 機器碼、源代碼和程序集碼;.cod
/Fa的用法
/Fa 為編譯中的每個源代碼文件創建一個源文件.asm。
/Fa文件名 將文件名.asm 放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa文件名.擴展名 將文件名.擴展名放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\ 為編譯中的每個源代碼文件創建一個源文件.asm,並將其放到指定目錄中。請注意必須有後綴反斜杠。只允許使用當前磁碟上的路徑。
/Fa目錄\文件名 將文件名.asm 放到指定目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\文件名.擴展名 將文件名.擴展名放到指定目錄中。僅在編譯單個源代碼文件時有效。
如果你是用gcc 或 g++編譯器,如dev c++則加入命令行參數 -S 即可
② C語言寫的程序 怎麼反匯編成匯編語言
在keilc中,單片機的C語言程序可以再DEBUG模式中得到對應的匯編程序。步驟如下:
1、建立工程,導入C文件代碼,編譯生成hex文件。
3、點擊View--Disassembly Window調出匯編窗口,如上圖。
通過以上步驟就可以看到與C對應的匯編程序了。
③ c語言轉換為匯編語言
這應該是單片機上面的編程把,編譯器加參數是可以直接輸出匯編碼的
④ C語言怎樣轉換成匯編語言
如果你用TC 那麼就是tcc -S -I(你的include文件夾) -L(你的lib文件夾) (你的文件)
例如,include在C:\tc\include lib在C:\tc\lib 要編譯文件hello.c
tcc -S -IC:\tc\include -LC:\tc\lib hello.c 會在當前目錄下生成一個hello.asm文件直接打開即可
(注意!!!-S -I -L 全都是大寫,區分大小寫)
如果你用gcc 那麼就是gcc -S (你的文件)
例如hello.c gcc -S hello.c
會在當前目錄下生成一個hello.S文件,直接用記事本打開不好看,最好用word打開(windows下的gcc,如果是linux直接vi hello.S 或 cat hello.S 或 less hello.S即可)
(注意!!!-S 是大寫,區分大小寫)
⑤ C語言轉換成匯編語言
win-tc
可以將C代碼編譯為匯編代碼。
在「運行」,「編譯配置」里選取中編譯目標為匯編文件。
另外,將其它語言編譯為匯編代碼不叫「
反匯編
」。
⑥ c語言轉換成匯編語言
如下即可:
ORG 0000H
LJMP START
ORG 0003H
LJMP X0_INT
ORG 0013H
LJMP X1_INT
ORG 0030H
START:
SETB IT0
SETB IT1
SETB EX0
SETB EX1
SETB EA
;----------------------
MOV A, #0FEH
LOOP:
MOV P1, A
CALL DELAY
RL A
SJMP LOOP
;----------------------
X0_INT:
PUSH ACC
PUSH PSW
SETB RS0
MOV A, #0F0H
MOV R2, #6
X0_1:
MOV P1, A
CALL DELAY
CPL A
DJNZ R2, X0_1
POP PSW
POP ACC
RETI
;----------------------
X1_INT:
PUSH ACC
PUSH PSW
SETB RS1
MOV A, #0AAH
MOV R2, #6
X1_1:
MOV P1, A
CALL DELAY
CPL A
DJNZ R2, X1_1
POP PSW
POP ACC
RETI
;----------------------
DELAY:
MOV R5, #3
DJNZ R7, $
DJNZ R6, $ - 2
DJNZ R5, $ - 4
RET
;----------------------
END
⑦ 怎麼把c語言轉換成匯編語言啊
1、打開VC6、0,在VC6、0中進行增亮鋒攜加參數/FA的操作,編譯後debug目錄中將會增加對應源文件的匯編文件;
2、敬伏如果想查看C語句對應的匯編代碼的話,可以按F11單步調試,在debug工具欄中選擇「disassembly」基旁即可。每行C代碼下面就是對應的匯編代碼。如果debug工具欄不見了,可在VC上方空白菜單處右鍵,選擇「debug」即可彈出debug工具欄。
⑧ 怎麼把c語言轉換成匯編語言
理論上來說C語言改成匯編是完全可以的,當然實際上還是有一定難度。
1、完全手工根據C語言的流程和目的,改編成匯編語言,這樣做工作頃正量很大
2、利用岩亮模擬軟體,在模擬環境粗乎寬下,是有相應的匯編代碼的,這樣做工作量相對較小,但可讀性較差。
⑨ C語言轉換成匯編語言
這是用keil自動翻譯的,自己整理一下吧。
; FUNCTION delay05s (BEGIN)
;---- Variable 'i' assigned to Register 'R7'
0000 7F05 MOV R7,#05H
0002 ?C0001:
;---- Variable 'j' assigned to Register 'R6'
0002 7EC8 MOV R6,#0C8H
0004 ?C0004:
;---- Variable 'k' assigned to Register 'R5'
0004 7DFA MOV R5,#0FAH
0006 ?C0007:
0006 DDFE DJNZ R5,?C0007
0008 ?C0006:
0008 DEFA DJNZ R6,?C0004
000A ?C0003:
000A DFF6 DJNZ R7,?C0001
000C ?C0010:
000C 22 RET
; FUNCTION delay05s (END)
; FUNCTION main (BEGIN)
0000 ?C0011:
;---- Variable 'j' assigned to Register 'R4'
0000 7C01 MOV R4,#01H
;---- Variable 'i' assigned to Register 'R3'
0002 E4 CLR A
0003 FB MOV R3,A
0004 ?C0013:
0004 EC MOV A,R4
0005 F4 CPL A
0006 F590 MOV P1,A
0008 120000 R LCALL delay05s
000B EC MOV A,R4
000C 25E0 ADD A,ACC
000E FC MOV R4,A
000F 0B INC R3
0010 BB08F1 CJNE R3,#08H,?C0013
0013 ?C0014:
0013 7C80 MOV R4,#080H
0015 E4 CLR A
0016 FB MOV R3,A
0017 ?C0016:
0017 EB MOV A,R3
0018 C3 CLR C
0019 9408 SUBB A,#08H
001B 50E3 JNC ?C0011
001D EC MOV A,R4
001E F4 CPL A
001F F590 MOV P1,A
0021 120000 R LCALL delay05s
0024 EC MOV A,R4
0025 C3 CLR C
0026 13 RRC A
0027 FC MOV R4,A
0028 0B INC R3
0029 80EC SJMP ?C0016
; FUNCTION main (END)
⑩ 單片機中,怎樣把C語言轉化為匯編語言
單片機是沒這個能力將C語言轉巧弊換為匯編語言的,它只知道執行1或0。匯編語言和C語言都是我們用來跟單片機溝通的語言 只有用軟體來編余慶譯為單片機可執行的1,0文件 單片機才能運行。 所以要c語言編譯為匯編語言是我們所用到的編譯器做的事情,比如說 keil iar gcc 等的編譯器他孝毀族們都支持C語言編譯為匯編語言 並可生成單片機可執行文件。不同的單片機所用的編譯器或許不同