- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
暂存器定址
3-1 指令格式
標記 運算碼 運算元 註解
標記
1 .標記前不可有空白,否則會被視為運算碼。
2 .標記代表一個16 位元的記憶體實際位址。
3 .標記名稱最多32 個字元 ( 視組譯器不同而有所不同 ) 。
4 .標記有大小寫之分。
5 .標記可有可無。
運算碼
1 .運算碼與標記名稱間,至少必須空一格,如果沒有標記名稱,則運
算碼前最少要空一格,否則會被視為標記。
2 .運算碼大小寫相同。
3 .可以是MCS-51 指令或是組譯器假指令。
運算元
1 .運算元與運算元之間,必須以逗號「,」隔開。
2 .視定址法之不同而有差異,有些指令有運算元,有些則無。
註解
1 .註解前面要加分號「;」,組譯器不處理分號之後的文字或指令。
2 .註解可有可無,主要是增加程式的可讀性。
2
3-2 定址模式
立即定址法
1 .運算元為一常數資料,常數可以是2 進制、10 進制或 16 進制的資料,在常
數資料前必須加「# 」符號。
2 .範例:將常數資料”15” 存入 A 累加器中。
MOV A , ;2 進制資料。
MOV A ,#15 ;10 進制資料。
MOV A ,#0FH ;16 進制資料。
直接定址法
1 .運算元為一個8 位元的位址。
2 .只有內部資料記憶體RAM (位址 00H~7FH) 及特殊功能暫存器 SFR (位址
80H~FFH) 才能使用。
3 .範例:將SFR 中位址90H (P1) 內的資料存入A 累加器
MOV A ,90H ;讀取 P1 資料至累加器 A 中。
MOV A ,P1 ;讀取 P1 資料至累加器 A 中。
暫存器定址
1 .運算元為一暫存器,如A 累加器,暫存器B ,8 位元暫存器 R0~R7 ,DPH ,
DPL 等,16 位暫存器 DPTR ,及PSW 暫存器中的進位旗標 C (位元定址) 。
2 .範例:將暫存器R0 內的資料存入A 累加器。
MOV A ,R0 ;將暫存器 R0 內的資料存入A 中。
3
3-2 定址模式
暫存器間接定址
1 .只能使用R0 、R1 或 DPTR 暫存器,且暫存器之前要加上「@ 」符號。
2 .8 位元暫存器 R0 、R1 可定址 00H~FFH 共 256 個位元組的記憶體空間,
而 16 位元暫存器 DPTR 可定址 0000H~FFFFH 共 65536 個空間。
3 .範例:將資料記憶體位址80H 內的資料存入A 累加器
MOV R0 ,#80H ;R0 指向記憶體位址 80H 。
MOV A ,@R0 ;將位址 80H 內含值存入A 中。
索引定址法
1 .以程式計數器PC 或 DPTR 暫存器的內容加上A 累加器之值,即可定址
65536 (64K) 個記憶體位址。
2 .索引定址法適合使用於查表或提取程式記憶體內容。
3 .範例:
M
文档评论(0)