回覆列表
-
1 # 使用者3452092307735044
-
2 # 認真的橘子5Q
十六進位制數轉成ASCII碼,一個位元組的十六進位制數,轉成ASCII碼後,變成了兩個位元組。 如6BH,ASCII碼是36H和42H,這很簡單,自己寫一個小函式就行了。
-
3 # 抖音小王子
這程式的功能就是把一位元組十六進位制數的低4位轉換為一個ASCII碼。例如0x0E轉換為'E'、0x08轉換為'8'。
我估計你就是對內碼不太熟悉吧。 你翻一下ASCII碼的內碼錶,再對照這程式看看,應該就能明白了。 很好懂的。
-
4 # 使用者4023828405032552
HASC:MOV A,R0 ;從R0中取一個16進位制(二進位制)數(0-F) ANL A,#0FH ;遮蔽掉高4位 PUSH ACC ;4位二進位制數入棧 CLR C ;清進(借)位位 SUBB A,#0AH POP ACC JC LOOP ADD A,#07H LOOP:ADD A,#30H MOV R2,A RET 實驗結果:R0中的十六進位制數(比如A),轉換為ASCII碼(41H)送入R2中。剛才回答了,沒有了嗎?
每個數字+0x30,每個字母+0x37就成了。比如開頭五個fad1e:f的16進位制是1111,加0x37即1111+00110111=01000110=0x46;a的16進位制是1010,加0x37即1010+00110111=01000001=0x41;d的16進位制是1101,加0x37即1101+00110111=01000100=0x44;1的16進位制是0001,加0x37即0001+00110111=00110001=0x31;e的16進位制是1110,加0x37即1110+00110111=01000101=0x45。所以16進位制數fad1e的ASCII碼就是:4641443145。其他的你就照貓畫虎吧……