欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4090|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

avr宏匯編和表達(dá)式

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104287 發(fā)表于 2016-1-31 20:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
匯編器提供一些偽指令偽指令并不直接轉(zhuǎn)換成操作數(shù)而是用于調(diào)整存儲器中程序的位置
定義宏初始化存儲器等全部偽指令在表4.2 中給出
1 BYTE 保存字節(jié)到變量
BYTE 偽指令保存存儲的內(nèi)容到SRAM 中為了能提供所要保存的位置BYTE 偽指令前應(yīng)有
標(biāo)號該偽指令帶一個表征被保存字節(jié)數(shù)的參數(shù)該偽指令僅用在數(shù)據(jù)段內(nèi)見偽指令CSEG DSEG
和ESEG 注意必須帶一個參數(shù)字節(jié)數(shù)的位置不需要初始化
語法LABEL BYTE 表達(dá)式
2 CSEG 一代碼段
CSEG 偽指令定義代碼段的開始位置一個匯編文件包含幾個代碼段這些代碼段在匯 編時
被連接成一個代碼段在代碼段中不能使用BYTE 偽指令典型的缺省段為代碼段代碼段有一個
字定位計數(shù)器ORG 偽指令用于放置代碼段和放置程序存儲器指定位置的常數(shù)
CSEG 偽指令不帶參數(shù)
語法CSEG
表4.2 偽指令表
序號 偽指令 說 明 序號 偽指令 說 明
1 BYTE 保存字節(jié)到變量 10 ESEG E2PROM 段
2 CSEG 代碼段 11 EXIT 退出文件
3 DB 定義字節(jié)常數(shù) 12 INCLUDE 從指定文件開始讀
4 DEF 設(shè)置寄存器的符號名 13 LIST 打開列表文件
5 DEVICE 定義被匯編的器件 14 LISTMAC 打開宏表達(dá)式
6 DSEG 數(shù)據(jù)段 15 MACRO 宏開始
7 DW 定義字常數(shù) 16 NOLIST 關(guān)閉列表文件
8 ENDMACRO 宏結(jié)束 17 ORG 設(shè)置程序起始位置
9 EQU 符號相等于表達(dá)式 18 SET 賦值給一個標(biāo)號
3 DB 在程序存儲器或E2PROM 存儲器中定義字節(jié)常數(shù)
DB 偽指令保存數(shù)據(jù)到程序存儲器或E2PROM 存儲器中為了提供被保存的位置在DB 偽指令
前必須有標(biāo)號DB 偽指令可帶一個表達(dá)式表至少有一個表達(dá)式DB 偽指令必須放在代碼段或
E2PROM 段表達(dá)式表是一系列表達(dá)式用逗號分隔每個表達(dá)式必須是一128 255 之間的有效值
如果表達(dá)式有效值是負(fù)數(shù)則用8 位2 的補碼放在程序存儲器或E2PROM 存儲器中如果DB 偽指
令用在代碼段并且表達(dá)式表多于一個表達(dá)式則以兩個字節(jié)組合成一個字放在程序存儲器中
如果表達(dá)式表是奇數(shù)那么最后一個表達(dá)式將獨自以字格式放在程序存儲器中而不管下一行匯
編代碼是否是單個DB 偽指令
語法LABEL DB 表達(dá)式
4 DEF 設(shè)置寄存器的符號名
DEF 偽指令允許寄存器用符號代替一個定義的符號用在程序中并指定一個寄存器,一個寄
存器可以賦幾個符號符號在后面程序中能再定義
語法DEF 符號一寄存器
5 DEVICE 定義被匯編的器件
DEVICE 偽指令允許用戶告知匯編器被執(zhí)行的代碼使用那種器件如果使用該偽指令若在代
碼中有指定的器件不提供的指令則提示一個警告如果代碼段或E2PROM 段的尺寸大于被指定器
件的尺寸也提示警告如果不使用DEVICE 偽指令則假定器件提供所有的指令也不限制存儲
器尺寸
語法 .DEVICE AT90S1200 AT90S2313 AT90S4414 AT9OS8515
6 DSEG 一數(shù)據(jù)段
DSEG 偽指令定義數(shù)據(jù)段的開始一個匯編文件能包含幾個數(shù)據(jù)段這些數(shù)據(jù)段在匯編時
被連接成一個數(shù)據(jù)段一個數(shù)據(jù)段正常僅由BYTE 偽指令和標(biāo)號組成數(shù)據(jù)段有自己的定
位字節(jié)計數(shù)器ORG 偽指令被用于在SRAM 指定位置放置變量DSEG 偽指令不帶參數(shù)
語法 .DSEG
7 DW——在程序存儲器和E2PROM 存儲器中定義字常數(shù)
DW 偽指令保存代碼到程序存儲器或E2PROM 存儲器為了提供被保存的位置在DW 偽指
令前必須有標(biāo)號DW 偽指令可帶一個表達(dá)式表至少有一個表達(dá)式DW 偽指令必須放在
代碼段或E2PROM 段表達(dá)式表是一系列表達(dá)式用逗號分隔每個表達(dá)式必須是一32 768
65 535 之間的有效值如果表達(dá)式有效值是負(fù)數(shù)則用 16 位2 的補碼放在程序存儲器中
語法LABEL .DW 表達(dá)式表
8·ENDMACRO 一宏結(jié)束
ENDMACRO 偽指令定義宏定義的結(jié)束該偽指令并不帶參數(shù)參見MACRO 宏定義偽指令
語法 .ENDMACRO
9 EQU——設(shè)置一個符號相等于一個表達(dá)式
EQU 偽指令賦一個值到標(biāo)號該標(biāo)號用于后面的表達(dá)式用EQU 偽指令賦值的標(biāo)號是一個
常數(shù)不能改變或重定義
語法 .EQU 標(biāo)號= 表達(dá)式
10 ESEG - E2PROM 段
ESEG 偽指令定義E2PROM 段的開始位置一個匯編文件包含幾個E2PROM 段這些E2PROM
段在匯編時被連接成一個E2PROM 段在E2PROM 段中不能使用BYTE 偽指令E2PROM 段有一
個字節(jié)定位計數(shù)器ORG 偽指令用于放置E2PROM 存儲器指定位置的常數(shù)ESEG 偽指令不帶參數(shù)
語法 .ESEG
11 EXIT——退出文件
EXIT 偽指令告訴匯編器停止匯編該文件正常情況下匯編器匯編到文件的結(jié)束如果
EXIT 出現(xiàn)在包括文件中則匯編器從文件中INCLUDE 偽指令行繼續(xù)匯編
語法 .EXIT
12·INCLUDE——包括另外的文件
INCLUDE 偽指令告訴匯編器從指定的文件開始讀然后匯編器匯編指定的文件直到文件
結(jié)束或遇到EXIT 偽指令一個包括文件也可能自己用INCLUDE 偽指令來表示
語法 .INCLUDE“文件名”
13 LIST——打開列表文件生成器
LIST 偽指令告訴匯編器打開列表文件生成器匯編器生成一個匯編源代碼地址和操作
代碼的文件列表列表文件生成器缺省值是打開該偽指令總是與NOLIST 偽指令一起出現(xiàn)
用于生成列表或匯編源文件有選擇的列表
語法 .LIST
14 LISTMAC——打開宏表達(dá)式
LISTMAC 偽指令告訴匯編器當(dāng)調(diào)用宏時用列表生成器在列表文件中顯示宏表達(dá)式
缺省值僅是在列表文件中顯示宏調(diào)用參數(shù)
語法 .LISTMAC
15 MACRCO 一宏開始
MACRO 偽指令告訴匯編器這是宏開始MACRO 偽指令帶宏名和參數(shù)當(dāng)后面的程序中寫
了宏名被表達(dá)的宏程序在指定位置被調(diào)用一個宏可帶10 個參數(shù)這些參數(shù)在宏定義中
用0 9 代表當(dāng)調(diào)用一個宏時參數(shù)用逗號分隔宏定義用ENDMACRO 偽指令結(jié)束
缺省值為匯編器的列表生成器僅列表宏調(diào)用為了在列表文件中包括宏表達(dá)式必須使
用 LISTMAC 偽指令在列表文件的操作代碼域內(nèi)宏用 a+ 作記號
語法 .MACRO 宏名
16 NOLIST--關(guān)閉列表文件生成器
NOLIST 偽指令告訴匯編器關(guān)閉列表文件生成器正常情況下匯編器生成一個匯編源
代碼地址和操作代碼文件列表缺省時為打開列表文件但是可用該偽指令禁止列表為
了使被選擇的匯編源文件部分產(chǎn)生列表文件該偽指令可以與LIST 偽指令一起使用
語法 .NOLIST
17 ORG 一設(shè)置程序起始位置
ORG 偽指令設(shè)置定位計數(shù)器一個絕對值設(shè)置的值為一個參數(shù)如果ORG 偽指令放在數(shù)
據(jù)段則設(shè)置SRAM 定位計數(shù)器如果該偽指令放在代碼段則設(shè)置程序存儲器計數(shù)器如
果該偽指令放在E2PROM 段則設(shè)置E2PROM 定位計數(shù)器如果該偽指令前帶標(biāo)號在相同
的源代碼行則標(biāo)號由參數(shù)值給出代碼和E2PROM 定位計數(shù)器的缺省值是零而當(dāng)匯編啟
動時 SRAM 定位計數(shù)器的缺省值是32 因為寄存器占有地址為 0 31 注意E2PROM 和
SRAM 定位計數(shù)器按字節(jié)計數(shù)而程序存儲器定位計數(shù)器按字計數(shù)
語法 .ORG 表達(dá)式
18 SET 設(shè)置一個與表達(dá)式相等的符號
SET 偽指令賦值給一個標(biāo)號這個標(biāo)號能用在后面的表達(dá)式中用SET 偽指令賦值的
標(biāo)號在后面的程序中能改變
語法 .SET 標(biāo)號 = 表達(dá)式
4 ·1 3 表達(dá)式
匯編器包括一些表達(dá)式表達(dá)式由操作數(shù)運算符和函數(shù)組成所有的表達(dá)式內(nèi)部為32

