精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用匯編和C語言 寫流水燈程序

開發 后端
現在可能很少看到匯編程序了,但單片機的啟動文件、RTOS底層代碼等一些地方,依然還有匯編代碼的身影。不知道大家有沒有學過匯編,或者有沒有用匯編語言編過程?

 [[394717]]

現在可能很少看到匯編程序了,但單片機的啟動文件、RTOS底層代碼等一些地方,依然還有匯編代碼的身影。

不知道大家有沒有學過匯編,或者有沒有用匯編語言編過程?

今天就給大家分享一下匯編語言的那些事。

1學習匯編語言

我在10年學習單片機編程的時候,老師教學都還是用匯編教我們,包括教學實驗,也是要求我們用匯編寫程序。

  1. MOV  A,#00H 
  2. MOV  P1,A 

我記得那會兒,老師要求我們把匯編指令背下來。雖然現在很多匯編指令寫不出來了,但看到很多匯編代碼,還是基本明白它的意思。

以前計算機三級(PC技術)的上機考試,就是用匯編編程,我那個時候上機考試還是滿分。當時覺得自己很牛逼,現在看來就是一菜鳥圖片

2匯編轉C語言

剛開始學習匯編那會兒,我真的用匯編在51單片機上寫流水燈程序。后面看了用C語言寫流水燈程序,突然發現,哇,用C語言寫程序還能這么簡單、方便。

于是,我就那個時候開始放棄了匯編,轉向了C語言。包括后面我在大學實驗室自己學習、DIY做東西、以及后面的全國大學生電子設計競賽,都是用C語言編寫的程序。

10行匯編程序,可能只需要一行C語言代碼就能實現,這是C語言相比匯編簡化的優點。

但是,C語言編寫的程序,經過編譯,也會轉為匯編。比如我們在線調試代碼的時候,會看到類似的“匯編窗口”:

因為以前單片機的運行速度不高,且內存和Flash容量不大,要求節約程序空間。

所以使用匯編的優點:代碼運行效率更高、更節約代碼存儲空間。

3對比用匯編和C語言寫流水燈程序

匯編語言寫程序的主要缺點:語法復雜、可讀性差、代碼量大等。

下面分享一個實例:51單片機上的流水燈程序。分別用C語言和匯編寫出來,大家對比一下就知道了。

C語言版:

  1. /******************** 宏定義 **************************/ 
  2. #define   MAIN_Fosc    22118400L  //定義主時鐘 
  3.  
  4. /******************** 延時函數 **************************/ 
  5. void  delay_ms(u8 ms) 
  6.      u16 i; 
  7.    do{ 
  8.         i = MAIN_Fosc / 13000; 
  9.       while(--i)  ;   //14T per loop 
  10.      }while(--ms); 
  11.  
  12. /******************** 主函數 **************************/ 
  13. void main(void) 
  14.   P0M1 = 0;  P0M0 = 0;  //設置為準雙向口 
  15.   P1M1 = 0;  P1M0 = 0;  //設置為準雙向口 
  16.   P2M1 = 0;  P2M0 = 0;  //設置為準雙向口 
  17.   P3M1 = 0;  P3M0 = 0;  //設置為準雙向口 
  18.   P4M1 = 0;  P4M0 = 0;  //設置為準雙向口 
  19.   P5M1 = 0;  P5M0 = 0;  //設置為準雙向口 
  20.   P6M1 = 0;  P6M0 = 0;  //設置為準雙向口 
  21.   P7M1 = 0;  P7M0 = 0;  //設置為準雙向口 
  22.  
  23.   while(1) 
  24.   { 
  25.     P17 = 0; 
  26.     delay_ms(250); 
  27.     delay_ms(250); 
  28.     P17 = 1; 
  29.     P16 = 0; 
  30.     delay_ms(250); 
  31.     delay_ms(250); 
  32.     P16 = 1; 
  33.     P47 = 0; 
  34.     delay_ms(250); 
  35.     delay_ms(250); 
  36.     P47 = 1; 
  37.     P46 = 0; 
  38.     delay_ms(250); 
  39.     delay_ms(250); 
  40.     P46 = 1; 
  41.   } 

