久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9772|回復: 0
打印 上一主題 下一主題
收起左側

AVR單片機匯編指令的小合集

[復制鏈接]
跳轉到指定樓層
樓主
ID:304171 發表于 2018-4-28 21:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目前在學AVR,主要還是以C為主,但是也希望能懂一些匯編的語句,就找了一些常用語句,一起記憶。
一、算術和邏輯指令
1、加法指令
不帶進位位加法:ADD Rd,Rr
帶進位位加法:ADC Rd,Rr
字加立即數:ADIW Rdl,K
增1指令:INCRd
2、減法指令
不帶進位位減法:SUB Rd,Rr
減立即數(字節):SUBI Rd,K
帶進位位減法SBC :Rd,Rr
帶進位位減立即數(字節):SBCI Rd,K
減立即數(字):SBIW Rdl,K
減1指令:DECRd
3、取反碼指令
COM Rd
4、取補碼指令
NEG Rd
5、比較指令
寄存器比較:CP Rd,Rr
帶進位比較:CPC Rd,Rr
與立即數(字節)比較:CPI Rd,K
6、邏輯“與”指令
寄存器邏輯“與”:AND Rd,Rr
“與”立即數(字節):ANDI Rd,K
寄存器位清零:CBR Rd,K
測試寄存器為零或負:TST Rd
7、邏輯“或”指令
寄存器邏輯“或”:OR Rd,Rr
“或”立即數(字節):ORI Rd,K
置寄存器位:SBR Rd,K
置寄存器為$FF:SER Rd
8、邏輯“異或”指令
寄存器“異或”:EOR Rd,Rr
寄存器清零:CLR Rd
9、乘法指令
無符號數乘法:MUL Rd,Rr
有符號數乘法:MULS Rd,Rr
有符號數與無符號數乘法:MULSU Rd,Rr
無符號定點小數乘法:FMUL Rd,Rr
有符號定點小數乘法:FMULS Rd,Rr
有符號定點小數和無符號定點小數乘法:FMULSURd,Rr
二、跳轉指令
1、無條件跳轉指令
相對跳轉:RJMP k
間接跳轉:IJMP
直接跳轉:JMP k
2、條件跳轉指令
①測試條件符合跳轉指令
狀態寄存器中位為“1”跳轉:BRBS s,k
狀態寄存器中位為“0”跳轉:BRBC s,k
相等跳轉:BREQ k
不相等跳轉:BRNE k
進位標志位C為“1”跳轉:BRCS k
進位標志位C為“0”跳轉:BRCC k
大于或等于跳轉(對無符號數):BRSH k
小于跳轉:BRLO k
結果為負跳轉:BRMI k
結果為正跳轉:BRPL k
大于或等于跳轉(帶符號數):BRGE k
小于跳轉(帶符號數):BRLT k
半進位標志H為“1”跳轉:BRHS k
半進位標志H為“0”跳轉:BRHC k
T標志為“1”跳轉:BRTS k
T標志為“0”跳轉:BRTC k
溢出標志V為“1”跳轉:BRVS k
溢出標志V為“0”跳轉:BRVC k
中斷標志I為“1”跳轉:BRIE k
中斷標志I為“0”跳轉:BRID k
②測試條件符合跳行跳轉指令
相等跳行:CPSE Rd,Rr
寄存器位為“1”跳行:SBRS Rr,b
寄存器位為“0”跳行:SBRC Rr,b
I/O寄存器位為“1”跳行:SBIS P,b
I/O寄存器位為“0”跳行:SBIC P,b
3、子程序調用和返回指令
相對調用:RCALL k
間接調用:ICALL
直接調用:CALL k
從子程序返回:RET
從中斷程序返回:RETI
三、數據傳送指令
1、直接尋址數據傳送指令
工作寄存器間傳送數據:MOV Rd,Rr
SRAM數據直接送寄存器:LDS Rd,k
寄存器數據直接送SRAM:STS k,Rr
立即數送寄存器:LDI Rd,K
2、間接尋址數據傳送指令
①使用X指針寄存器間接尋址傳送數據
使用地址指針寄存器X間接尋址將SRAM內容裝入到指定寄存器:
LD Rd,X
LD Rd,X+
LD Rd,-X
使用地址指針寄存器X間接尋址將寄存器內容存儲到SRAM:
ST X,Rr
ST X+,Rr
ST –X,Rr
②使用Y指針寄存器間接尋址傳送數據
使用地址指針寄存器Y間接尋址將SRAM內容裝入到指定寄存器:
LD Rd,Y
LD Rd,Y+
LD Rd,-Y
LDD Rd,Y+q
使用地址指針寄存器Y間接尋址將寄存器內容存儲到SRAM:
ST Y,Rr
ST Y+,Rr
ST –Y,Rr
STD Y+q,Rr
③使用Z指針寄存器間接尋址傳送數據
使用地址指針寄存器Y間接尋址將SRAM內容裝入到指定寄存器:
LD Rd,Z
LD Rd,Z+
LD Rd,-Z
LDD Rd,Z+q
使用地址指針寄存器Y間接尋址將寄存器內容存儲到SRAM:
ST Z,Rr
ST Z+,Rr
ST –Z,Rr
STD Z+q,Rr
3、從程序存儲器中取數裝入寄存器指令
從程序存儲器中取數裝入寄存器R0:LPM
從程序存儲器中取數裝入寄存器Rd:LPM Rd,Z
帶后增量的從程序存儲器中取數裝入寄存器Rd:LPM Rd,Z+
4、寫程序存儲器指令
寫程序存儲器:SPM
5、I/O口數據傳送指令
I/O口數據裝入寄存器:IN Rd,P
寄存器數據送I/O口:OUT P,Rr
6、堆棧操作指令
進棧指令:PUSH Rr
出棧指令:POP Rd
四、位操作和位測試指令
1、帶進位邏輯操作指令
寄存器邏輯左移:LSL Rd
寄存器邏輯右移:LSR Rd
帶進位位的寄存器邏輯循環左移:ROL Rd
帶進位位的寄存器邏輯循環右移:ROR Rd
寄存器算術右移:ASR Rd
寄存器半字節交換:SWAP Rd
2、位變量傳送指令
寄存器中的位存儲到SREG中的T標志:BST Rr,b
SREG中的T標志位值裝入寄存器Rd中的某一位:BLD Rd,b
3、位變量修改指令
狀態寄存器SREG的指定位置位:BSET s
狀態寄存器SREG的指定位清零:BCLR s
I/O寄存器的指定位置位:SBI P,b
I/O寄存器的指定位清零:CBI P,b
置進位位:SEC
清進位位:CLC
置負標志位:SEN
清負標志位:CLN
置零標志位:SEZ
清零標志位:CLZ
使能全局中斷位:SEI
禁止全局中斷位:CLI
置S標志位:SES
清S標志位:CLS
置溢出標志位:SEV
清溢出標志位:CLV
置T標志位:SET
清T標志位:CLT
置半進位標志:SEH
清半進位標志:CLH
五、MCU控制指令
空操作指令:NOP
進入休眠方式指令:SLEEP
清0看門狗計數器:WDR

