找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

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

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

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

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

使用道具 舉報(bào)

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

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

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

            X DATA 30H                ;未知數(shù)X 用寄存器30H代替   DATA是個(gè)偽指令
            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)加法運(yùn)算,如是負(fù)數(shù)執(zhí)行下一條道減法運(yùn)算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結(jié)果
            SUBB A,B                  ;減運(yùn)算,結(jié)果存ACC中
            SJMP Result               ;跳轉(zhuǎn)存結(jié)果
Positive:
            ADD A,B                   ;加運(yùn)算,結(jié)果存ACC中

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

使用道具 舉報(bào)

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

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

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

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

            X DATA 30H                ;未知數(shù)X 用寄存器30H代替   DATA是個(gè)偽指令
            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)加法運(yùn)算,如是負(fù)數(shù)執(zhí)行下一條道減法運(yùn)算
            CLR C                     ;PSW.7位   CY位需要清零,不能影響到加減法結(jié)果
            SUBB A,B                  ;減運(yùn)算,結(jié)果存ACC中
            SJMP Result               ;跳轉(zhuǎn)存結(jié)果
Positive:
            ADD A,B                   ;加運(yùn)算,結(jié)果存ACC中

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

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
5#
ID:500108 發(fā)表于 2019-4-1 07:16 | 只看該作者
謝謝分享......
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

13#
ID:553726 發(fā)表于 2019-6-3 14:37 來自觸屏版 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

15#
無效樓層,該帖已經(jīng)被刪除
16#
ID:314261 發(fā)表于 2019-6-28 13:14 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

22#
ID:498459 發(fā)表于 2019-8-13 09:18
什么呀這是。。。。亂七八糟,不知所云

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

27#
無效樓層,該帖已經(jīng)被刪除
28#
ID:518187 發(fā)表于 2019-10-24 23:41 | 只看該作者
·麥克納姆輪全向輪戰(zhàn)車程序精髓分享
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

30#
ID:500009 發(fā)表于 2019-11-29 14:27 來自觸屏版 | 只看該作者
多謝分享
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

36#
無效樓層,該帖已經(jīng)被刪除
37#
無效樓層,該帖已經(jīng)被刪除
38#
ID:566697 發(fā)表于 2020-3-19 12:52 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

39#
無效樓層,該帖已經(jīng)被刪除
40#
ID:753095 發(fā)表于 2020-5-16 09:46 | 只看該作者
很棒,感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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