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位 如 ...