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

標題: 51單片機一起學匯編—BCD調整 數據處理 [打印本頁]

作者: zhouchuantao    時間: 2019-3-9 21:55
標題: 51單片機一起學匯編—BCD調整 數據處理
/***********BCD調整**************/

      ORG  0000H
      JMP START
START:
      MOV SP,#7FH     ;設置堆棧地址
      MOV 50H,#69H    ;十六機制立即數69H 載人地址為50H寄存器中
      MOV R3,50H      ;運行DEBUG時 在R2中查看數據
      MOV R0,#60H     ;十六機制立即數60H 載人R0寄存器中
      MOV A,50H       ;地址為50H寄存器中的數據 載人累加器ACC中
      ANL A,#0F0H     ;累加器ACC中的高四位數據和十六進制的立即數 F0H  邏輯 與 運算
      MOV @R0,A       ;累加器ACC中的數據 載入以R0中的數據為地址的寄存器中   注意間接尋址:@R0=50H,50H作為寄存器地址使用,而不是數據
      MOV 30H,@R0     ;@R0間接尋址的數據 載入30H寄存器中
      MOV R1,30H      ;運行DEBUG時 在R2中查看數據
      MOV A,50H       ;寄存器50H 中的數據 載入累加器ACC
      ANL A,#0FH      ;累加器ACC中的低四位數據和十六進制的立即數 0FH  邏輯 與 運算
      INC R0          ;寄存器R0中的數據加1
      MOV @R0,A       ;累加器ACC中的數據 載入以R0中的數據為地址的寄存器中
      MOV 31H,@R0     ;@R0間接尋址的數據 載入30H寄存器?
      MOV R2,31H      ;運行DEBUG時 在R2中查看數據
      JMP START       ;調回開始


作者: zhouchuantao    時間: 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計算Z值, 結果存 20H 單元中
  Z=X-Y(X≥0)
  Z=X+Y(X<0)

需要知識:存儲寄存器中的正數和負數

************************/  

            X DATA 30H                ;未知數X 用寄存器30H代替   DATA是個偽指令
            Y DATA 31H                ;未知數Y 用寄存器31H代替

            ORG 0000H                 ;程序開始地址
            JMP START                 ;跳轉主程序
START:
            MOV SP,#7FH               ;堆棧地址7FH
            MOV X,#-9                 ;以30H為地址的寄存器中 載入初值 負9
            MOV Y,#1                  ;以31H為地址的寄存器中 載入初值 1
            MOV A,X                   ;X 的初值 載入A中
            MOV B,Y                   ;Y 的初值 載入B中
            JB Acc.7,Positive         ;ACC.7位是1還是0,判斷X是正數還是負數, 如是正數跳轉加法運算,如是負數執(zhí)行下一條道減法運算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結果
            SUBB A,B                  ;減運算,結果存ACC中
            SJMP Result               ;跳轉存結果
Positive:
            ADD A,B                   ;加運算,結果存ACC中

Result:            MOV 20H,A                 ;結果存在寄存器地址為20H中
            MOV R1,20H                ;調試中查看數值,驗證程序
            JMP $
END
作者: 小林大哥哥    時間: 2019-3-17 13:42

/*************************
題目要求
已知 X Y,計算Z值, 結果存 20H 單元中
  Z=X-Y(X≥0)
  Z=X+Y(X<0)

需要知識:存儲寄存器中的正數和負數

************************/  

            X DATA 30H                ;未知數X 用寄存器30H代替   DATA是個偽指令
            Y DATA 31H                ;未知數Y 用寄存器31H代替

            ORG 0000H                 ;程序開始地址
            JMP START                 ;跳轉主程序
START:
            MOV SP,#7FH               ;堆棧地址7FH
            MOV X,#-9                 ;以30H為地址的寄存器中 載入初值 負9
            MOV Y,#1                  ;以31H為地址的寄存器中 載入初值 1
            MOV A,X                   ;X 的初值 載入A中
            MOV B,Y                   ;Y 的初值 載入B中
            JB Acc.7,Positive         ;ACC.7位是1還是0,判斷X是正數還是負數, 如是正數跳轉加法運算,如是負數執(zhí)行下一條道減法運算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結果
            SUBB A,B                  ;減運算,結果存ACC中
            SJMP Result               ;跳轉存結果
Positive:
            ADD A,B                   ;加運算,結果存ACC中

Result:            MOV 20H,A                 ;結果存在寄存器地址為20H中
            MOV R1,20H                ;調試中查看數值,驗證程序
            JMP $
END
作者: songzhy    時間: 2019-4-1 07:16
謝謝分享......
作者: michael2018    時間: 2019-4-8 16:05
樓主牛逼啦
作者: solo2pm    時間: 2019-4-13 00:11
新人  表示匯編還不太懂 看天書……
作者: songzhy    時間: 2019-4-14 07:49
新人  表示匯編還不太懂
作者: silicon_hacker    時間: 2019-4-24 22:12
51單片機學習匯編
作者: qq12345qq6789qq    時間: 2019-4-25 16:01

新人  表示匯編還不太懂
作者: 遷就    時間: 2019-4-26 17:35
謝謝分享
作者: jackliuwenli    時間: 2019-5-29 14:16
謝謝分享
作者: 1316880381    時間: 2019-6-3 14:37
謝謝分享
作者: vccccclala    時間: 2019-6-18 16:55
感謝分享

