- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
概述機器語言(指令的二進位編碼表示)但機器語言具有程式長、不易書寫、難於閱讀和調試、容易出錯等缺點,那麼使用符號指令就顯得十分必要,通常把表示指令的符號稱之為助記符。
組合語言而以助記符表示的指令就是電腦的組合語言.一條指令通常由兩部分組成,即操作碼和運算元。操作碼用來規定指令進行什麼操作,而運算元則表示指令的操作的對象。單片機的指令是不定長的,在MCS-51指令系統中,有一位元組、二位元組、三位元組等不同長度的指令.
11.2指令分類MCS-51單片機指令系統共有指令111條,分為五大類數據傳送類:29條算術運算類:24條邏輯運算類:24條控制轉移類:17條位操作類:17條
11.3尋址方式尋址的“址”是指運算元所在的單元地址。因此尋址就是如何確定運算元單元地址的問題。共有七種尋址方式寄存器尋址MOVA,R2直接尋址MOVA,3AH立即尋址MOVA,#3AH寄存器間接尋址MOVA,@R0變址尋址MOVCA,@A+DPTR相對尋址JC03H位尋址SETB3DH
1立即尋址指令碼中直接含有所需地址的運算元MOVA,#30HMOVDPTR,#3000H注意:#是唯一區別與地址的標誌。
2直接尋址指令碼中含有運算元的地址,機器根據地址找到運算元MOVA,30H注意:若直接尋址的地址是SFR中的某一個時,可用名稱符號MOVA,TH0MOVA,8CH
3寄存器尋址所需的運算元在某個工作寄存器中(R0~R7)INCR0注意:指令表中INCRn,n取0~7
4寄存器間接尋址指令碼中含有運算元地址的寄存器號。實際上是二次尋址間接尋址採用@Ri或@DPTR,@是區別寄存器尋址的標記若(RO)=30H,(30H)=0FFHMOVA,R0MOVA,@R0
5相對尋址指令碼中含有相對地址的偏移量MOVA,40HADDA,#30HSJMPSOUT;PC=PC+2+rel。;。。SOUT:MOV50H,A
SJMPrel(PC)=(PC)+2+rel例:835AHSJMP35H目的地址=835AH+02H+35H=8391H例:835AHSJMPE7H目的地址=835AH+02H-19H=8343H-19H=-00011001=11100111(補數)
6變址尋址基地址寄存器和偏移量MOVCA,@A+PCMOVCA,@A+DPTR注意:變址尋址區是程式記憶體而不是數據記憶體。執行前,應預先在DPTR和A中存放地址,為指令執行提供條件。
7位尋址指令中含有位地址位地址和位元組地址的區分通過指令區分:MOVA,20HMOVC,20H
可供位尋址的區域片內RAM的20H~2FH為位尋址空間(00~7FH)某些SFR:地址能被8整除的SFR,共11個。位地址的表示方法MOVC,ACC.7MOV20H,CMOV24H.0,C
11.4指令系統MCS-51組合語言是用42種操作碼助記符描述33種操作功能,一種功能可能有幾種助記符,與尋址方式結合共產生111條指令。數據傳送類:29條算術運算類:24條邏輯運算類:24條控制轉移類:17條位操作類:17條
11.5數據傳送類29條傳送數據可在ACC,R0~R7,內部RAM,外部RAM間進行,其中A,R0~R7的操作最多傳送類指令不影響PSW(除P位)數據傳送指令表
續表
例1已知(70H)=60H,(60H)=20H,分析如下程式.MOVR0,#70H;(R0)=#70HMOVA,@R0;(A)=#60HMOVR1,A;(R1)=#60HMOV40H,@R1;(40H)=#20HMOV@R0,R1;(60H)=#60H
例2查表指令舉例1ORG8000H8000H:MOVA,#40H8002H:MOVCA,@A+PC;(8003H+40H-PC)…;(44H-A)ORG8040HDB41H42H43H44H
查表指令舉例2ORG8000H…MOVA,#03HMOVDPTR,#8040HMOVCA,@A+DPTR;A=?(44H)…ORG8040HDB41H42H43H44H
例3分析如下程式執行完成後A,R0,PC的內容.1010H:02H1011H:04
文档评论(0)