keil中編譯組合語言的錯誤,不懂!! 具體見程式,很簡單,但是確有錯誤!!

2025-03-11 11:10:19 字數 1263 閱讀 3338

1樓:合蘭夢年竹

出現了重複定義,可能是標頭檔案的問題,也可能是你有些變數定義了多次帶枯!

一般在多個檔案中,如果不加巨集控制,會出現這種情況1

編譯時會提示是那句出現轎猛了redefinition,你可蠢帆洞以先刪掉這一句!

2樓:玉嘉祥拜毅

你這個錯誤可真難找啊灶伏。

你把。tr+數好山字0

敲成。tr+

大寫字母。o了!把。

th+數字0

敲成。th+大寫字母o

了!然隱襪攜後在最後加一句。

end就可以了。

org0000h

reset:

ljmpmain

org000bh

ljmpitop

org1000h

main:mov

sp,#60h

movb,#0ah

movtmod,#01h

movtl0,#0b0h

movth0,#3ch

setbtr0

setbet0

setbea

here:sjmp

hereitop:

movtl0,#0b0h

movth0,#3ch

djnzb,loop

clrtr0

loop:retiend

組合語言。修改以下錯誤,並指出錯誤原因!主要是跪求錯誤原因!!謝謝!!

3樓:永恆

1、dx不能作為定址暫存器,只能用bx、si、di、bp2、不能將記憶體識別符號所指向的位址直接賦給段暫存器3、不能通過mov指令改變cs

4、不能將8位暫存器賦給16位暫存器。

5、不能將8位暫存器壓棧。

6、不能對兩個記憶體單元採用add指令,且記憶體單元的資料型別不確定7、不能將有效位址賦給記憶體單元。

8、不能將偏移位址賦給記憶體單元,不能用dx暫存器定址9、相加的資料型別不確定。

10、mul指令只需要乙個運算元,令乙個是隱含的11、不能除立即數,因為型別不確定。

12、應該是 word ptr

13、不能同時使用si和di,可改為bx+si或者bx+di14、移位指令的立即數只能是1

15、立即數只能作為第2個運算元。

16、指令執行是正確的,但無論其表示正的65535還是-1,都可能引起跨段的問題。

17、mov指令不能進行算術運算(位址運算除外)18、應該是 jmp far ptr pro

組合語言指令錯誤糾正

1 mov cx,dl 資料型別不匹配,cx為16位,dl為8位 2 mov ip,ax ip為能在指令中出現,它是下一條要執行指令的偏 636f707962616964757a686964616f31333234323632移地址,不允許指令對其進行改變 3 mov es,1234h 立即數123...

組合語言程式設計的問題,組合語言程式設計問題

1.jmp bx 如果 bx 1020h,那麼 ip 1020h,因為此種形式為通過暫存器的段內間接轉移,執行時將把暫存器的內容直接送ip,所以執行此指令後ip的值為1020h 2.jmp tab bx si 如果 ds 2000h,bx 1020h,si 0002h,tab 0010h,21032...

組合語言與C 的區別,組合語言和C 語言有什麼區別

彙編是最基礎的程式語言.c 是一種物件導向物件的語言.c 要想在系統上執行,最終是轉換為機器碼.彙編也是,但是彙編轉換為機器碼比較容易.c 轉換則要先轉換為彙編.c也可以稱作高階語言.但是,c語言在c 之下.起一個過渡作用.如果你想學好程式設計.先學c語言或者組合語言.鄙人建議你先學組合語言 然後再...