c語(yǔ)言函數(shù)翻譯成匯編指令 c語(yǔ)言函數(shù)翻譯成匯編指令是什么

C語(yǔ)言轉(zhuǎn)換成匯編語(yǔ)言

這是用keil自動(dòng)翻譯的,自己整理一下吧。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出浪卡子免費(fèi)做網(wǎng)站回饋大家。

; 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語(yǔ)言程序轉(zhuǎn)成匯編語(yǔ)言程序。

如果是VC則在編譯器命令行參數(shù)再加 /FA 則會(huì)生成匯編代碼。如果參數(shù)是 /FAs 則會(huì)同時(shí)將源碼和匯編代碼。

/FA 程序集代碼;.asm

/FAc 機(jī)器碼和程序集代碼;.cod

/FAs 源代碼和程序集代碼;.asm

/FAcs 機(jī)器碼、源代碼和程序集碼;.cod

/Fa的用法

/Fa 為編譯中的每個(gè)源代碼文件創(chuàng)建一個(gè)源文件.asm。

/Fa文件名 將文件名.asm 放到當(dāng)前目錄中。僅在編譯單個(gè)源代碼文件時(shí)有效。

/Fa文件名.擴(kuò)展名 將文件名.擴(kuò)展名放到當(dāng)前目錄中。僅在編譯單個(gè)源代碼文件時(shí)有效。

/Fa目錄\ 為編譯中的每個(gè)源代碼文件創(chuàng)建一個(gè)源文件.asm,并將其放到指定目錄中。請(qǐng)注意必須有后綴反斜杠。只允許使用當(dāng)前磁盤上的路徑。

/Fa目錄\文件名 將文件名.asm 放到指定目錄中。僅在編譯單個(gè)源代碼文件時(shí)有效。

/Fa目錄\文件名.擴(kuò)展名 將文件名.擴(kuò)展名放到指定目錄中。僅在編譯單個(gè)源代碼文件時(shí)有效。

如果你是用gcc 或 g++編譯器,如dev c++則加入命令行參數(shù) -S 即可

如何將 C 語(yǔ)言翻譯成匯編語(yǔ)言

方法很多

比如 你看懂C語(yǔ)言 然后用匯編重新實(shí)現(xiàn)

或者用編譯器自帶的命令,比如gcc,可以gcc a.c -o a.S -S 就可以生成匯編

也可以先生成bin,然后反編譯。

如何將單片機(jī)C語(yǔ)言程序翻譯成匯編?

你在kile

軟件

里面的仿真中。有一個(gè)(disassembly

window)圖標(biāo)點(diǎn)擊一下,可以把c

翻譯

匯編

,disassembly

window是一個(gè)

反匯編

的窗口

求將下面C語(yǔ)言翻譯成匯編語(yǔ)言

.section__TEXT,__text,regular,pure_instructions

.globl_main

.align4, 0x90

_main:

Leh_func_begin1:

pushq%rbp

Ltmp0:

movq%rsp, %rbp

Ltmp1:

subq$32, %rsp

Ltmp2:

movl$1, -12(%rbp)

movl$10, -16(%rbp)

movl$0, -20(%rbp)

movl$1, -12(%rbp)

jmpLBB1_2

LBB1_1:

movl-12(%rbp), %eax

movl-12(%rbp), %ecx

imull%ecx, %eax

movl-20(%rbp), %ecx

addl%ecx, %eax

movl%eax, -20(%rbp)

movl-12(%rbp), %eax

addl$1, %eax

movl%eax, -12(%rbp)

LBB1_2:

movl-12(%rbp), %eax

movl-16(%rbp), %ecx

cmpl%ecx, %eax

jleLBB1_1

movl-20(%rbp), %eax

xorb%cl, %cl

leaqL_.str(%rip), %rdx

movq%rdx, %rdi

movl%eax, %esi

movb%cl, %al

callq_printf

movl$0, -8(%rbp)

movl-8(%rbp), %eax

movl%eax, -4(%rbp)

movl-4(%rbp), %eax

addq$32, %rsp

popq%rbp

ret

Leh_func_end1:

.section__TEXT,__cstring,cstring_literals

L_.str:

.asciz "sum=%d\n"

.section__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support

EH_frame0:

Lsection_eh_frame:

Leh_frame_common:

Lset0 = Leh_frame_common_end-Leh_frame_common_begin

.longLset0

Leh_frame_common_begin:

.long0

.byte1

.asciz "zR"

.byte1

.byte120

.byte16

.byte1

.byte16

.byte12

.byte7

.byte8

.byte144

.byte1

.align3

Leh_frame_common_end:

.globl_main.eh

_main.eh:

Lset1 = Leh_frame_end1-Leh_frame_begin1

.longLset1

Leh_frame_begin1:

Lset2 = Leh_frame_begin1-Leh_frame_common

.longLset2

Ltmp3:

.quadLeh_func_begin1-Ltmp3

Lset3 = Leh_func_end1-Leh_func_begin1

.quadLset3

.byte0

.byte4

Lset4 = Ltmp0-Leh_func_begin1

.longLset4

.byte14

.byte16

.byte134

.byte2

.byte4

Lset5 = Ltmp1-Ltmp0

.longLset5

.byte13

.byte6

.align3

Leh_frame_end1:

.subsections_via_symbols

網(wǎng)頁(yè)標(biāo)題:c語(yǔ)言函數(shù)翻譯成匯編指令 c語(yǔ)言函數(shù)翻譯成匯編指令是什么
鏈接地址:http://muchs.cn/article8/hgecop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、微信公眾號(hào)App開發(fā)、ChatGPTApp設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)