組合語言照書抄寫的怎麼還會有錯誤

2022-04-19 07:09:50 字數 1523 閱讀 8593

1樓:做而論道

data segment

value dw 5678h,6060h----逗號,不可用中文逗號

table db 33h,55h,20h----逗號,不可用中文逗號

data ends

code segment

assume cs :code ,ds:data

start:

mov ax ,data

mova ds,ax----mova a!!!

mov ax ,value---前邊雖然定義了value,但是沒有定義成功

mov bx ,ax

mov ax value

mov [ax],2000h----[ax] ? 不可

mov dl,80h

mov si,0020h

mov [bx+si] ,dl

mov table [bx+si],al---前邊雖然定義了,但是沒有定義成功

mov ax,4c00h

int 21h

code ends

end start

2樓:匿名使用者

undefined symbol : value ,table 等 注意大小寫前後要 一致;

mova?是什麼指令呢?

還有標點符號,逗號丟了

1.txt(2): error a2044: invalid character in file ;注意大小寫前後要 一致;

1.txt(3): error a2044: invalid character in file;注意大小寫前後要 一致;

1.txt(9): error a2008: syntax error : ds; 不能作為目的地址

1.txt(12): error a2008: syntax error : in instruction ;指令錯誤

1.txt(10): error a2006: undefined symbol : value注意大小寫前後要 一致;

1.txt(13): error a2031: must be index or base register;必須是指標或基地址暫存器,ax不是

1.txt(17): error a2006: undefined symbol : table 注意大小寫前後要 一致;

在keil下編寫51微控制器的彙編程式,怎麼會出那麼多錯誤呢?明明是照著書寫進去的。

3樓:匿名使用者

應該是軟體的問題 可能是a51選項的設定問題

4樓:

檢查一下工程的選項,看看device是選的啥,也許不是51微控制器?

5樓:匿名使用者

這是彙編器有問題,不認識埠暫存器,你用的哪個版本?換個版本試試。

學習高階語言

6樓:匿名使用者

建議你學習c#,現在這個發展很大

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

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語言或者組合語言.鄙人建議你先學組合語言 然後再...

關於組合語言的迴圈問題,關於組合語言中的PUSH問題。

你理解bai從程式上面執行下來到du達 loop s後又去執行標zhi號s處,這沒錯。然dao後就內無限迴圈死,這就錯了容 組合語言的迴圈指令loop是有條件的,這個隱含操作和條件就是每迴圈一次,cx cx 1,如果cx 0,迴圈就結束了。在這個程式中,迴圈3次結束。關於組合語言中的push問題。每...