找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20053|回復(fù): 50
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)一起學(xué)匯編—BCD調(diào)整 數(shù)據(jù)處理

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:255377 發(fā)表于 2019-3-9 21:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/***********BCD調(diào)整**************/

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

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

使用道具 舉報

沙發(fā)
ID:255377 發(fā)表于 2019-3-10 12:04 | 只看該作者
/*************************
題目要求
已知 X Y,計算Z值, 結(jié)果存 20H 單元中
  Z=X-Y(X≥0)
  Z=X+Y(X<0)

需要知識:存儲寄存器中的正數(shù)和負(fù)數(shù)

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

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

            ORG 0000H                 ;程序開始地址
            JMP START                 ;跳轉(zhuǎn)主程序
START:
            MOV SP,#7FH               ;堆棧地址7FH
            MOV X,#-9                 ;以30H為地址的寄存器中 載入初值 負(fù)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是正數(shù)還是負(fù)數(shù), 如是正數(shù)跳轉(zhuǎn)加法運算,如是負(fù)數(shù)執(zhí)行下一條道減法運算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結(jié)果
            SUBB A,B                  ;減運算,結(jié)果存ACC中
            SJMP Result               ;跳轉(zhuǎn)存結(jié)果
Positive:
            ADD A,B                   ;加運算,結(jié)果存ACC中

Result:            MOV 20H,A                 ;結(jié)果存在寄存器地址為20H中
            MOV R1,20H                ;調(diào)試中查看數(shù)值,驗證程序
            JMP $
END
回復(fù)

使用道具 舉報

板凳
ID:492516 發(fā)表于 2019-3-17 13:42 | 只看該作者

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

需要知識:存儲寄存器中的正數(shù)和負(fù)數(shù)

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

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

            ORG 0000H                 ;程序開始地址
            JMP START                 ;跳轉(zhuǎn)主程序
START:
            MOV SP,#7FH               ;堆棧地址7FH
            MOV X,#-9                 ;以30H為地址的寄存器中 載入初值 負(fù)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是正數(shù)還是負(fù)數(shù), 如是正數(shù)跳轉(zhuǎn)加法運算,如是負(fù)數(shù)執(zhí)行下一條道減法運算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結(jié)果
            SUBB A,B                  ;減運算,結(jié)果存ACC中
            SJMP Result               ;跳轉(zhuǎn)存結(jié)果
Positive:
            ADD A,B                   ;加運算,結(jié)果存ACC中

Result:            MOV 20H,A                 ;結(jié)果存在寄存器地址為20H中
            MOV R1,20H                ;調(diào)試中查看數(shù)值,驗證程序
            JMP $
END
回復(fù)

使用道具 舉報

地板
ID:500108 發(fā)表于 2019-4-1 07:16 | 只看該作者
謝謝分享......
回復(fù)

使用道具 舉報

5#
ID:306176 發(fā)表于 2019-4-8 16:05 | 只看該作者
樓主牛逼啦
回復(fù)

使用道具 舉報

6#
ID:510907 發(fā)表于 2019-4-13 00:11 | 只看該作者
新人  表示匯編還不太懂 看天書……
回復(fù)

使用道具 舉報

7#
ID:500108 發(fā)表于 2019-4-14 07:49 | 只看該作者
新人  表示匯編還不太懂
回復(fù)

使用道具 舉報

8#
ID:520280 發(fā)表于 2019-4-24 22:12 | 只看該作者
51單片機(jī)學(xué)習(xí)匯編
回復(fù)

使用道具 舉報

9#
ID:521466 發(fā)表于 2019-4-25 16:01 | 只看該作者

新人  表示匯編還不太懂
回復(fù)

使用道具 舉報

10#
ID:484435 發(fā)表于 2019-4-26 17:35 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

11#
ID:189235 發(fā)表于 2019-5-29 14:16 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

12#
ID:553726 發(fā)表于 2019-6-3 14:37 來自手機(jī) | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

13#
ID:565924 發(fā)表于 2019-6-18 16:55 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

14#
ID:314261 發(fā)表于 2019-6-28 13:14 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

15#
ID:578168 發(fā)表于 2019-7-5 10:46 | 只看該作者
剛剛開始
回復(fù)

使用道具 舉報

16#
ID:253767 發(fā)表于 2019-7-10 06:35 | 只看該作者
謝謝分享!!!
回復(fù)

使用道具 舉報

17#
ID:282095 發(fā)表于 2019-7-10 09:22 | 只看該作者
2進(jìn)制轉(zhuǎn)10進(jìn)制的BCD譯碼器
回復(fù)

使用道具 舉報

18#
ID:528486 發(fā)表于 2019-7-27 01:58 | 只看該作者
樓主牛逼啦,匯編看不懂
回復(fù)

使用道具 舉報

19#
ID:595296 發(fā)表于 2019-8-5 08:40 | 只看該作者
樓主牛逼啦,匯編看不懂
回復(fù)

使用道具 舉報

20#
ID:611480 發(fā)表于 2019-9-14 18:57 來自手機(jī) | 只看該作者
新手表示看不懂,學(xué)習(xí)中
回復(fù)

使用道具 舉報

21#
ID:256878 發(fā)表于 2019-9-23 20:20 | 只看該作者
看明白了,學(xué)習(xí)了,有幫助
回復(fù)

使用道具 舉報

22#
ID:619244 發(fā)表于 2019-10-4 17:32 | 只看該作者
大神,想學(xué)單片機(jī)應(yīng)該先從哪里開始?
回復(fù)

使用道具 舉報

23#
ID:619244 發(fā)表于 2019-10-4 17:33 | 只看該作者
單片機(jī)如何入門?
回復(fù)

使用道具 舉報

24#
ID:518187 發(fā)表于 2019-10-24 23:41 | 只看該作者
·麥克納姆輪全向輪戰(zhàn)車程序精髓分享
回復(fù)

使用道具 舉報

25#
ID:116662 發(fā)表于 2019-11-16 17:45 來自手機(jī) | 只看該作者
多謝分享,學(xué)習(xí)了,收藏
回復(fù)

使用道具 舉報

26#
ID:500009 發(fā)表于 2019-11-29 14:27 來自手機(jī) | 只看該作者
多謝分享
回復(fù)

使用道具 舉報

27#
ID:662626 發(fā)表于 2019-12-12 17:25 | 只看該作者
謝謝分享  
回復(fù)

使用道具 舉報

28#
ID:673012 發(fā)表于 2019-12-24 23:25 | 只看該作者
感謝樓主的分享
回復(fù)

使用道具 舉報

29#
ID:689267 發(fā)表于 2020-2-2 08:00 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報

30#
ID:691354 發(fā)表于 2020-2-17 17:38 | 只看該作者
具體咋回事啊,有誰能告知一下嗎,看了好長時間沒看懂
回復(fù)

使用道具 舉報

31#
ID:30534 發(fā)表于 2020-2-22 13:08 | 只看該作者
好久沒來了,做個記號
回復(fù)

使用道具 舉報

32#
ID:566697 發(fā)表于 2020-3-19 12:52 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報

33#
ID:753095 發(fā)表于 2020-5-16 09:46 | 只看該作者
很棒,感謝樓主的分享
回復(fù)

使用道具 舉報

34#
ID:758907 發(fā)表于 2020-5-23 09:50 | 只看該作者
謝謝樓主的分享,一剛學(xué)的小萌新有點看不懂
回復(fù)

使用道具 舉報

35#
ID:166111 發(fā)表于 2020-7-18 19:10 | 只看該作者
51的指令太多,市場上PIC系列的多,工作也容易找
回復(fù)

使用道具 舉報

36#
ID:809671 發(fā)表于 2020-8-27 09:26 | 只看該作者
註釋很詳細(xì)方便學(xué)習(xí),謝謝了.
回復(fù)

使用道具 舉報

37#
ID:847139 發(fā)表于 2020-11-22 09:01 來自手機(jī) | 只看該作者
沒有看懂匯編  想學(xué)
回復(fù)

使用道具 舉報

38#
ID:812362 發(fā)表于 2021-1-8 12:14 | 只看該作者
zhouchuantao 發(fā)表于 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計算Z值, 結(jié)果存 20H 單元中

有點看天書的感覺!學(xué)習(xí)中
回復(fù)

使用道具 舉報

39#
ID:877596 發(fā)表于 2021-1-14 17:26 | 只看該作者
zhouchuantao 發(fā)表于 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計算Z值, 結(jié)果存 20H 單元中

你好,請問你代碼開頭用的偽指令是不是用錯了
回復(fù)

使用道具 舉報

40#
ID:877827 發(fā)表于 2021-1-15 13:58 | 只看該作者
新人想學(xué)編程,現(xiàn)在能用RS232口擦寫STC15F204EA芯片,先求一個小程序
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表