?? bcd.asm
字號:
//============================================================
// 文件名稱: BCD.asm
// 功能描述: 二進制轉BCD碼
// 維護記錄: 2004-4-25 v1.0
// 2006-9-10 v1.1
// 維護說明: 支持0~65535數字轉換
//============================================================
//=============================================================
// 語法格式: unsigned long int BCD(unsigned int Binary)
// 實現功能: 二進制轉BCD碼
// 參數: Binary - 需要轉換的二進制數
// 返回值: 壓縮格式存儲的BCD碼(使用兩個字存儲)
//=============================================================
.ram
.var BCD_ww,BCD_qw,BCD_bw;
.code
.public _BCD
_BCD:.proc
push r3,r4 to [sp]
r2=0
r3=0
r4=0
[BCD_ww] = r2
[BCD_bw] = r2
[BCD_qw] = r2
cmp r1,10000
jb F_BCD_Q
F_BCD_W:
r2 = [BCD_ww]
r2 += 1;
[BCD_ww] = r2;
r1 -= 10000
cmp r1, 10000
jae F_BCD_W
// cmp r1,1000
// jb F_BCD_B
F_BCD_Q:
cmp r1,1000
jb F_BCD_B
r2 = [BCD_qw]
r2 += 1
[BCD_qw]=r2
r1-=1000
cmp r1,1000
jae F_BCD_Q
F_BCD_B:
cmp r1,100
jb F_BCD_S
r2=[BCD_bw]
r2+=1
[BCD_bw]=r2
r1-=100
cmp r1,100
jae F_BCD_B
F_BCD_S:
cmp r1,10
jb F_BCD_G
r3+=1
r1-=10
cmp r1,10
jae F_BCD_S
F_BCD_G:
r4=r1
r1=0x0000
r1=r1 rol 4
r1=[BCD_qw]
r2=[BCD_bw]
r2=r2 ror 4
r1=r1 rol 4
r3=r3 ror 4
r1=r1 rol 4
r4=r4 ror 4
r1=r1 rol 4
r2 = [BCD_ww]
pop r3,r4 from [sp]
retf
.endp
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -