日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

51單片機查表指令的用法

單片機
2018-06-14 16:40
關(guān)鍵字: 單片機 指令
收藏

51單片機具有兩條查表指令,用于從 ROM 中讀出預存的數(shù)據(jù):

MOVC A, @A + PC
MOVC A, @A + DPTR

其中前一條指令的用法,比較難,使用的時候,需要計算一個“偏移量”。不了解“指令的字節(jié)數(shù)”的人,都不清楚應該如何計算。


最佳答案:
51單片機匯編語言有一條查表指令是:
MOVC A, @A + DPTR
它不是單獨使用的,要和 DB 偽指令配套使用。

例如:若累加器A中有一個0~9的數(shù),請用查表法求出該數(shù)的平方值,設(shè)平方表表頭地址為1000H。
程序如下:
;-------------------------------------
MOV DPTR, #1000H
MOVC A, @A + DPTR
……

ORG 1000H
DB 0, 1, 4, 9, 16, 25......
;-------------------------------------
DB 偽指令從 ROM 1000H 開始,順序存放了一系列的“平方”數(shù)據(jù)。
MOVC A, @A+DPTR 指令中的A,如果等于0,就會在“平方”數(shù)據(jù)中取出第0個,就是0;
MOVC A, @A+DPTR 指令中的A,如果等于1,就會在“平方”數(shù)據(jù)中取出第1個,就是1;
MOVC A, @A+DPTR 指令中的A,如果等于2,就會在“平方”數(shù)據(jù)中取出第2個,就是4;
MOVC A, @A+DPTR 指令中的A,如果等于3,就會在“平方”數(shù)據(jù)中取出第3個,就是9;
……
MOVC A, @A+DPTR 指令中的A,如果等于9,就會在“平方”數(shù)據(jù)中取出第9個,就是81。
-------------------------------

==============================================================
后記:
這條指令的用法,相對前一條就簡單了,事先并不需要計算“偏移量”。但是這條指令必須要使用寄存器DPTR。
大家知道,凡是涉及到片外RAM存儲單元的時候,基本上都要使用DPTR,這個DPTR寄存器通常是比較“繁忙”的,它形成了一個片內(nèi)、片外之間,數(shù)據(jù)傳傳輸?shù)摹捌款i”。因此在讀取ROM數(shù)據(jù)的時候,能夠不用這后一條指令,就不要用它,應該盡量使用前一條指令。
==============================================================


相關(guān)推薦