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