码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 汇编经典程序——将一个字节数据以十六进制形式显示


    法一:

    由于0-9的ASCII码=实际值+30h,A-Z的ASCII码=实际值+37h,故直接加对应的数即可

    1. ;该程序将一个字节数据以十六进制形式显示(直接加对应数值)
    2. .model small
    3. .stack
    4. .data
    5. hex db 4bh
    6. .code
    7. .startup
    8. ;显示高位
    9. mov al,hex
    10. mov cl,4
    11. shr al,cl
    12. mov dl,al
    13. call disp
    14. ;显示低位
    15. mov dl,hex
    16. and dl,0fh ;将高位置0
    17. call disp
    18. .exit 0
    19. ;显示字符的子程序
    20. disp PROC
    21. cmp dl,9
    22. jbe next ;如果小于等于9,就直接加30h,如果是字母,就需要另外加7
    23. zimu:
    24. add dl,7h
    25. next:
    26. add dl,30h
    27. ;显示
    28. mov ah,02h
    29. int 21h
    30. ret
    31. disp ENDP
    32. end

    法二:

    用查表的方式来实现

    1. ;该程序将一个字节数据以十六进制形式显示(以查表方法)
    2. .model small
    3. .stack
    4. .data
    5. hex db 4bh
    6. ascii db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
    7. db 41h,42h,43h,44h,45h,46h
    8. .code
    9. .startup
    10. mov bx,offset ascii ;取得表的偏移地址,为换码做准备
    11. ;显示高位
    12. mov al,hex
    13. mov cl,4
    14. sar al,cl
    15. xlat ;al<--ds:[bx+al]
    16. mov dl,al
    17. mov ah,02h
    18. int 21h
    19. ;显示低位
    20. mov al,hex
    21. and al,0fh ;高位为0
    22. xlat
    23. mov dl,al
    24. mov ah,02h
    25. int 21h
    26. .exit 0
    27. end

    参考资料:钱晓解《汇编语言程序设计》第4章例4.1

  • 相关阅读:
    全面解析内存泄漏检测与修复技术
    Android navigation Fragment 共享元素动画
    Redis的瓶颈在哪里?
    PyOpenGL轮子文件whl格式所有版本下载
    Mybatis-Plus开发提速器mybatis-plus-generator-ui
    Nginx入门-安装/反向代理/负载均衡/防盗链/URLRewrite/动静分离/高可用
    背包问题
    vue2中,使用sortablejs组件和vuedraggable实现拖拽排序功能
    【Java面试】@Resource 和 @Autowired 的区别
    RTT学习笔记9-IO设备模型
  • 原文地址:https://blog.csdn.net/qq_39991776/article/details/133833255
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号