⑴ 匯編語言怎麼變成機器指令的
1.
每一條的匯編指令對應相應的機器指令,所以有了指令集和指令編碼這回事
2.
編寫完匯編之後,使用匯編器匯編這個你寫的匯編代碼
3.
匯編器根據內置的指令集把你的匯編指令替換成相應的機器指令就行
4.
最後加上相應的可執行文件頭就行,windows是pe頭,linux是elf文件頭
⑵ 怎樣把匯編語言編譯成機器指令
機器指令?!不太明白你的意思,你是說想把它編譯成可執行文件吧。亦或是想把它轉化為二進制的機器指令?!你要是有能力可以手工翻譯,不過和其他編程語言一樣,匯編語言有編譯器、連接器、和debug。對應的三個文件是:MASM.EXE LINK.EXE DEBUG.EXE這三個小軟體網上都有。你可以下載下來,既然你會匯編語言我覺得這些應該都會的吧,如果找不到我可以用郵件發給你,使用很簡單的,可能調試時需要自己去熟悉各種調試指令,如果想看你的匯編程序的機器指令也可以在DEBUG時用D命令查看內存中的內容,這樣就可以看到指令對應的十六進制數,也就是機器代碼。具體的可以搜索DEBUG使用方法。(不知道我回答的是不是你想要的,呵呵)
⑶ 匯編語言怎麼轉換成對應的機器碼
用匯編語言編譯器,這個編譯器的作用就是吧匯編語言轉譯為機器碼
⑷ 64位匯編指令轉機器碼
visual studio 2012 不是帶有64位ml64.exe么。
選擇生成自定義->masm,生成配置管理器選 x64.
最後就是call和jmp的地址只支持32位編碼,64位下只是相對IP跳轉(RIP)
⑸ 匯編翻譯成機器碼的問題
同樣的匯編出不同的機器碼是因為你不能把他轉化十六進制看,應該看他的二進制。
B8
0010的二進制是1011
1000
0000
0000
0001
0000
BB
0010的二進制是1011
1011
0000
0000
0001
0000
一條指令分為
操作碼
操作數1
操作數2
8086的操作碼是6位,並不是8位,所以你會覺得相同的指令機器碼不同。
如果看到機器碼101110,你可以翻譯成MOV
XX,XX
⑹ 【匯編語言】怎麼把匯編源碼批量轉換成機器碼
呵呵,樓主寫了700行代碼!寫在何處了?難道是在紙上?
一句一句地查出代碼,然後又要怎麼樣?
難道用手工寫入到x86系統的存儲器裡面?
這些步驟,用兩個軟體,就都可以的瞬間完成。
編譯軟體:MASM.EXE
鏈接軟體:LINK.EXE
經過他們的處理,700行代碼就變成EXE程序文件了,可以在PC機上執行。
⑺ 在計算機中,將匯編語言轉換為機器語言的過程叫
在計算機中,將匯編語言轉換為機器語言的過程叫匯編,或者匯編過程。
匯編語言稱為符號化的機器語言,不能直接執行,需要將匯編語言轉換為機器語言後才能執行,將匯編語言程序轉換為機器語言程序的過程稱為匯編過程。
匯編大多是指匯編語言,匯編程序。把匯編語言翻譯成機器語言的過程稱為匯編。在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。於是匯編語言亦稱為符號語言。用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理的系統軟體。
⑻ 如何編寫將匯編代碼翻譯成機器碼的程序
編譯程序,是對高級語言程序進行翻譯的程序。
它具有語法分析重構的過程。
匯編語言源程序的翻譯,只是簡單的查表式翻譯,不需要按語法進行分析和重構。
將匯編語言的源程序翻譯成機器語言的翻譯程序,
不能稱之為「編譯程序」,而是叫做「匯編程序」。