作者: 175花見花開艱苦    時間: 2019-6-28 13:14
感謝分享
作者: 刷新時間    時間: 2019-7-5 10:46
剛剛開始
作者: tieq1952    時間: 2019-7-10 06:35
謝謝分享!!!
作者: 鵬博士PBs    時間: 2019-7-10 09:22
2進制轉10進制的BCD譯碼器
作者: 一直有你陪伴    時間: 2019-7-27 01:58
樓主牛逼啦,匯編看不懂
作者: LIUSIGN    時間: 2019-8-5 08:40
樓主牛逼啦,匯編看不懂
作者: 佳佳電氣    時間: 2019-9-14 18:57
新手表示看不懂,學習中
作者: star130    時間: 2019-9-23 20:20
看明白了,學習了,有幫助
作者: 五依黑    時間: 2019-10-4 17:32
大神,想學單片機應該先從哪里開始?
作者: 五依黑    時間: 2019-10-4 17:33
單片機如何入門?
作者: harry3    時間: 2019-10-24 23:41
·麥克納姆輪全向輪戰(zhàn)車程序精髓分享
作者: 雙贏電子    時間: 2019-11-16 17:45
多謝分享,學習了,收藏
作者: 莫陌    時間: 2019-11-29 14:27
多謝分享
作者: 巫山煙雨    時間: 2019-12-12 17:25
謝謝分享  
作者: ttw1640664131    時間: 2019-12-24 23:25
感謝樓主的分享
作者: justToWing    時間: 2020-2-2 08:00
謝謝樓主分享
作者: 尼古拉斯-趙四    時間: 2020-2-17 17:38
具體咋回事啊,有誰能告知一下嗎,看了好長時間沒看懂
作者: player    時間: 2020-2-22 13:08
好久沒來了,做個記號

作者: tttpotr    時間: 2020-3-19 12:52
感謝樓主
作者: 卑微小蔣    時間: 2020-5-16 09:46
很棒,感謝樓主的分享
作者: 271289610@qq.co    時間: 2020-5-23 09:50
謝謝樓主的分享,一剛學的小萌新有點看不懂
作者: tangxiexiong    時間: 2020-7-18 19:10
51的指令太多,市場上PIC系列的多,工作也容易找
作者: leehk88    時間: 2020-8-27 09:26
註釋很詳細方便學習,謝謝了.
作者: 15x1    時間: 2020-11-22 09:01
沒有看懂匯編  想學
作者: dlzhoubo    時間: 2021-1-8 12:14
zhouchuantao 發(fā)表于 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計算Z值, 結果存 20H 單元中

有點看天書的感覺!學習中
作者: 番薯藤    時間: 2021-1-14 17:26
zhouchuantao 發(fā)表于 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計算Z值, 結果存 20H 單元中

你好,請問你代碼開頭用的偽指令是不是用錯了

作者: fln0457    時間: 2021-1-15 13:58
新人想學編程,現在能用RS232口擦寫STC15F204EA芯片,先求一個小程序
作者: runmuel    時間: 2021-3-27 21:39
番薯藤 發(fā)表于 2021-1-14 17:26
你好,請問你代碼開頭用的偽指令是不是用錯了

/*
學過C的應不用說也懂了。
多行注釋就這樣用
*/
作者: lsg0280    時間: 2021-5-29 08:29
很基礎的知識,要珍惜學習。
作者: 3152681172    時間: 2021-6-26 15:45
沒有看懂匯編  想學
作者: yjgu    時間: 2021-7-11 21:30
樓主牛逼啦
作者: 188610329    時間: 2021-8-29 00:28
你這串代碼,沒看出和BCD調整有任何關系……只是看到內存浪費一大把,還特別的不經濟,比如,
MOV   50H,#69H
MOV   R3,50H

作者: 188610329    時間: 2021-8-29 00:37
你這串代碼,沒看出和BCD調整有任何關系……只是看到內存浪費一大把,還特別的不經濟,比如,
MOV  50H,#69H      ; 用了3個字節(jié)
MOV  R3,50H          ; 用了2個字節(jié)
正常寫法,應該:
MOV   R3,#69H      ;用2個字節(jié)
MOV   50H,R3       ;用2個字節(jié)
類似的問題著串代碼里很多。
另外,MOV @R0,A       ;累加器ACC中的數據 載入以R0中的數據為地址的寄存器中   注意間接尋址:@R0=50H,50H作為寄存器地址使用,而不是數據
你這串代碼的時候 @R0, 應該間接尋址的60H而不是50H 你上面 R0 明明賦值的是 #60H
這類問題太多了……
最后那個JMP START 更加莫名其妙,你所有的所有都是重新賦值,這個循環(huán)再多次,結果還是不變,這個時候完全應該 JMP $ 直接鎖定PC 指針才對嘛……
作者: 學習使我快樂@    時間: 2021-9-22 11:20
小林大哥哥 發(fā)表于 2019-3-17 13:42
/*************************
題目要求
已知 X Y,計算Z值, 結果存 20H 單元中

匯編剛開始真一臉懵

作者: gaofahao    時間: 2021-11-20 13:58

新人  表示匯編還不太懂 看天書……
作者: HAPPY3    時間: 2021-12-23 11:02
懂一點,但怕鉆研,
作者: yzwzfyz    時間: 2022-8-1 16:36
回39#:
CPU只認識【二進制指令代碼】,其它一概不認!!!無論是匯編、C、……。
匯編還需要通過編譯器(匯編的編譯平臺),將匯編言翻譯成【二進制指令代碼】,再通過燒錄設備寫入單片機中,才算大功告成。
偽指令會指導編譯器進行編譯,如第一句:“ORG 0000H”,編譯器就會知道,編好的【二進制指令代碼】從指令存儲器的0000H單元開始存放。
所謂“偽指令”,是CPU不認識,而編譯器能懂的“話”。
換句話說:“偽指令”下給編譯器的命令,而不是對CPU下令。
作者: QQQQ987    時間: 2022-9-4 23:34
表示喜歡51C語言編程方式,匯編不喜歡,哈哈——




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