byte2asc.asm
来自「8051 进行加解密的源代码」· 汇编 代码 · 共 59 行
ASM
59 行
===============================================================================;*******************************************************************************; Returns the ASCII codes from the nibbles of a byte stored in the Acc.; After being called the high nibble is in the Acc and the low nibble ; is in the B register.;;; ;usage:;; mov a, #byte; CALL nibble;; ;returns; ;A= high nibble; ;B= low nibble;*******************************************************************************nibble: mov b,a ; b=a ; stores Acc in B anl a,#0f0h ; a=xxxx0000 ; A && #f0h (get the high nibble) swap a ; a=0000xxxx ; swap nibbles orl a,#30h ; a=0011xxxx ; add #30h, if nibble is push acc ; 0-9 we have the ASCII value push b ; stores A and B mov b, #3ah ; stores #3ah in B div ab ; divide A/#3ah jz, recupera1 ; if zero, nibble < #0Ahnibble1_ok: pop b ; recover B pop acc ; recover A add a, #07h ; adds #07h to get ASCII of A-F xch a,b jmp nibble2recupera1: pop b ; stores B pop acc ; stores A xch a,bnibble2: anl a,#0fh ; a=0000xxxx ; A && #0fh (get low nibble) orl a,#30h ; a=0011xxxx ; add #30h, if nibble is push acc ; 0-9 we have the ASCII value push b ; stores A and B mov b, #3ah ; stores #3ah in B div ab ; divide A/#3ah jz, recupera2 ; if zero, nibble < #0Ah pop b ; recover B pop acc ; recover A add a, #07h ; adds #07h to get ASCII of A-F xch a,b ret ; return to main routinerecupera2: pop b ; recover B pop acc ; recover A xch a,b ret ; return to main routine;*******************************************************************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?