匯編語言版:

  1. ;******************** 宏定義 **************************/ 
  2. Fosc_KHZ  EQU  22118  ;22118KHZ 
  3.  
  4. STACK_POIRTER  EQU    0D0H  ;堆棧開始地質 
  5.  
  6.  
  7. ;******************** 延時函數 **************************/ 
  8. F_delay_ms: 
  9.   PUSH  02H    ;入棧R2 
  10.   PUSH  03H    ;入棧R3 
  11.   PUSH  04H    ;入棧R4 
  12.  
  13.   MOV    R2,A 
  14.  
  15. L_delay_ms_1: 
  16.   MOV    R3, #HIGH (Fosc_KHZ / 13) 
  17.   MOV    R4, #LOW (Fosc_KHZ / 13) 
  18.    
  19. L_delay_ms_2: 
  20.   MOV    A, R4      ;1T    Total 13T/loop 
  21.   DEC    R4        ;2T 
  22.   JNZ    L_delay_ms_3  ;4T 
  23.   DEC    R3 
  24. L_delay_ms_3: 
  25.   DEC    A        ;1T 
  26.   ORL    A, R3      ;1T 
  27.   JNZ    L_delay_ms_2  ;4T 
  28.    
  29.   DJNZ  R2, L_delay_ms_1 
  30.  
  31.   POP    04H    ;出棧R2 
  32.   POP    03H    ;出棧R3 
  33.   POP    02H    ;出棧R4 
  34.   RET 
  35.  
  36.  
  37. ;******************** 主程序 **************************/ 
  38.     ORG    0100H    ;reset 
  39. F_Main: 
  40.   CLR    A 
  41.   MOV    P0M1, A   ;設置為準雙向口 
  42.    MOV    P0M0, A 
  43.   MOV    P1M1, A   ;設置為準雙向口 
  44.    MOV    P1M0, A 
  45.   MOV    P2M1, A   ;設置為準雙向口 
  46.    MOV    P2M0, A 
  47.   MOV    P3M1, A   ;設置為準雙向口 
  48.    MOV    P3M0, A 
  49.   MOV    P4M1, A   ;設置為準雙向口 
  50.    MOV    P4M0, A 
  51.   MOV    P5M1, A   ;設置為準雙向口 
  52.    MOV    P5M0, A 
  53.   MOV    P6M1, A   ;設置為準雙向口 
  54.    MOV    P6M0, A 
  55.   MOV    P7M1, A   ;設置為準雙向口 
  56.    MOV    P7M0, A 
  57.  
  58.   MOV    SP, #STACK_POIRTER 
  59.   MOV    PSW, #0    ;選擇第0組R0~R7 
  60.  
  61. L_MainLoop: 
  62.   CLR    P1.7 
  63.   MOV    A, #250 
  64.   LCALL  F_delay_ms    ;延時250ms 
  65.   LCALL  F_delay_ms    ;延時250ms 
  66.   SETB  P1.7 
  67.  
  68.   CLR    P1.6 
  69.   MOV    A, #250 
  70.   LCALL  F_delay_ms    ;延時250ms 
  71.   LCALL  F_delay_ms    ;延時250ms 
  72.   SETB  P1.6 
  73.  
  74.   CLR    P4.7 
  75.   MOV    A, #250 
  76.   LCALL  F_delay_ms    ;延時250ms 
  77.   LCALL  F_delay_ms    ;延時250ms 
  78.   SETB  P4.7 
  79.  
  80.   CLR    P4.6 
  81.   MOV    A, #250 
  82.   LCALL  F_delay_ms    ;延時250ms 
  83.   LCALL  F_delay_ms    ;延時250ms 
  84.   SETB  P4.6 
  85.  
  86.   SJMP  L_MainLoop 

上面兩個程序,實現的功能都一樣(流水燈),但對比代碼,大家發現有啥區別?

對于有匯編基礎的同學來說,可能這個簡單的流水燈程序還是很好理解。

但是,對于大部分人來說,肯定都會覺得匯編很難讀。是的,這個是匯編的“特點”。

4最后

匯編語法,對于絕大部分讀者來說,我現在是不建議再深入學習了,只需要了解一些基礎的內容即可。

有少部分人,想從事底層開發,比如底層驅動、單片機驗證、固件庫開發等這些讀者,有時間還是可以進一步了解匯編的一些技術。

 

責任編輯:武曉燕 來源: 嵌入式專欄
相關推薦

2017-01-12 22:36:30

2020-12-14 08:48:45

C語言嵌入式gcc

2009-08-13 17:04:09

C#語言C#程序

2014-04-15 15:35:32

CC語言

2022-02-19 22:47:46

編程語言開發C++

2010-03-25 18:13:06