AVR匯編指令.rar

13.72 KB, 下載次數: 119, 下載積分: 黑幣 -5

評分

參與人數 2黑幣 +60 收起 理由
zkele + 10 很給力!現在覺得用C的確方便移植!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天摸天天干 | 日本精品一区二区三区视频 | 一区二区三区福利视频 | 亚洲成人一区二区三区 | 成人精品视频在线观看 | 欧美天堂在线观看 | 波多野结衣中文字幕一区二区三区 | 亚洲精品视频一区 | 日本一区二区三区四区 | 亚洲欧美在线视频 | 天堂成人国产精品一区 | 日韩av福利在线观看 | 日韩二区三区 | 狠狠操天天操 | 91精品国产91久久综合桃花 | 亚洲国产精品一区二区www | 黄色免费观看 | 狠狠热视频 | 中文字幕日韩欧美 | 欧美一区二区三区在线观看 | 人人做人人澡人人爽欧美 | 亚洲成人精品免费 | 伊人精品久久久久77777 | 久99久视频 | 欧美日韩电影免费观看 | 黄色免费网 | 天天色综| 99精品一级欧美片免费播放 | 97caoporn国产免费人人 | 中文字幕国产高清 | 81精品国产乱码久久久久久 | 日韩精品一区二区三区免费视频 | 一区二区视频在线观看 | 超碰免费观看 | 国产一区二区三区精品久久久 | 成人影院av | 欧美一区二区三区在线观看 | 欧美性另类 | 欧美激情va永久在线播放 | 久久国内 | 久久亚洲一区 |