小马超会养兔子 2023-02-27 21:16 采纳率: 72.7%
浏览 59
已结题

DOSbox如何测量程序运行花费的时间?

问题背景

最近在学习王爽的《汇编语言》,然后看b站相关视频教程,安装了DOSBox来进行学习,编译运行都没有问题,但是最近有要求测试汇编程序的运行时间,我网上找了很久都没有找到方法,希望大家不吝赐教。

环境

操作系统为Win77,软件版本为DOSBox0.74

尝试解决方法

一开始我同朋友说可以在PowerShell中用类似Measure-Command{D:\Download_Desktop\编译原理与设计\Lab1\快速排序.exe}来实现,我试了一下然后就出现如下报错

img

希望达到的效果

希望各位能告知如何测试8086写的汇编程序的运行时间

  • 写回答

2条回答 默认 最新

  • 「已注销」 2023-02-27 21:35
    关注

    参考GPT和自己的思路,在 DOSBox 中测试汇编程序的运行时间可以使用 DOSBox 自带的内置工具 debug.exe 来完成,debug.exe 是 DOSBox 中的一个调试器,除了调试程序外,它还可以用来测试程序的执行时间。下面是使用 debug.exe 测试程序执行时间的步骤:

    打开 DOSBox,进入 DOSBox 的命令行界面。

    在 DOSBox 中,输入 debug 命令来启动 debug.exe 调试器。

    在 debug.exe 中,输入以下命令来加载你的汇编程序:

    a 100
    ; 这里的 100 是程序的起始地址,可以根据你的程序来调整
    

    然后输入你的汇编程序代码,例如:

    mov ax, 1
    add ax, 2
    

    按 Enter 键后,输入 ret 命令来返回到 DOSBox 的命令行界面。

    在 DOSBox 的命令行界面中,输入以下命令来开始记录时间:

    debug <你的汇编程序名>
    

    例如,如果你的汇编程序名为 myprog.com,则输入:

    debug myprog.com
    

    当程序运行完毕后,会返回到 DOSBox 的命令行界面,此时再次输入以下命令来结束时间记录并输出执行时间:

    t
    

    执行时间将以毫秒为单位显示在屏幕上。

    下面是一个示例程序和测试步骤:

    示例程序 test.asm:

    org 100h
    start:
    mov ax, 1
    add ax, 2
    mov bx, 3
    add bx, 4
    mov cx, 5
    add cx, 6
    mov dx, 7
    add dx, 8
    mov ah, 4ch
    int 21h
    

    测试步骤:

    将 test.asm 文件保存到 DOSBox 中的某个目录中,例如 C:\asm。

    在 DOSBox 的命令行界面中,进入 C:\asm 目录。

    输入 debug 命令,启动 debug.exe。

    在 debug.exe 中,输入以下命令来加载 test.asm:

    a 100
    mov ax, 1
    add ax, 2
    mov bx, 3
    add bx, 4
    mov cx, 5
    add cx, 6
    mov dx, 7
    add dx, 8
    mov ah, 4ch
    int 21h
    ret
    

    按 Enter 键,返回到 DOSBox 的命令行界面。

    在 DOSBox 的命令行界面中,输入以下命令来开始记录时间:

    debug test.com
    

    当程序运行完毕后,会返回到 DOSBox 的命令行界面,此时再次输入以下命令来结束

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月27日

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