在學(xué)習(xí)匯編的時(shí)候,總是看到會涉及到關(guān)于機(jī)器碼的問題.
比如:二進(jìn)制碼0000 0100B可以表示為04H.04H所對應(yīng)的指令的意義是累加器A的內(nèi)容加1.
那么這個04H怎么就對應(yīng)的是累加器的內(nèi)容加一了?直接寫成INC A不是一個意思嘛!
我想請問這個機(jī)器碼是用什么規(guī)則制定出來的?
機(jī)器碼有什么用處?
是不是應(yīng)該有個機(jī)器碼查詢表?
我初學(xué)不久,有很多問題不明白,希望各位高人指教~~謝謝!
關(guān)于匯編中的機(jī)器碼的問題,請高人指點(diǎn)!
全部回復(fù)(5)
正序查看
倒序查看
所有的計(jì)算機(jī)本身運(yùn)行是都是執(zhí)行的機(jī)器碼,就是你說的那外0101的那個東東.
最早的計(jì)算機(jī)編程時(shí)就要輸入一條條的機(jī)器碼,但機(jī)器碼很難記,不直觀.所以出現(xiàn)了匯編語言.這匯編語言好記些,但計(jì)算機(jī)不認(rèn)識,需要編譯成機(jī)器碼才能給計(jì)算機(jī)執(zhí)行.最早是人工編譯,先寫好匯編,然后查表把與匯編語言每句改寫成相應(yīng)的機(jī)器碼,再把機(jī)器碼一個字節(jié)一個字節(jié)輸入到計(jì)算機(jī)中.俺就用過最早的Z80單板機(jī)(不是單片機(jī)),用數(shù)字鍵盤一條條輸入.
后來才出現(xiàn)用程序編譯,但匯編與人所習(xí)慣的語言還有較大差距,每一條匯編指令只相對一條機(jī)器指令.為解決這個問題才出現(xiàn)與人所習(xí)慣的語言更相近的高級語言,每一句相當(dāng)于好多條機(jī)器指令甚至整大段程序.高級語言就沒法人工編譯了,至少是非常非常困難,所以高級語言一開始就是用程序編譯或解釋的.
簡單地說,機(jī)器碼就是計(jì)算機(jī)認(rèn)識的指令或叫語言,匯編語言或高級語言是人認(rèn)識的語言,匯編語言或高級語言CPU不認(rèn)識,需要編譯或解釋成機(jī)器碼計(jì)算機(jī)才能認(rèn)識.
最早的計(jì)算機(jī)編程時(shí)就要輸入一條條的機(jī)器碼,但機(jī)器碼很難記,不直觀.所以出現(xiàn)了匯編語言.這匯編語言好記些,但計(jì)算機(jī)不認(rèn)識,需要編譯成機(jī)器碼才能給計(jì)算機(jī)執(zhí)行.最早是人工編譯,先寫好匯編,然后查表把與匯編語言每句改寫成相應(yīng)的機(jī)器碼,再把機(jī)器碼一個字節(jié)一個字節(jié)輸入到計(jì)算機(jī)中.俺就用過最早的Z80單板機(jī)(不是單片機(jī)),用數(shù)字鍵盤一條條輸入.
后來才出現(xiàn)用程序編譯,但匯編與人所習(xí)慣的語言還有較大差距,每一條匯編指令只相對一條機(jī)器指令.為解決這個問題才出現(xiàn)與人所習(xí)慣的語言更相近的高級語言,每一句相當(dāng)于好多條機(jī)器指令甚至整大段程序.高級語言就沒法人工編譯了,至少是非常非常困難,所以高級語言一開始就是用程序編譯或解釋的.
簡單地說,機(jī)器碼就是計(jì)算機(jī)認(rèn)識的指令或叫語言,匯編語言或高級語言是人認(rèn)識的語言,匯編語言或高級語言CPU不認(rèn)識,需要編譯或解釋成機(jī)器碼計(jì)算機(jī)才能認(rèn)識.
0
回復(fù)