Python編程語言

2009-09-11 08:44:36

2024-06-03 09:04:30

2015-03-19 09:46:32

程序員

2020-12-22 11:54:42

C語言Cortex-A9LED匯編

2012-03-20 09:20:40

Go語言

2010-04-07 14:54:20

Unix操作系統

2011-01-14 14:08:17

Linux匯編語言

2014-12-24 09:41:05

x86C#

2022-03-25 21:57:49

匯編Go語言

2011-01-14 14:39:32

Linux匯編語言

2014-08-22 16:29:12

應用匯游戲評級資源策略

2009-06-15 11:03:10

Java語言C#語言

2018-04-26 15:18:49

RTOS應用MPU

2010-01-22 11:23:06

C++程序
點贊
收藏

51CTO技術棧公眾號

一区二区三区日韩精品视频| 三级欧美在线一区| 亚洲成色999久久网站| 男人揉女人奶房视频60分 | 久久久福利视频| 不卡av电影在线| 欧美伊人影院| 国产一区二区三区中文| 在线播放国产视频| 另类中文字幕国产精品| 夜夜夜精品看看| 午夜精品亚洲一区二区三区嫩草 | 国产亚洲免费的视频看| 男人操女人下面视频| 一级毛片久久久| 亚洲男同性视频| 视频一区视频二区视频三区高| 囯产精品一品二区三区| 蜜臀精品一区二区三区在线观看| 国模gogo一区二区大胆私拍| jizzjizz日本少妇| 亚洲天堂日韩在线| 亚洲第一区在线观看| 久国产精品视频| 欧美日韩国产网站| 欧美香蕉大胸在线视频观看| 欧美一二三不卡| 香蕉视频免费在线播放| 91在线精品一区二区| 99理论电影网| 国产又大又长又粗| 日韩av一区二区在线影视| 午夜欧美大片免费观看| 成人午夜免费影院| 精品美女视频| 亚洲精选一区二区| 成人免费无码大片a毛片| 99久久婷婷国产综合精品青牛牛| 欧美久久高跟鞋激| www.欧美日本| 第四色男人最爱上成人网| 富二代精品短视频| 国产二区视频在线| 日韩免费影院| 亚洲宅男天堂在线观看无病毒| 亚洲最新免费视频| 在线免费av电影| 欧美激情一区二区三区全黄| 日韩.欧美.亚洲| 日本一级在线观看| 久久综合资源网| 久久久久久久久久久久久9999| 天堂v在线观看| 99精品久久99久久久久| 国产日韩在线一区二区三区| 日本高清视频免费看| 国产成人三级在线观看| 国产二区一区| 视频二区在线观看| 91免费看片在线观看| 欧美日韩在线观看一区二区三区 | 亚洲不卡在线| 亚洲成人黄色在线观看| 亚洲の无码国产の无码步美| 日韩高清在线免费观看| 亚洲女人天堂av| 中文字幕在线观看免费高清| 日韩啪啪电影网| 久久香蕉国产线看观看网| 欧美激情图片小说| 亚洲人成在线影院| 日韩av手机在线观看| 中文字幕精品无码亚| 黑人巨大精品欧美黑白配亚洲| 91成人理论电影| 色窝窝无码一区二区三区成人网站 | 成人3d精品动漫精品一二三| 久久国产一区二区三区| 精品一区在线视频| 久久久精品五月天| 成人国产在线视频| 神马午夜精品95| 国产精品欧美一级免费| 日韩视频 中文字幕| 最新欧美色图| 3atv在线一区二区三区| 高清中文字幕mv的电影| 欧美男gay| 久热精品视频在线| 日韩欧美在线观看免费| 国产精品影视在线| 欧美日韩电影一区二区三区| 黄色av网站在线播放| 亚洲不卡av一区二区三区| 午夜视频你懂的| 日韩在线观看一区二区三区| 亚洲性无码av在线| 欧美毛片在线观看| 蜜臀久久99精品久久久久久9 | 手机av在线网站| 天堂综合网久久| 久久夜精品香蕉| 人妻 日韩精品 中文字幕| 国产盗摄女厕一区二区三区| 日本不卡在线播放| 91九色国产在线播放| 欧美日韩国产经典色站一区二区三区 | 亚洲三级电影| 亚洲老头老太hd| 麻豆亚洲av成人无码久久精品| 日韩激情一区二区| 成人av免费看| 黄网站在线免费看| 在线免费观看日韩欧美| 中文人妻一区二区三区| 欧美日本中文| 成人福利网站在线观看| 国产女人在线观看| 精品国产乱码久久久久酒店| 91亚洲一区二区| 日韩在线高清| 国产精国产精品| 无码精品一区二区三区在线| 一区二区三区av电影 | 57pao成人永久免费| 亚洲精品影视在线观看| 亚洲黄色三级视频| 国产精品亚洲综合一区在线观看| 午夜精品视频在线观看一区二区| 黑人巨大精品| 日韩精品免费视频| 日本中文字幕免费| 成熟亚洲日本毛茸茸凸凹| 51xx午夜影福利| 亚洲国产91视频| 日韩中文字幕在线| 一本久道久久综合无码中文| 国产精品视频在线看| 在线视频日韩一区| 国产一区日韩| 国产精品久久久久久久久久东京 | www.亚洲高清| 青草国产精品| 国产精品一页| 天天影视天天精品| 亚洲女同中文字幕| 国色天香一区二区| 亚洲免费电影一区| 黄色片视频网站| av一二三不卡影片| av之家在线观看| 色爱综合av| 热久久这里只有精品| 你懂的视频在线| 91黄色免费版| 制服丨自拍丨欧美丨动漫丨| 黄网站免费久久| 欧美 日韩 国产精品| 黄色欧美网站| 日韩av第一页| 生活片a∨在线观看| 欧美美女网站色| wwwav国产| 99视频在线观看一区三区| 欧美性大战久久久久xxx| 国产精品入口久久| 国产精品免费在线免费| 黄色一级大片在线免费看产| 欧美www视频| 日韩毛片一区二区三区| 国产日韩欧美高清在线| 一级黄色片在线免费观看| 欧美激情视频一区二区三区免费| 国产九色91| 日韩另类视频| 欧美大片va欧美在线播放| 亚洲av成人精品一区二区三区在线播放 | 日韩美女黄色片| 久久丝袜美腿综合| 思思久久精品视频| 亚洲理论在线| 亚洲最大免费| 国产美女撒尿一区二区| 国产精品99久久久久久人| 国产成人无吗| 精品香蕉在线观看视频一| 伊人免费在线观看| 亚洲高清在线视频| 三年中国中文观看免费播放| 国产成人亚洲精品狼色在线| 国产精品久久久久9999小说| 欧美一区亚洲| 亚洲电影一二三区| 成人资源在线播放| 国产欧美精品日韩| 高潮在线视频| 日韩中文第一页| 欧美亚洲日本| 日韩欧美中文一区| 中文在线免费观看| 婷婷国产在线综合| 国产成人自拍网站| 欧美国产激情一区二区三区蜜月 | 国产亚洲综合在线| 久久国产免费视频| 麻豆精品蜜桃视频网站| 免费看欧美黑人毛片| 欧美hd在线| 欧美亚洲另类在线一区二区三区| 欧美专区视频| 国产噜噜噜噜噜久久久久久久久 | 特级毛片在线| 日韩网站在线观看| 黄上黄在线观看| 亚洲国产精品va| 99在线观看精品视频| 欧美性一区二区| 久久久久女人精品毛片九一 | 亚洲综合图片网| 亚洲国产成人porn| 在线免费日韩av| 日韩一区中文字幕| xxxxx99| 国产亚洲欧美激情| 国产国语性生话播放| 粉嫩在线一区二区三区视频| 亚洲天堂av一区二区三区| 美女任你摸久久 | 97欧美成人| 国产福利成人在线| 在线天堂新版最新版在线8| 欧美精品福利视频| 男女羞羞视频在线观看| 久久精品男人天堂| 国产一区久久精品| 久久久精品在线观看| 日本高清视频在线观看| 最近中文字幕mv在线一区二区三区四区| 桃花色综合影院| 精品视频久久久| 欧美孕妇孕交| 国产亚洲美女精品久久久| 第九色区av在线| 在线视频日韩精品| 9色在线视频网站| 日韩在线观看免费av| 日本在线视频观看| 久久香蕉国产线看观看网| sm国产在线调教视频| 欧美人与性动交a欧美精品| 日本大片在线播放| 国内精品久久久久影院优| 国产偷倩在线播放| 992tv成人免费视频| 中文字幕在线中文字幕在线中三区| 4438全国成人免费| 高清成人在线| 国产日本欧美在线观看| 成人影院网站ww555久久精品| 亚洲自拍欧美另类| 凹凸av导航大全精品| 久久精品久久精品国产大片| 国产精品美女久久久久久不卡| 亚洲成人a**址| 国产精品久久占久久| 欧洲精品在线播放| 亚洲伊人网站| 在线观看国产福利| 成人免费视频视频在线观看免费| 少妇特黄一区二区三区| 国产日韩精品一区二区三区 | 黑人巨大精品欧美一区二区| 日韩综合在线观看| 4438x成人网最大色成网站| 亚洲av无码一区二区乱子伦| 亚洲码在线观看| 欧美18hd| 69久久夜色精品国产69| 欧美成人app| 粉嫩精品一区二区三区在线观看| 天天久久夜夜| 欧美少妇在线观看| 99精品国产福利在线观看免费| 牛夜精品久久久久久久| 国产成人在线观看| 级毛片内射视频| 一区二区三区免费在线观看| www.国产com| 日韩精品一区二区三区四区视频 | 国产日韩欧美高清| 久久久久久久黄色| 91久久精品日日躁夜夜躁欧美| 国产wwwxxx| 国产亚洲免费的视频看| av中文字幕在线观看第一页| 国产精品香蕉国产| 欧美美女啪啪| 裸体裸乳免费看| 久久久久久黄| av漫画在线观看| 国产精品美女一区二区在线观看| 亚洲综合一二三| 69久久99精品久久久久婷婷 | 国产免费不卡视频| 亚洲午夜久久久久久久| 嗯啊主人调教在线播放视频 | 猛男gaygay欧美视频| 久久在线中文字幕| 精品亚洲porn| 蜜桃传媒一区二区亚洲| 五月婷婷久久综合| 国产超碰人人模人人爽人人添| 亚洲性生活视频| 天堂√8在线中文| 成人18视频| 亚洲精品国产偷自在线观看| av网址在线观看免费| 91一区一区三区| 国产污视频在线观看| 日韩一区国产二区欧美三区| 自拍视频在线| 国产精品久久久久久久天堂 | 亚洲欧美日韩直播| 麻豆av在线播放| 亚洲mm色国产网站| 欧美国产一区二区三区激情无套| 99视频在线视频| 久久久夜色精品亚洲| 国产69精品久久久久久久久久| 欧美videofree性高清杂交| caopo在线| 91免费高清视频| 91高清一区| 欧美成人乱码一二三四区免费| 中文无字幕一区二区三区| 亚洲天堂五月天| 国产亚洲精品va在线观看| 成人短视频app| 欧美久久电影| 丝袜国产日韩另类美女| 中文字幕免费视频| 91黄色激情网站| jizz在线观看中文| 国产精品直播网红| 国产精品99一区二区三区| 精品国产鲁一鲁一区二区三区| 亚洲免费色视频| jizz中国女人| 久久人人爽国产| 清纯唯美亚洲经典中文字幕| 日本wwww视频| 国产免费观看久久| 在线观看日韩一区二区| 精品国产一区二区三区在线观看 | 日本a人精品| 亚洲第一综合网站| 国产成人福利片| 国产精品999在线观看| 亚洲欧美精品一区| 国产乱子精品一区二区在线观看| 亚洲欧美成人一区| 国产精品一区二区黑丝| 国产亚洲第一页| 亚洲九九九在线观看| 精品176极品一区| 日本美女爱爱视频| 99久久er热在这里只有精品66| 国产乱国产乱老熟| 日韩在线视频播放| 视频在线观看免费影院欧美meiju| 久久黄色片视频| 国产欧美视频在线观看| 国产人妖一区二区三区| 97超级碰碰碰| 久久久综合色| 亚洲一区和二区| 91久久精品一区二区二区| 美女写真理伦片在线看| 国产一区二区高清视频| 日韩国产高清在线| 欧美性猛交xxxxx少妇| 日韩成人中文字幕在线观看| 99欧美精品| r级无码视频在线观看| 国产欧美一区二区三区在线老狼 | 成人一区二区在线观看| 蜜臀尤物一区二区三区直播| 麻豆国产精品va在线观看不卡 | 这里只有视频精品| 永久免费精品视频| 日韩视频免费在线播放| 亚洲精品国久久99热| 狠狠色伊人亚洲综合网站l| 91大片在线观看| 日韩成人一区二区| 国产精品99re| 日韩中文字在线| 国产欧美日韩在线观看视频| 国产av一区二区三区传媒| 欧美精选一区二区|