匯編語言單片機(jī)程序錯(cuò)誤分析
【春芽電子科技】【匯編語言】匯編語言單片機(jī)程序錯(cuò)誤分析
本文引用地址:http://www.ex-cimer.com/article/201611/322504.htm一、MAS51匯編軟件匯編失敗原因分析
1.標(biāo)號(hào)重復(fù)常見于復(fù)制、粘貼程序時(shí)忘記修改標(biāo)號(hào),造成出現(xiàn)多個(gè)相同的標(biāo)號(hào),標(biāo)號(hào)是不允許重復(fù)的。
2.標(biāo)點(diǎn)符號(hào)以全角方式輸入MAS51程序要求標(biāo)點(diǎn)符號(hào)為半角方式,否則匯編失敗??梢栽谳斎耄?,;時(shí)切換到半角方式,或者在大寫狀態(tài)輸入標(biāo)點(diǎn)符號(hào),這也是很容易犯而且不容易發(fā)覺的錯(cuò)誤。
3.注釋太長(zhǎng)有時(shí)為了以后讀懂程序,寫了很長(zhǎng)的注釋,站長(zhǎng)發(fā)現(xiàn)超過20個(gè)漢子時(shí)也會(huì)造成匯編失敗,解決辦法可以將太長(zhǎng)的注釋分成多個(gè)注釋。
4.?dāng)?shù)值#FFH前遺漏0,根據(jù)要求應(yīng)該在a~f前加0,寫成#0FFH
5.字母O和數(shù)字0搞混有時(shí)候這兩個(gè)字看上去完全相同,要注意哦
6.標(biāo)號(hào)后邊遺漏":"
7.標(biāo)號(hào)使用了特殊字符,比如:T1、T2、A、B這些字符有特定的含義,不允許用于標(biāo)號(hào)。
8.AJMP跳轉(zhuǎn)超過2K地址,AJMP屬于短跳轉(zhuǎn)命令,有2K地址范圍的限制。
9.JB P3.2,EXIT跳轉(zhuǎn)超過-128~127個(gè)地址范圍。這個(gè)是最容易出現(xiàn)的錯(cuò)誤!你有可能程序剛才還能匯編編譯成功,你加了一段程序后程序就提示出錯(cuò)了,你可以把
JB P3.2,EXIT
轉(zhuǎn)換成
JNB P3.2,UUU
AJMP EXIT
UUU:
10.字母I和數(shù)字1混淆,冒失鬼的常見問題。
11.創(chuàng)造發(fā)明不存在的匯編語言指令,在編寫程序程序的過程中可不歡迎這種創(chuàng)新,這種指令匯編程序不支持,芯片也不認(rèn)可。
12.符號(hào)“:”“;”最好用半角書寫。
使用匯編軟件常見問題解答:
1.如果匯編軟件出現(xiàn)** Unrecongnized Command **提示字樣說明是匯編命令輸入錯(cuò)誤。正確的匯編命令是asm51 d:看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();