0 前言
本文介绍了如何在网页Emulator中设置单步调试Zeal8bit OS的详细操作步骤,结合Zeal8bit OS源码可以更加高效、直观地理解OS的执行流程。
这几天开始阅读Zeal8bit OS(以下简称ZOS)源码,发现Z80汇编阅读起来还是比较困难的,毕竟自己仅有8086/8088汇编的基础,还是很多年前在大学课堂学的,这么多年不用早忘得差不多了。
现在去网上搜索Z80汇编能找到的资料也非常有限,毕竟是80年代的CPU了,这极大地加大了我阅读源码的难度。不过还好有ChatGPT可以帮忙分析整段晦涩难懂的代码,勉强支撑着我能将源码阅读下去。
(资料图片)
但是即使有现代科技加持,面对流程稍微复杂点的代码,总会出现看了这段忘了前面的尴尬局面。比如,阅读到driver_init代码时,HL寄存器一直被高频使用,其寄存器的值也一直在不断更新,往往阅读到子程序后开始使用HL寄存器,结果忘了HL寄存器保存的内存地址值指向哪里,结果还要往前翻找到子程序调用的地方再次查看,这极大地影响了源码阅读理解效率(driver_init过程啃了一个礼拜都没有吃透,效率实在太低下了)。
翻看Emulator的介绍(网址:/Zeal8bit/Zeal-WebEmulator/),发现这个Web Emulator有单步调试的功能:
这让我眼前一亮,如果能把单步调试搞起来,那就能实时追踪各个寄存器和内存的值,理解源码的效率直接起飞,岂不美哉?终于,在一番折腾之后(毕竟Zeal8bit大神没有详细给出Emulator使用步骤,各种功能使用全靠自己摸索),终于搞定了Emulator单步调试ZOS的过程,在此把详细设置步骤分享出来~
1 环境及所需工具
Linux/Mac OSx
z88dk-dis工具
2 操作步骤
Step 1. OS bin文件和z88dk-dis工具准备
z88dk-dis是一款能将z80的机器码反解析成汇编代码的工具(详细介绍:/z88dk/z88dk/wiki/Tool-z88dk-dis)。在我们安装z80dk-asm工具链的时候,其实已经将z88dk-dis工具安装上了。z88dk-dis工具安装和OS bin build详细过程见:
Zeal8bit操作系统Build & Run In Emulator (基于Ubuntu)
Zeal8bit操作系统Build & Run In Emulator (基于macOS)
以下步骤以MAC OSx系统中的操作为例。
Step 2. Disassemble Code Dump
在Zeal-8-bit-OS目录下执行命令:
z88dk-dis -o 0 -x build/ build/os_with_ >
这条命令的含义是:参照build/中的各个symbol映射表,将ZOS bin文件build/os_with_中的机器码从地址0处开始反汇编,并保存到文件文件中。这样,Web Emulator就可以获得bin文件对应的反汇编文件,启用单步调试功能了。
Step 4. 文件载入及断点设置
将os_with_和读入到Web Emulator中,并点击Read file(s)按钮,直至下方的OS binary和Symbols两个Items前面打上绿色的勾。
然后在Emulator右上方Breakpoints输入框中输入断点,断点可以是具体的指令的内存地址也可以是反汇编文件中的label。比如我输入反汇编文件中的label 'zos_drivers_init'然后按下Enter键,Emulator自动给我转换成了指令内存地址,并设置断点。
Step 5. Run & Step Debug
点击‘Continue(F9)’按钮,我们就可以发现,Emulator运行就停在了内存地址‘0x0382’的‘zos_drivers_init’位置了,然后点击‘Step(F10)’就可以执行单步调试啦~
3 后记
随着单步调试设置成功,距离移植ZOS到RV的目标的速度也在加快,争取早日发布第一版demo,算是对整个移植过程有个阶段性的成果验收,加油~
关键词:
(责任编辑:黄俊飞)推荐内容
- Zeal8bit OS在Emulator中的单步调试
- 香雪制药:生产经营活动一切正常 已制定
- 甘泉县高英凤在全国首届农民技能大赛上获
- 多家公募调降旗下主动权益类基金管理、托
- 免费查八字华盖 八字华盖入命的概述
- 全国机动车驾驶人数量达5.13亿人,上半年
- 百姓看联播|给水库“听诊”
- 马刺新科状元蒙羞:文班亚马惨遭隔扣一脸
- 证监会:全面优化公募基金费率模式 稳步
- 高质量推进拔尖创新人才自主培养
- 广东台商助力粤东西北“融湾发展”活动举
- 重资产投资,案例成熟!康养民宿投资项目
- 官方:米兰小将布雷西亚尼尼永久转会加盟
- 奥特能时代已来,上汽通用汽车6月新能源
- 均瑶健康:更多增量来自益生菌
- 伏安法实验原理
- 申港控股(08631):购买企业资源规划系统
- Sensor Tower:39家中国厂商入围6月全球
- 湖北襄城警方开展应急演练,筑牢安全防线
- 第27周(7月1日至7月7日)111家油厂大豆
- 七彩化学陷诉讼纠纷背后,DPP类颜料商业
- 呼和浩特市玉泉区:战高温保进度 重点项
- 苹果折叠屏幕笔记本电脑最快将于 2026
- 天微电子(688511)7月7日主力资金净买入
- 兰州黄河:已与东方甄选进行合作 在抖音
- 中央气象台继续发布暴雨蓝色预警和强对流
- 贴墙砖的施工步骤是什么
- 国际黄金或还有下跌空间
- 节能股龙头一览,节能股票前十榜单(7/7)
- 盐城市首家为企服务中心在建湖揭牌
- 为她点赞!从北京奥运会到杭州亚运会,时
- 北京市应急局:建议高温时段停止户外露天
- 直播开课受欢迎
- 一克商评|AI大模型落地产品迭出 协同办
- 2023广东深圳市坪山区群团工作部选聘职员
- 英国一汽车撞入小学造成1人死亡多人受伤
- 金价飙升,创历史新高!这里的民众,还疯
- “关键时刻,排长用生命保护我”
- 中国工信部调整新能源车型积分计算方法
- 同福奇缘武林高手攻略(同福奇缘攻略)
- 重庆万州洪涝地质灾害已造成17人死亡、2
- 金浩霸金:7.6黄金1725空单1915收割,黄
- 各地采取积极举措帮助高校毕业生就业
- 长青集团:上半年净利预增1427.92%-1755.33%
- 2023世界人工智能大会芯片主题论坛发布“
- 卢卡申科:普里戈任目前正在俄罗斯
- 2023春考护理类大专院校就业 2023山东春
- 破发股华康医疗创新低 正拟发可转债2022
- 河西区紫金南里与环湖中学间空地规划为菜
- 微资讯!山海旅人算盘
- 世界通讯!2023新郑一年级新生什么时候报名
- “真金白银”护航 中国外贸企业闯关求变
- 播报:媒体关注第十五届海峡论坛·两岸棒
- 士别三日当刮目相看说的是哪位人物的故事
- 天气早知道丨再启高温冲刺!还会下雨……
- 枣强王均乡:打造京津冀“菜篮子”“果盘
- 河北邯郸复兴区在全省率先实现省级美丽乡
- 环球播报:长风爱心暑托班开班啦!带你直
- 北京工业大学和北京科技大学哪个好一点(
- 美媒:将可卡因带入白宫的嫌疑人或永远不
- 七彩化学陷诉讼纠纷背后,DPP类颜料商业
- 呼和浩特市玉泉区:战高温保进度 重点项
- 苹果折叠屏幕笔记本电脑最快将于 2026
- 天微电子(688511)7月7日主力资金净买入
- 兰州黄河:已与东方甄选进行合作 在抖音
- 中央气象台继续发布暴雨蓝色预警和强对流
- 贴墙砖的施工步骤是什么
- 国际黄金或还有下跌空间
- 节能股龙头一览,节能股票前十榜单(7/7)
- 盐城市首家为企服务中心在建湖揭牌
- 为她点赞!从北京奥运会到杭州亚运会,时
- 北京市应急局:建议高温时段停止户外露天
- 直播开课受欢迎
- 一克商评|AI大模型落地产品迭出 协同办
- 2023广东深圳市坪山区群团工作部选聘职员
- 英国一汽车撞入小学造成1人死亡多人受伤
- 金价飙升,创历史新高!这里的民众,还疯
- “关键时刻,排长用生命保护我”
- 中国工信部调整新能源车型积分计算方法
- 同福奇缘武林高手攻略(同福奇缘攻略)
- 重庆万州洪涝地质灾害已造成17人死亡、2
- 金浩霸金:7.6黄金1725空单1915收割,黄
- 各地采取积极举措帮助高校毕业生就业
- 长青集团:上半年净利预增1427.92%-1755.33%
- 2023世界人工智能大会芯片主题论坛发布“
- 卢卡申科:普里戈任目前正在俄罗斯
- 2023春考护理类大专院校就业 2023山东春
- 破发股华康医疗创新低 正拟发可转债2022
- 河西区紫金南里与环湖中学间空地规划为菜
- 微资讯!山海旅人算盘
- 世界通讯!2023新郑一年级新生什么时候报名
- “真金白银”护航 中国外贸企业闯关求变
- 播报:媒体关注第十五届海峡论坛·两岸棒
- 士别三日当刮目相看说的是哪位人物的故事
- 天气早知道丨再启高温冲刺!还会下雨……
- 枣强王均乡:打造京津冀“菜篮子”“果盘
- 河北邯郸复兴区在全省率先实现省级美丽乡
- 环球播报:长风爱心暑托班开班啦!带你直
- 北京工业大学和北京科技大学哪个好一点(
- 美媒:将可卡因带入白宫的嫌疑人或永远不
- 第二届“庄河歇马杏文化节”开幕
- 100%自主可控!北斗成体系突破百余项关键
- 天天速读:7月5号,中国银行存款利息新调
- 玻璃窗如何拆玻璃(拆玻璃窗有什么好办法
- 什么是贸易逆差,贸易逆差指的是什么?
- 罗马诺:姆巴佩只能续约或今夏就离队 巴
- 段祺瑞执政府旧址(关于段祺瑞执政府旧址
- 当前关注:央视新剧《追光的日子》,收视
- 国羽最强阵容出战杭州亚运会,陈雨菲黄东
- 天天最新:告别考试多年,他们为什么在抖
- 中国铝罐(06898)7月5日斥资40.53万港元回
- 微软宣布 Xbox Series总销量2100万台
- 天天快资讯丨Terraria 1.4.5更新揭示了
- 红色小镇旅游旺
- 环球看点!iQOO 11S:3799元起售,亚运
- 魔法洞穴2药水怎么做 微头条
- 实时焦点:麦迪科技(603990.SH):一季度
- 当前看点!诺泰生物:7月4日融资买入2068.
- 天天热消息:游赏大好河山、品味多彩文化
- 天天百事通!本科毕业考核竟然是打导弹!