找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1403|回復: 3
收起左側(cè)

關(guān)于匯編asc碼轉(zhuǎn)16進制問題

[復制鏈接]
ID:73992 發(fā)表于 2023-3-2 22:47 | 顯示全部樓層 |閱讀模式
DSC00177_看圖王.jpg
這是asc碼轉(zhuǎn)成對應(yīng)的16進制數(shù)程序,書上的CJNE A,0AH,ASCTH1 這句我不明白為什么。因為0到16的asc碼減去0x30,沒有等于0AH的,既然沒有等于0ah的,這條指令在這里相當于sjmp。如果是sjmp直接可以省略了。那么這里的判斷原理是什么呢。書上的程序如果是0到九計算錯誤。只是想知道他的思路是什么。


DSC00179_看圖王.jpg

以下是我自己寫的,試過能用。

無標題.jpg
回復

使用道具 舉報

ID:884147 發(fā)表于 2023-3-3 09:44 | 顯示全部樓層
CJNE A,0AH,ASCTH1 表面看沒有任何作用,實際是會影響標志位C的,在這里起到比較作用,當A<0AH時C=1,否則C=0 下面的JC語句是根據(jù)這個C判斷轉(zhuǎn)移的。
回復

使用道具 舉報

ID:73992 發(fā)表于 2023-3-19 12:46 來自觸屏版 | 顯示全部樓層
mtdzok 發(fā)表于 2023-3-3 09:44
CJNE A,0AH,ASCTH1 表面看沒有任何作用,實際是會影響標志位C的,在這里起到比較作用,當A

我發(fā)現(xiàn) 程序中如果不加clr cy 那么有的時候 acc的值會自動減1。就是說mov a,#0x32     subb a,#0x30    cjne a,#0x0a,asch  當程序執(zhí)行到cjne這條語句后,acc的值有時候會自動減1 有時候不減,。加上clr cy 就沒發(fā)現(xiàn)這個問題
回復

使用道具 舉報

ID:884147 發(fā)表于 2023-3-19 15:19 | 顯示全部樓層
lyonkon 發(fā)表于 2023-3-19 12:46
我發(fā)現(xiàn) 程序中如果不加clr cy 那么有的時候 acc的值會自動減1。就是說mov a,#0x32     subb a,#0x30    ...

減法指令開始之前一定要加CLR C,SUBB 是帶標志位C一起減的,很多指令是影響C的。第二個程序就缺乏CLR C結(jié)果會出問題。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表