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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何學習匯編語言?以前學的都是C語言的,這次學的基本都不認識,什么mov,jnb ajmp

  [復制鏈接]
跳轉到指定樓層
樓主
就像圖片里我只認識loop,main,老師講的不詳細,我很煩躁。我想認真學習這種語言,前輩們告訴我一些資源就可以,我自己學能學明白那種。謝謝各位大佬!  就是下面這種語言,屬于什么類型?我想找資源該去哪里查閱學習,真的謝謝了,翻了一天課本幾乎一無所獲。  AJMP MAIN          ORG 0040H
MAIN: MOV P1,#0FFH
;       CLR R1
         MOV A,#0FH
         MOV P1,A
         ACALL DELAY50
KEYSC:  MOV  A,P1
         ANL  A,#00001111B
         SWAP  A;高低4位互換
         MOV P1,A
         ACALL DELAY50
         ACALL DELAY50
         ACALL DELAY50
         AJMP KEYSC         
        ORG 0200H
DELAY50:   MOV R7,200
D1:               MOV R6,123
                    NOP
D2:                DJNZ R6,D2
D3:                DJNZ R7,D1
                      RET
                      END              
           

chenxgu.JPG (33.77 KB, 下載次數: 105)

chenxgu.JPG

yuanlitu.JPG (114.72 KB, 下載次數: 122)

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

使用道具 舉報

沙發
ID:235200 發表于 2020-3-19 01:14 | 只看該作者
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP MAIN               ;短轉移到MAIN
         ORG 0040H              ;下面程序從0040存放
MAIN: MOV P1,#0FFH        ;使P1口輸出高電平(可不要)
;       CLR R1                    ;這指令是錯誤的,沒有這種用法
         MOV A,#0FH          ;數據0F存A寄存器
         MOV P1,A             ;數據0F從P1口輸出
         ACALL DELAY50    ;調用延時程序
KEYSC:  MOV  A,P1        ;讀P1口按鍵狀態
         ANL  A,#00001111B    ;保留低4位
         SWAP  A;高低4位互換  ;反轉
         MOV P1,A                  ;由P1口輸出
         ACALL DELAY50        ;調用延時
         ACALL DELAY50
         ACALL DELAY50
         AJMP KEYSC             ;轉移到掃描(此程序按鍵掃描未判斷,無法得到按鍵值)
        ORG 0200H              ;下面程序存地址200H
DELAY50:   MOV R7,200        ;錯誤命令,數據200前未加#
D1:               MOV R6,123    ;錯誤命令,數據123前未加#
                    NOP
D2:                DJNZ R6,D2   ;判斷R6不為0,轉移到D2
D3:                DJNZ R7,D1   ;判斷R7不為0,轉移到D1
                      RET             ;子程序的返回
                      END
回復

使用道具 舉報

板凳
ID:401564 發表于 2020-3-19 08:32 | 只看該作者
匯編很神奇:不會的人要學,會的人不想學
匯編是基于硬件的,除了偽指令,每一條指令最少也必定有一個針對硬件的結果
匯編是低級語言,從低級語言往高級語言學是相對比較容易的,我學了匯編,就覺得C沒有那么難,但匯編已經用習慣了,思想還是沒有那么快轉變過來而已
但要是學會了C,再來學匯編就有點難了
匯編就是把C細分化,C一個語句,匯編可能要幾條或者上百條指令來完成你要做的是把8051匯編指令的含義全部記住,理論上有255條指令,還有一條是預留的,不知道是要來干嘛的
但實際上,8051的匯編指令也是不到30條:MOV R7,200和MOV P1,#0FFH雖說是兩種不同的操作,但實際上是一樣的:都是MOV指令,MOV指令就是把逗號右邊的東西轉移到逗號左邊去,這個東西有可能是地址,數據,標志位
所以,你現在要做的:
1:充分的去了解8051的硬件
2:記住8051的匯編代碼含義
3:有一塊學習板,寫了代碼一定要燒錄驗證,仿真沒有意義,有的人說仿真都不行那實際更不行,的確是這樣,但仿真就是仿真,你有可能要花太多時間在解決一個仿真問題上,然而這個問題并不一定存在,到了實際中,你還得花時間.最主要的是:下載燒錄要比仿真快,幾秒鐘就可以了
回復

使用道具 舉報

地板
ID:299519 發表于 2020-3-19 08:59 | 只看該作者
12年前就匯編轉C了..
回復

使用道具 舉報

5#
ID:711279 發表于 2020-3-19 16:48 | 只看該作者
csmyldl 發表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

