新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 匯編語言單片機程序錯誤分析

匯編語言單片機程序錯誤分析

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

【春芽電子科技】【匯編語言】匯編語言單片機程序錯誤分析

本文引用地址:http://butianyuan.cn/article/201611/322504.htm

一、MAS51匯編軟件匯編失敗原因分析

單片機的匯編語言編寫時要注意一定的語法,詳細(xì)介紹可以參考相關(guān)參考書,語法錯誤匯會造成匯編失敗,常見的匯編錯誤如下:
1.標(biāo)號重復(fù)常見于復(fù)制、粘貼程序時忘記修改標(biāo)號,造成出現(xiàn)多個相同的標(biāo)號,標(biāo)號是不允許重復(fù)的。
2.標(biāo)點符號以全角方式輸入MAS51程序要求標(biāo)點符號為半角方式,否則匯編失敗??梢栽谳斎耄?,;時切換到半角方式,或者在大寫狀態(tài)輸入標(biāo)點符號,這也是很容易犯而且不容易發(fā)覺的錯誤。
3.注釋太長有時為了以后讀懂程序,寫了很長的注釋,站長發(fā)現(xiàn)超過20個漢子時也會造成匯編失敗,解決辦法可以將太長的注釋分成多個注釋。
4.?dāng)?shù)值#FFH前遺漏0,根據(jù)要求應(yīng)該在a~f前加0,寫成#0FFH
5.字母O和數(shù)字0搞混有時候這兩個字看上去完全相同,要注意哦
6.標(biāo)號后邊遺漏":"
7.標(biāo)號使用了特殊字符,比如:T1、T2、A、B這些字符有特定的含義,不允許用于標(biāo)號。
8.AJMP跳轉(zhuǎn)超過2K地址,AJMP屬于短跳轉(zhuǎn)命令,有2K地址范圍的限制。
9.JB P3.2,EXIT跳轉(zhuǎn)超過-128~127個地址范圍。這個是最容易出現(xiàn)的錯誤!你有可能程序剛才還能匯編編譯成功,你加了一段程序后程序就提示出錯了,你可以把
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.符號“:”“;”最好用半角書寫。
使用匯編軟件常見問題解答:
1.如果匯編軟件出現(xiàn)** Unrecongnized Command **提示字樣說明是匯編命令輸入錯誤。正確的匯編命令是asm51 d: