欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 如何學(xué)習(xí)匯編語言?以前學(xué)的都是C語言的,這次學(xué)的基本都不認(rèn)識(shí),什么mov,jnb ajmp [打印本頁]

作者: 機(jī)油味    時(shí)間: 2020-3-19 00:20
標(biāo)題: 如何學(xué)習(xí)匯編語言?以前學(xué)的都是C語言的,這次學(xué)的基本都不認(rèn)識(shí),什么mov,jnb ajmp
就像圖片里我只認(rèn)識(shí)loop,main,老師講的不詳細(xì),我很煩躁。我想認(rèn)真學(xué)習(xí)這種語言,前輩們告訴我一些資源就可以,我自己學(xué)能學(xué)明白那種。謝謝各位大佬!  就是下面這種語言,屬于什么類型?我想找資源該去哪里查閱學(xué)習(xí),真的謝謝了,翻了一天課本幾乎一無所獲。  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, 下載次數(shù): 105)

chenxgu.JPG

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

yuanlitu.JPG

作者: csmyldl    時(shí)間: 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP MAIN               ;短轉(zhuǎn)移到MAIN
         ORG 0040H              ;下面程序從0040存放
MAIN: MOV P1,#0FFH        ;使P1口輸出高電平(可不要)
;       CLR R1                    ;這指令是錯(cuò)誤的,沒有這種用法
         MOV A,#0FH          ;數(shù)據(jù)0F存A寄存器
         MOV P1,A             ;數(shù)據(jù)0F從P1口輸出
         ACALL DELAY50    ;調(diào)用延時(shí)程序
KEYSC:  MOV  A,P1        ;讀P1口按鍵狀態(tài)
         ANL  A,#00001111B    ;保留低4位
         SWAP  A;高低4位互換  ;反轉(zhuǎn)
         MOV P1,A                  ;由P1口輸出
         ACALL DELAY50        ;調(diào)用延時(shí)
         ACALL DELAY50
         ACALL DELAY50
         AJMP KEYSC             ;轉(zhuǎn)移到掃描(此程序按鍵掃描未判斷,無法得到按鍵值)
        ORG 0200H              ;下面程序存地址200H
DELAY50:   MOV R7,200        ;錯(cuò)誤命令,數(shù)據(jù)200前未加#
D1:               MOV R6,123    ;錯(cuò)誤命令,數(shù)據(jù)123前未加#
                    NOP
D2:                DJNZ R6,D2   ;判斷R6不為0,轉(zhuǎn)移到D2
D3:                DJNZ R7,D1   ;判斷R7不為0,轉(zhuǎn)移到D1
                      RET             ;子程序的返回
                      END
作者: Y_G_G    時(shí)間: 2020-3-19 08:32
匯編很神奇:不會(huì)的人要學(xué),會(huì)的人不想學(xué)
匯編是基于硬件的,除了偽指令,每一條指令最少也必定有一個(gè)針對(duì)硬件的結(jié)果
匯編是低級(jí)語言,從低級(jí)語言往高級(jí)語言學(xué)是相對(duì)比較容易的,我學(xué)了匯編,就覺得C沒有那么難,但匯編已經(jīng)用習(xí)慣了,思想還是沒有那么快轉(zhuǎn)變過來而已
但要是學(xué)會(huì)了C,再來學(xué)匯編就有點(diǎn)難了
匯編就是把C細(xì)分化,C一個(gè)語句,匯編可能要幾條或者上百條指令來完成你要做的是把8051匯編指令的含義全部記住,理論上有255條指令,還有一條是預(yù)留的,不知道是要來干嘛的
但實(shí)際上,8051的匯編指令也是不到30條:MOV R7,200和MOV P1,#0FFH雖說是兩種不同的操作,但實(shí)際上是一樣的:都是MOV指令,MOV指令就是把逗號(hào)右邊的東西轉(zhuǎn)移到逗號(hào)左邊去,這個(gè)東西有可能是地址,數(shù)據(jù),標(biāo)志位
所以,你現(xiàn)在要做的:
1:充分的去了解8051的硬件
2:記住8051的匯編代碼含義
3:有一塊學(xué)習(xí)板,寫了代碼一定要燒錄驗(yàn)證,仿真沒有意義,有的人說仿真都不行那實(shí)際更不行,的確是這樣,但仿真就是仿真,你有可能要花太多時(shí)間在解決一個(gè)仿真問題上,然而這個(gè)問題并不一定存在,到了實(shí)際中,你還得花時(shí)間.最主要的是:下載燒錄要比仿真快,幾秒鐘就可以了

作者: myemcu    時(shí)間: 2020-3-19 08:59
12年前就匯編轉(zhuǎn)C了..
作者: 機(jī)油味    時(shí)間: 2020-3-19 16:48
csmyldl 發(fā)表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

謝謝大佬回復(fù),解釋的很詳細(xì),我想更細(xì)致深入的學(xué)習(xí),書后也沒有111長指令,只有這些[img[/

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

51hei圖片20200319165047.jpg

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

51hei圖片20200319165101.jpg

作者: 機(jī)油味    時(shí)間: 2020-3-19 16:48
csmyldl 發(fā)表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

該看一些什么資料呢
作者: 機(jī)油味    時(shí)間: 2020-3-19 16:50
Y_G_G 發(fā)表于 2020-3-19 08:32
匯編很神奇:不會(huì)的人要學(xué),會(huì)的人不想學(xué)
匯編是基于硬件的,除了偽指令,每一條指令最少也必定有一個(gè)針對(duì)硬件 ...

你說的1.2我可以做到,謝謝,很實(shí)在的回復(fù)

作者: 機(jī)油味    時(shí)間: 2020-3-19 17:01
csmyldl 發(fā)表于 2020-3-19 01:14
匯編語言就是要熟悉書后面的111長指令
         ORG  0000H              ;存放起始地址
         AJMP M ...

AJMP KEYSC             ;轉(zhuǎn)移到掃描(此程序按鍵掃描未判斷,無法得到按鍵值)
如果我想掃描按鍵的話,例如MOV C,P1.1;MOVP1.5,C;控制開關(guān)可以吧
作者: i林小拽    時(shí)間: 2020-3-20 09:52
可以在網(wǎng)上買一些相應(yīng)的書籍來看,或者找找視頻也可以的
作者: 青海長云    時(shí)間: 2020-3-20 11:49
我也在學(xué)。。。的確感覺很難受,要拋開c語言的思維,回到古代的思維去寫代碼
作者: 墨梔    時(shí)間: 2020-3-20 16:21
可以看一下單片機(jī)原理,微機(jī)原理
作者: 141514    時(shí)間: 2020-3-20 16:55
匯編語言雖然直接作用于單片機(jī)但是復(fù)雜難懂,還是建議c語言
作者: csmyldl    時(shí)間: 2020-3-20 22:32
機(jī)油味 發(fā)表于 2020-3-19 16:48
該看一些什么資料呢

你上面拍的照就是111條指令,匯編程序就是要熟悉這111條指令,還要知道執(zhí)行時(shí)間
作者: canpotian    時(shí)間: 2020-3-21 00:09
去看看匯編語言,把基本指令記住就可以了
作者: Y_G_G    時(shí)間: 2020-3-21 09:27
難道我看了假的書了,我看的書都說8051有255條指令的呀,為什么只有111條了?
對(duì)著你的書,你就看前面兩項(xiàng)就可以了,不要看后面的,
字節(jié)數(shù):沒意義,除非你的單片機(jī)只有幾十個(gè)字節(jié)的程序存儲(chǔ)器,或者你的代碼從來不用標(biāo)號(hào),不然的話,去記住這指令占用的字節(jié)數(shù),純粹就是浪費(fèi)時(shí)間
執(zhí)行時(shí)間:沒意義,不要看,用的時(shí)候看指令表來對(duì)就可以了,現(xiàn)在用的都是STC的8051單片機(jī)了,STC系列和傳統(tǒng)的8051在指令的執(zhí)行時(shí)間上完全不一樣的,記了也是浪費(fèi)時(shí)間
機(jī)器代碼:不用管了,這玩意給誰看都不會(huì),除非是大神

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

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

作者: xianming    時(shí)間: 2020-3-23 12:35
你的指令表已經(jīng)差不多夠用了。
作者: 機(jī)油味    時(shí)間: 2020-5-11 00:13
青海長云 發(fā)表于 2020-3-20 11:49
我也在學(xué)。。。的確感覺很難受,要拋開c語言的思維,回到古代的思維去寫代碼

好難受,哈哈




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1