謝謝大佬回復,解釋的很詳細,我想更細致深入的學習,書后也沒有111長指令,只有這些[img[/

51hei圖片20200319165047.jpg (3.17 MB, 下載次數: 112)

51hei圖片20200319165047.jpg

51hei圖片20200319165101.jpg (3.09 MB, 下載次數: 126)

51hei圖片20200319165101.jpg
回復

使用道具 舉報

6#
ID:711279 發表于 2020-3-19 16:48 | 只看該作者
csmyldl 發表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

該看一些什么資料呢
回復

使用道具 舉報

7#
ID:711279 發表于 2020-3-19 16:50 | 只看該作者
Y_G_G 發表于 2020-3-19 08:32
匯編很神奇:不會的人要學,會的人不想學
匯編是基于硬件的,除了偽指令,每一條指令最少也必定有一個針對硬件 ...

你說的1.2我可以做到,謝謝,很實在的回復
回復

使用道具 舉報

8#
ID:711279 發表于 2020-3-19 17:01 | 只看該作者
csmyldl 發表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

AJMP KEYSC             ;轉移到掃描(此程序按鍵掃描未判斷,無法得到按鍵值)
如果我想掃描按鍵的話,例如MOV C,P1.1;MOVP1.5,C;控制開關可以吧
回復

使用道具 舉報

9#
ID:712028 發表于 2020-3-20 09:52 | 只看該作者
可以在網上買一些相應的書籍來看,或者找找視頻也可以的
回復

使用道具 舉報

10#
ID:416262 發表于 2020-3-20 11:49 | 只看該作者
我也在學。。。的確感覺很難受,要拋開c語言的思維,回到古代的思維去寫代碼
回復

使用道具 舉報

11#
ID:389856 發表于 2020-3-20 16:21 | 只看該作者
可以看一下單片機原理,微機原理
回復

使用道具 舉報

12#
ID:712352 發表于 2020-3-20 16:55 | 只看該作者
匯編語言雖然直接作用于單片機但是復雜難懂,還是建議c語言
回復

使用道具 舉報

13#
ID:235200 發表于 2020-3-20 22:32 | 只看該作者
機油味 發表于 2020-3-19 16:48
該看一些什么資料呢

你上面拍的照就是111條指令,匯編程序就是要熟悉這111條指令,還要知道執行時間
回復

使用道具 舉報

14#
ID:712628 發表于 2020-3-21 00:09 | 只看該作者
去看看匯編語言,把基本指令記住就可以了
回復

使用道具 舉報

15#
ID:401564 發表于 2020-3-21 09:27 | 只看該作者
難道我看了假的書了,我看的書都說8051有255條指令的呀,為什么只有111條了?
對著你的書,你就看前面兩項就可以了,不要看后面的,
字節數:沒意義,除非你的單片機只有幾十個字節的程序存儲器,或者你的代碼從來不用標號,不然的話,去記住這指令占用的字節數,純粹就是浪費時間
執行時間:沒意義,不要看,用的時候看指令表來對就可以了,現在用的都是STC的8051單片機了,STC系列和傳統的8051在指令的執行時間上完全不一樣的,記了也是浪費時間
機器代碼:不用管了,這玩意給誰看都不會,除非是大神

8051常用的匯編指令不會超過30條,其實是很好記的,你不要想著完全記好指令了再去寫代碼,自己對著STC的數據手冊,再看看書,從延時到流水燈,定時器,一步一步的,一個一個小程序的寫,最好不要超過100行代碼,慢慢的你就會了
基本上是一邊學習一邊寫代碼,還要隨時查閱數據手冊的,如果不是PDF而是書本的話,我估計可能已經翻爛了
如果你還在用AT8051的話,扔了吧,那沒有用的

還要多看一下偽指令,這會經常用到,用好了會讓你輕松很多的,像BIT  ORG  EQU  DATA都是常用的,
如果你按鍵在P1.0,到處都用P1.0,打字都難打,S1  BIT P1.0    然后,就一直以S1來代替P1.0了
回復

使用道具 舉報

16#
ID:691449 發表于 2020-3-23 12:35 | 只看該作者
你的指令表已經差不多夠用了。
回復

使用道具 舉報

17#
ID:711279 發表于 2020-5-11 00:13 | 只看該作者
青海長云 發表于 2020-3-20 11:49
我也在學。。。的確感覺很難受,要拋開c語言的思維,回到古代的思維去寫代碼

好難受,哈哈
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区免费在线视频 | 天堂久久久久久久 | 欧美极品少妇xxxxⅹ免费视频 | 99久久久久国产精品免费 | 亚洲视频免费在线观看 | 欧美精品一区二区三区在线 | 激情五月婷婷综合 | 亚洲福利av | 欧美一级欧美三级在线观看 | 97av在线| 中文字幕国产精品视频 | 日韩一二区在线 | 久在线视频播放免费视频 | 国内精品一区二区 | 毛片99| 亚洲www啪成人一区二区麻豆 | 精品一区二区三区在线观看国产 | 亚洲日本一区二区 | 欧美久久一区二区 | 涩涩视频在线看 | 欧美在线一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 久草青青草 | 91久久精品一区二区三区 | 女同av亚洲女人天堂 | 国产福利在线播放麻豆 | 91视频在线网站 | 国产99久久精品一区二区永久免费 | 色橹橹欧美在线观看视频高清 | 一级大片网站 | 一区二区三区中文字幕 | 一级片av | 久久a久久| 天天夜干 | 久久国产成人 | 成人av观看 | 九九九精品视频 | 成人免费在线播放 | 久久久久久中文字幕 | 狠狠色综合久久丁香婷婷 | 久久久久久久久一区 |