码农知识堂 - 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

  • 相关阅读:
    数据处理的那些事「GitHub 热点速览」
    C++对string进行大小写转换的三种方法
    【carsim+simulink 联合仿真——车辆轨迹MPC跟踪】
    微软Azure OpenAI支持数据微调啦!可打造专属ChatGPT
    屏幕分辨率dpi解析(adb 调试查看)
    docker之传染病可视化系统
    【C语言学习者必会的题目集锦1】巩固基础,稳步提高
    【RuoYi-Vue-Plus】扩展笔记 06 - 数据源 Druid 修改为 HikariCP
    类复习【C#】
    Python 序列化与反序列化(pickle 标准库的使用)
  • 原文地址:https://blog.csdn.net/qq_39991776/article/details/133833255
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号