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

標(biāo)題: 51單片機(jī)一起學(xué)匯編—BCD調(diào)整 數(shù)據(jù)處理 [打印本頁]

作者: zhouchuantao    時間: 2019-3-9 21:55
標(biāo)題: 51單片機(jī)一起學(xué)匯編—BCD調(diào)整 數(shù)據(jù)處理
/***********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時 在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時 在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時 在R2中查看數(shù)據(jù)
      JMP START       ;調(diào)回開始


作者: zhouchuantao    時間: 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計(jì)算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)加法運(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
作者: 小林大哥哥    時間: 2019-3-17 13:42

/*************************
題目要求
已知 X Y,計(jì)算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)加法運(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
作者: 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單片機(jī)學(xué)習(xí)匯編
作者: 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進(jìn)制轉(zhuǎn)10進(jìn)制的BCD譯碼器
作者: 一直有你陪伴    時間: 2019-7-27 01:58
樓主牛逼啦,匯編看不懂
作者: LIUSIGN    時間: 2019-8-5 08:40
樓主牛逼啦,匯編看不懂
作者: 佳佳電氣    時間: 2019-9-14 18:57
新手表示看不懂,學(xué)習(xí)中
作者: star130    時間: 2019-9-23 20:20
看明白了,學(xué)習(xí)了,有幫助
作者: 五依黑    時間: 2019-10-4 17:32
大神,想學(xué)單片機(jī)應(yīng)該先從哪里開始?
作者: 五依黑    時間: 2019-10-4 17:33
單片機(jī)如何入門?
作者: harry3    時間: 2019-10-24 23:41
·麥克納姆輪全向輪戰(zhàn)車程序精髓分享
作者: 雙贏電子    時間: 2019-11-16 17:45
多謝分享,學(xué)習(xí)了,收藏
作者: 莫陌    時間: 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
謝謝樓主的分享,一剛學(xué)的小萌新有點(diǎn)看不懂
作者: tangxiexiong    時間: 2020-7-18 19:10
51的指令太多,市場上PIC系列的多,工作也容易找
作者: leehk88    時間: 2020-8-27 09:26
註釋很詳細(xì)方便學(xué)習(xí),謝謝了.
作者: 15x1    時間: 2020-11-22 09:01
沒有看懂匯編  想學(xué)
作者: dlzhoubo    時間: 2021-1-8 12:14
zhouchuantao 發(fā)表于 2019-3-10 12:04
/*************************
題目要求
已知 X Y,計(jì)算Z值, 結(jié)果存 20H 單元中

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

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

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

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

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

匯編剛開始真一臉懵

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

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




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人午夜小视频 | 欧美成人猛片aaaaaaa | 国产精品久久久久永久免费看 | a级片在线观看 | 日产精品久久久一区二区 | 欧美视频在线一区 | 亚洲图片一区二区 | 欧美国产一区二区 | 精品国产成人 | 成人日韩在线 | 国产精品国产精品国产专区不片 | 日韩三级久久 | 日韩午夜精品 | 一级做a爱片性色毛片 | 天天爽天天爽 | 夜夜夜夜操| 国产亚洲精品成人av久久ww | 日韩一级大片 | 中文字幕亚洲一区 | 特级淫片裸体免费看 | 亚洲精品美女 | 国产乱码精品一区二区三 | 欧美成人精品一区二区三区在线看 | 就爱啪啪网 | 欧美日韩成人 | 国产福利视频 | 日韩中文字幕在线播放 | 国产一区二区三区免费 | 日韩免费看片 | 成年女人毛片 | 日本加勒比在线 | 福利视频1000 | 成人羞羞国产免费游戏 | 免费黄色网址在线观看 | 亚洲天天 | 国产又粗又大又长 | 99精品久久久久久中文字幕 | 欧美精品一二三 | 玖玖伊人 | 日韩视频一区二区三区 | 夜夜操夜夜操 |