組合語言裡面的查表法是什麼意思啊。在微控制器裡面是怎麼執行的啊

時間 2021-09-06 09:14:32

1樓:六絃七品

首先,你要明確查表法是為了節約運算時間而建立的對映關係,在嵌入式中尤其重要,把複雜公式的運算事先計算好,存起來,然後直接根據輸入值查詢。而硬體原理無論在什麼平臺都一樣,固化在rom裡面,根據地址,定址後找到相應的地址單元,取值,然後應用。

2樓:做而論道

51微控制器組合語言有一條查表指令是:movc a, @a+dptr

它不是單獨使用的,要和 db 偽指令配套使用。

例如:若累加器a中有一個0~9的數,請用查表法求出該數的平方值,設平方表表頭地址為1000h。

程式如下:

;-------------------------------------

mov dptr,#1000h

movc a,@a+dptr

……org 1000h

db 0, 1, 4, 9, 16, 25......

;-------------------------------------

“db”,在rom 1000h中,順序存放了一系列的“平方”資料。

movc a,@a+dptr指令中a如果等於0,就會在“平方”資料中取出第0個,就是0;

movc a,@a+dptr指令中a如果等於1,就會在“平方”資料中取出第1個,就是1;

movc a,@a+dptr指令中a如果等於2,就會在“平方”資料中取出第2個,就是4;

movc a,@a+dptr指令中a如果等於3,就會在“平方”資料中取出第3個,就是9;

…… movc a,@a+dptr指令中a如果等於9,就會在“平方”資料中取出第9個,就是81。

movf,movwf在微控制器組合語言裡是什麼意思啊?

3樓:匿名使用者

pic的精簡指令,

movf是把du一個寄存zhi器dao記憶體送入w暫存器中,如 movf 8,0 就是把第8暫存器送到w中(相當於8051中累內加器a) ,後面是0說明存後容f不變

movwf 與上面相反,把w內容存入f暫存器中, 相當於mov w to f

4樓:茅宕郎曄

你好!不會

我的回答你還滿意嗎~~

請問在組合語言對51微控制器程式設計時,查表用到的“db”指令怎麼用?

5樓:

db 指令以表示式的值的位元組形式初始化**空間。

格式: [標號:] db 表示式表表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。

括號內的標號是可選項,如果使用了標號,

則標號的值將是表示式表中第一位元組的地址。

db 指令必須位於 code 段之內,否則將會發生錯誤。

例table:

db 0c0h, 0f9h, 0a4h

table1:

db " weina "

(引自偉納電子)

在微控制器組合語言中c是什麼意思

6樓:

進位標誌位cy或布林處理器中的累加器。

7樓:匿名使用者

c為進借位標誌位bai,就是ducy

意思是兩數相加zhi(addc指令)有進位就置c為1,兩數減dao(subb指令)有借內位就置c為1,

上面兩種請況c的置容1是系統自動的。

另外還可以自己對c進行操作 指令如下:

mov c, bit 將bit位地址中的值送psw中的進位標誌位cy

mov bit, c 將psw中的進位標誌位cy的值送bit位地址中

clr c 將進位標誌位cy清0

setb c 將進位標誌位cy置1

anl c, bit 將cy和bit位地址中的值進行與操作後,結果送cy

anl c, /bit bit位地址中的值取反後再與cy進行與操作,結構送cy

orl c, bit 將cy和bit位地址中的值進行或操作後,結果送cy

orl c, /bit bit位地址中的值取反後再與cy進行或操作,結構送cy

cpl c 將cy取反

還可以根據c的狀態分別執行轉移指令,如下

jc rel if(c=1)轉移到rel處執行指令

jnc rel if(c=0)轉移到rel處執行指令。

8樓:文香濤

在51微控制器中是借位/進位標誌

9樓:匿名使用者

c為進位標誌位,就是cy。。。

10樓:風間一葉

c為進借位標誌位,就是cy

意思是兩數相加(addc指令)有進位就置c為1,兩數減(subb指令)有借位就置c為1,

上面專兩種請況c的置1是系屬統自動的。

另外還可以自己對c進行操作 指令如下:

mov c, bit 將bit位地址中的值送psw中的進位標誌位cy

mov bit, c 將psw中的進位標誌位cy的值送bit位地址中

clr c 將進位標誌位cy清0

setb c 將進位標誌位cy置1

anl c, bit 將cy和bit位地址中的值進行與操作後,結果送cy

anl c, /bit bit位地址中的值取反後再與cy進行與操作,結構送cy

orl c, bit 將cy和bit位地址中的值進行或操作後,結果送cy

orl c, /bit bit位地址中的值取反後再與cy進行或操作,結構送cy

cpl c 將cy取反

還可以根據c的狀態分別執行轉移指令,如下

jc rel if(c=1)轉移到rel處執行指令

jnc rel if(c=0)轉移到rel處執行指令

還有什麼疑問可以繼續問

在微控制器組合語言中怎麼表示選擇 像if語句那樣?謝。

11樓:楊羊羊

cmp al,bl ;比較指令,同減法操作,但不儲存運算結果,所以不會改變al中值

jae lop1 ;a1大執行lop1

jmp lop2 ;a2大執行lop2

12樓:小奮進

先是判斷 像是比較什麼的 在使用標號進行跳轉 沒學好彙編

13樓:匿名使用者

cmp 和 j開頭的語句組合

這個組合語言題目是什麼意思,請問組合語言 這道題是什麼思路?al bl ah bh 這是什麼意思? 還有怎麼計算啊?

承冷菱 組合語言 assembly language 是一種用於電子計算機 微處理器 微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用位址符號或標號代替指令或運算元的位址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器...

組合語言的DW是什麼意思,組合語言中的DW怎麼用,能舉個例子說明一下嗎

dw 是定義2位元組空間的意思。dw屬於彙編的一個偽指令,dw定義字型別變數,一個字資料佔2個位元組單元,讀完一個,偏移量加2。db定義位元組型別變數,一個位元組資料佔1個位元組單元,讀完一個,偏移量加1。dd定義雙字型別變數,一個雙字資料佔4個位元組單元,讀完一個,偏移量加4。彙編指令既不控制機器...

組合語言中db是什麼意思,組合語言中DB是什麼意思?

風翼殘念 db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號 字串 或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。db的作用 在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組 8位 如 ...