飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2046|回复: 0

Byte快速转换为16进制字符

[复制链接]
  • TA的每日心情
    开心
    2019-9-19 16:05
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2007-2-8 16:24:24 | 显示全部楼层 |阅读模式
    在程序局部调用asm:
    function ByteToHex(Src: Byte): String;
    begin
      SetLength(Result, 2);
      asm
        MOV         EDI, [Result]
        MOV         EDI, [EDI]
        MOV         AL, Src
        MOV         AH, AL          // Save to AH
        SHR         AL, 4           // Output High 4 Bits
        ADD         AL, '0'
        CMP         AL, '9'
        JBE         @@OutCharLo
        ADD         AL, 'A'-'9'-1
    @@OutCharLo:
        AND         AH, $f
        ADD         AH, '0'
        CMP         AH, '9'
        JBE         @@OutChar
        ADD         AH, 'A'-'9'-1
    @@OutChar:
        STOSW
      end;
    end;
      该子程序可以实现把一字节的Src转换为16进制形式的字符串。刚好
    一位站友有这样的问题,够快了吧?  :)
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表