MCS-51系列單片機(jī)指令如何判斷字節(jié)數(shù)
MCS-51系列單片機(jī)指令如何判斷字節(jié)數(shù)
如何區(qū)分指令為單字節(jié),雙字節(jié)還是三字節(jié)?
//------------------------------------------------------------------
最佳答案:
最基本的方法是查表,但是,查過一遍之后,就會發(fā)現(xiàn)規(guī)律,能夠直接看出指令的字節(jié)數(shù),這并不難。
下圖是做而論道搜集的MCS-51單片機(jī)的指令代碼表。
指令的字節(jié)數(shù),其規(guī)律十分簡單,一看指令便可知道,以后根本不用查表。
MCS-51系列單片機(jī)指令最長的也就是3字節(jié)指令。
其中:
指令的操作碼,必定要占用一個字節(jié);
如果指令中,含有8位的立即數(shù),必定要占用一個字節(jié);
如果指令中,含有直接地址或者相對轉(zhuǎn)移的地址,也必定要占用一個字節(jié)。
如果指令中,含有16位的立即數(shù)或目的地址,則要占用兩個字節(jié)。
例如:
MOV A, @Ri : 機(jī)器碼為 (E6 + i),這里只有一個字節(jié)的操作碼;
MOV A, Rn : 機(jī)器碼為 (E8 + n),也只有一個字節(jié)的操作碼;
MOV A, Direct: 機(jī)器碼為 (E5)(Dir),含有一個字節(jié)的操作碼,還有一字節(jié)的直接地址;
MOV A, #data : 機(jī)器碼為 (74)(data),含有一個字節(jié)的操作碼,還有一字節(jié)的立即數(shù)。
其它的指令,可以自行理解,掌握規(guī)律。
.
題目中給定兩條指令,可從表中可以查出:
DA A : DA
MOV A, #25H : 74 25
//------------------------------------------------------------------