組合語言有多少種?

時間 2021-05-11 04:14:03

1樓:鯊魚辣椒

組合語言和CPU息息相關,但是不能把組合語言完全等同於CPU的機器指令。不同架構的CPU指令並不相同,如x86,powerpc,arm各有各的指令系統;甚至同一種架構的CPU有幾套指令集,典型的如arm除了有32位的指令集外,還有一套16位的thumb指令集。但是作為開發語言的彙編,本質上是一套語法規則和助記符的集合,它可以包容不同的指令集。

如果從CPU體系來劃分,常見的彙編有兩種:IBM PC彙編和ARM彙編。

2樓:Asher Ho

你說的那些都不適合。學彙編是為了什麼?肯定不是為了用彙編來寫程式。

而是為了更加了解底層對吧?所以我推薦lc3彙編。學校裡別人都用這個(不是國內學校)。

簡單。了解底層原理足夠

《計算機系統概論》 裡有。

3樓:蒙面超人

即使是同樣的二進位制可執行檔案,在不同的硬體上都會有不同的效能。所以……如果要細分的話,有多少款cpu就有多少種彙編規則。

從哪開始的話,推薦amd64,它和x64是同乙個東西的兩個不同的名字。

工具的話nasm不錯。

4樓:stick long

組合語言與硬體關聯比較密切,所以,急功近利的做法是先確定你學組合語言的目的,以此來確定學哪種。

是為了更好的學習其它課程?如計算機原理等。

是為了進行某類硬體的軟體開發?

是為了破解或逆向某軟體(標籤有逆向工程)?

以上問題確定了之後,大概也就確定了硬體及軟體平台,再選擇組合語言就容易了。

如果從未接觸過組合語言,建議從X86的彙編入手,硬體、軟體、參考資料既多又便宜。一百元買套二手電腦或實驗套件,隨便折騰。

5樓:清蒸水煮蛋

你指的Intel彙編和AT&T彙編指的是x86下兩種不同的寫法,而arm指的是與x86不同的另一種指令集,8086是x86/x64的實模式,此時還是20位的位址,由bootloader置為32/64位模式。最近在學習OS,建議上手att :)

組合語言入門四 打通C和組合語言

minzhuosong 南韓車四五年就不行了,南韓基礎科學不行,只能搞點惠人原汁機,福庫電飯鍋,coway空氣淨化器淨水器,三星U盤,LG液晶屏液晶電視顯示器這些微電子不錯,國內的雪佛蘭,科魯茲科帕奇樂馳,還有別克凱越就是南韓大宇汽車換標,車身應該比南韓的硬一點,焊接應該好一點,發動機變速箱底盤大多...

組合語言REX字首怎麼用?

hello2018 指令都有固定的機器編碼,REX字首是機器編碼的一種擴充套件。MOV EAX,1這條指令的長資料長度是32位,最後生成機器碼包括 段字首資料長度字首操作碼 eax暫存器立即數。現在出現資料長度是64位了,比如MOV RAX,1,但是機器編碼都已經用完了,那怎麼辦呢?固定的加了字首R...

高階語言如何轉組合語言的問題?

卡卡超人 其實你問的這些問題你自己寫一遍然後看彙編就可以了1.直接把資料段對映到記憶體,編譯器已經把初始值寫到了資料段。不過類的還要在main前執行下建構函式,這個編譯器不能幫你。2.區域性變數宣告是通過sub esp在棧上預留空間,如果有初始化當然是mov,不初始化就什麼也不幹,變數值是隨機的。3...