[問題] 組合語言請求解釋

看板C_and_CPP作者 (韓吉)時間9年前 (2014/11/18 14:11), 編輯推噓2(2023)
留言25則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) keil C 4 問題(Question): 板上大大好 小弟最近在寫有關四軸飛行器的控制板 上網參考了CODE 其中有一段程式碼(如下 這段內嵌組合語言似乎是用AT&T的語法寫的 想請問一下如果要轉換為intel的語法 可否教學該如何寫呢? 小弟在程式上還很淺 還請各位大大不吝賜教... 程式碼(Code):(請善用置底文網頁, 記得排版) int strcmp(const char *a, const char *b) __attribute__ ((naked)); int strcmp(const char *a, const char *b) { __asm__( "strcmp_lop: \n" " ldrb r2, [r0,#1] \n" " ldrb r3, [r1,#1] \n" " cmp r2, #1 \n" " it hi \n" " cmphi r2, r3 \n" " beq strcmp_lop \n" " sub r0, r2, r3 \n" " bx lr \n" ::: ); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.201.95 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1416291111.A.975.html

11/18 14:17, , 1F
有 ASM 版,還有這看起來比較像是 ARM?
11/18 14:17, 1F

11/18 14:28, , 2F
對阿~這是ARM 這樣就看的出來!!
11/18 14:28, 2F

11/18 14:30, , 3F
所以 ARM 還有分 AT&T 和 Intel 的 syntax 嗎- -?
11/18 14:30, 3F

11/18 14:31, , 4F
推飛行器!
11/18 14:31, 4F

11/18 14:33, , 5F
這原本的作者似乎是用GCC編譯的 可是我現在是在window上
11/18 14:33, 5F

11/18 14:34, , 6F
最近專題好像很流行 ardunio + 四軸 XD
11/18 14:34, 6F

11/18 14:34, , 7F
所以好像會有語法上的問題?
11/18 14:34, 7F

11/18 14:36, , 8F
我記得 keil c 支援 __attribute__,所以跟 gcc 無關
11/18 14:36, 8F

11/18 14:37, , 9F
你想說的是,你要 x86 的 asm? 還是你的開發板是啥?
11/18 14:37, 9F

11/18 14:39, , 10F
我想要x86的ASM 喔對了我的板子是STM32F4~^^
11/18 14:39, 10F

11/18 14:41, , 11F
為啥板子是 arm,你卻要 x86 的 asm..還有直接用 keil
11/18 14:41, 11F

11/18 14:41, , 12F
的 strcmp 有什麼問題嗎 - -?
11/18 14:41, 12F

11/18 14:52, , 13F
我直接用 可是compiler到這一段就會有語法上的問題...
11/18 14:52, 13F

11/18 14:57, , 14F
因為我不知道這一段是在幹嘛...想請各位大大幫忙說明一下
11/18 14:57, 14F

11/18 15:24, , 15F
所以是什麼語法問題
11/18 15:24, 15F

11/18 16:08, , 16F
這問題應該到 ASM 版問。還有你需要的是 Windows 版的
11/18 16:08, 16F

11/18 16:09, , 17F
GNU Tools for ARM Embedded Processors,而不是把那段
11/18 16:09, 17F

11/18 16:10, , 18F
組語轉譯成 Intel CPU 的組語。=.=
11/18 16:10, 18F

11/18 16:10, , 19F

11/18 16:15, , 20F
如果你想要有IDE,可以試 Eclipse 或 Em::Blocks
11/18 16:15, 20F

11/18 17:21, , 21F
這麼說來,keil C 的 inline asm 語法好像不太一樣
11/18 17:21, 21F

11/18 17:46, , 22F
原PO想繼續用Keil C的話,Google "keil c armcc inline
11/18 17:46, 22F

11/18 17:46, , 23F
assembly" 看看囉
11/18 17:46, 23F

11/19 12:19, , 24F
感謝各位大大 我會照各位建議試試看~
11/19 12:19, 24F

11/21 01:07, , 25F
Arm的thumb2組語 上網找一下"it section"
11/21 01:07, 25F
文章代碼(AID): #1KQkCdbr (C_and_CPP)