一操作數(shù)
1 用戶定義的標(biāo)號該標(biāo)號給出了放置標(biāo)號位置的定位計數(shù)器的值
2 用戶用SET 偽指令定義的變量
3 用戶用EQU 偽指令定義的常數(shù)
4 整數(shù)常數(shù)包括下列幾種形式
·十進制缺省值 10 255
·十六進制數(shù)二進制表示法0x0a,$0a,0xff.$ff
二進制數(shù)0b0O00101O,0bllllllll
5 PC 程序存儲器定位計數(shù)器的當(dāng)前值
二 函 數(shù)
1 LOW 表達(dá)式返回一個表達(dá)式的低字節(jié)
2 HIGH 表達(dá)式返回一個表達(dá)式的第二個字節(jié)
3 BYTE2 表達(dá)式與HIGH 函數(shù)相同
4 BYTE3 表達(dá)式返回一個表達(dá)式的第三個字節(jié)
5 BYTE4 表達(dá)式返回一個表達(dá)式的第四個字節(jié)
6 LWRD 表達(dá)式返回一個表達(dá)式的 0 15 位
(7) HWRD 表達(dá)式返回一個表達(dá)式的 16 31 位
8 PAGE 表達(dá)式返回一個表達(dá)式的 16 21 位
9 EXP2 表達(dá)式返回2 表達(dá)式
10 LOG2 表達(dá)式返回LOG2 表達(dá)式的整數(shù)部分




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表