news 2026/4/24 13:34:21

8088裸机更简版单步运行程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8088裸机更简版单步运行程序

如果连 BIOS 调用都不想用,可以在单步中断中直接修改内存来记录触发次数:

; 极简版:单步中断只递增一个内存计数器 ORG 0x7C00 BITS 16 start: CLI MOV AX, 0x0000 MOV DS, AX MOV SS, AX MOV SP, 0x7C00 ; 设置中断向量 MOV WORD [0x0004], step_handler MOV WORD [0x0006], 0x0000 ; 清零计数器 MOV WORD [counter], 0 ; 开启单步模式 PUSHF POP AX OR AX, 0x0100 PUSH AX POPF ; 执行几条指令(每条都会触发中断,递增 counter) MOV AX, 0xAAAA MOV BX, 0xBBBB ADD AX, BX XOR AX, BX ; 关闭单步模式 PUSHF POP AX AND AX, 0xFEFF PUSH AX POPF HLT step_handler: INC WORD [counter] ; 记录触发次数 IRET counter DW 0 times 510 - ($ - $$) DB 0 DW 0xAA55

编译与运行(以 Bochs 为例)

# 1. 保存代码为 single_step.asm # 2. 使用 NASM 编译 nasm -f bin single_step.asm -o single_step.bin # 3. 创建软盘镜像(可选) dd if=/dev/zero of=floppy.img bs=512 count=2880 dd if=single_step.bin of=floppy.img conv=notrunc # 4. 在 Bochs 中运行(或 QEMU) qemu-system-x86_64 -fda floppy.img
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 13:34:18

别再手动算权重了!用MATLAB实现熵权TOPSIS,5分钟搞定多指标决策

别再手动算权重了!用MATLAB实现熵权TOPSIS,5分钟搞定多指标决策 面对十几个供应商的报价单、几十个项目的绩效指标、上百份科研样本的检测数据——每次遇到多指标决策问题,你是不是还在用Excel手动计算权重?熵权法TOPSIS这对黄金组…

作者头像 李华
网站建设 2026/4/24 13:33:21

手把手教你用LeanCloud+Bmob双备份,为你的小程序数据上个‘双保险’

微信小程序数据双活架构:LeanCloudBmob混合云方案实战 在移动应用开发领域,数据可靠性一直是开发者最关注的痛点之一。特别是对于资源有限的中小型团队或个人开发者,如何在免费额度内构建高可用的数据存储方案,成为提升产品竞争力…

作者头像 李华
网站建设 2026/4/24 13:31:28

PPTist:如何在浏览器中免费制作专业级演示文稿?

PPTist:如何在浏览器中免费制作专业级演示文稿? 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowi…

作者头像 李华