dosbox相关内容

如何在 windows tasm dosbox 中读取图像文件并在屏幕上显示

我目前正在使用 dosbox 在 tasm 中学习图形编程.我一直在使用一堆循环来绘制方形像素块,这真的很难.我想知道是否有办法读取图像并显示它.我知道如何阅读 txt 文件,也许这是一个开始.请帮忙 解决方案 您需要编写/使用图像加载器或使用您自己的图像文件格式.BMP 可能看起来很简单,但其中包含了太多像压缩像素格式等内容,但您仍然可以专注于特定类型的 BMP 而忽略所有其他类型... ..
发布时间:2021-12-18 09:24:37 其他开发

在批处理脚本中计算两个变量的总和

这是我第一次接触 Stack Overflow,所以请对这个问题从宽.我一直在试验批处理编程并使用 DOSbox 在我的 linux 机器上运行它们. 这是我一直在使用的代码: @echo off设置 a=3设置 b=4设置 c=%a%+%b%回声%c%设置 d=%c%+1回声 %d% 输出结果是: 3+43+4+1 如何添加两个变量而不是回显该字符串? 解决方案 您需要在 ..
发布时间:2021-12-13 18:06:27 其他开发

DOSBox 上的 8086 程序集:带有 idiv 指令的错误?

我正在帮助我的一个朋友调试他的程序,我们将其缩小到一个甚至在这里也发生的问题: .MODEL 小.堆栈 16.代码开始:mov ax, 044c0hmov bl, 85伊迪文 bl出口:mov ax, 4c00h21 小时结束开始 用 tasm 4.1 组装后,在 DOSBox 0.74 上运行,进入无限循环.当使用 turbo 调试器检查它时,可以看到它发生在 idiv 指令之后,该指令出于 ..
发布时间:2021-11-30 11:12:40 其他开发

将整数转换为字符串程序集 8086 tasm

我正在使用带有 tasm 汇编器的汇编 8086 16BIT.我正在尝试打印一个 int 变量,为此我需要将我的变量 contant 转换为字符串.我试图建立一个程序,但没有成功.它完全错误并且不起作用. 你能帮我构建这个/解释如何构建这个吗? 谢谢各位! 这是我现在的基本代码: stepCounter db 0推偏移 stepCounter ;将“参数"的OFFSET复制到堆 ..
发布时间:2021-09-29 19:42:04 其他开发

组装 8086 - DOSBOX - 如何产生蜂鸣声?

我正在组装一个“西蒙"游戏,我需要在按钮打开时发出哔哔声,哔哔声也应该彼此不同.谢谢 解决方案 您可以使用 speaker保持您的设计简单. 扬声器可让您播放不同频率的方波,它实际上可以用来再现数字音频 但这更复杂. 扬声器只是一个电磁体,当电流流过它时,它会被拉回,否则它会停留在默认位置. 通过来回移动扬声器,可以产生声波. 可以手动或使用PIT的频道2移动扬声器. 端 ..
发布时间:2021-09-29 19:31:10 其他开发

DosBox的int 15h是错误的ah = 86h

我目前正在处理汇编程序,但是我需要使程序不时地等待. 因此,我一直使用int 15h/ah = 86h,但是由于某种原因,DosBox给了我很大的麻烦,并且该程序要么与像素(较偏颜色)混淆,要么在更坏的情况下出现;崩溃. 有人可以帮我吗? 解决方案 我也遇到了这个问题.根据有关BIOS延迟功能的问题(INT 15h/AH = 86h),通过确保在调用中断之前将AL设置为零,我能 ..
发布时间:2021-05-02 20:25:52 其他开发

DosBox中的Vectors头文件

我正在使用DosBox 0.74,并且想使用向量功能,但是找不到它的头文件?它不是 或 .我在Visual Studio上尝试过,并且工作正常.它在DosBox中具有不同的名称或什么?请帮助我,因为我必须使用DOSBox提交我的作品. 解决方案 向量是在Turbo C ++之后的C ++中实现的.实际上,直到Turbo C ++之后,C ++(我们今 ..
发布时间:2021-04-19 20:06:20 C/C++开发

是什么导致该引导加载程序在硬件上失败,但在DOSBOX中失败?它显示所有寄存器

我最近编写了一个x86'bootloader'程序,该程序显示BIOS跳转到我的程序后硬件寄存器的值.为了进行测试,我将 AX 寄存器设置为已知值,以确保程序正确运行. BITS 16%宏垫1-2 0倍数%1-($-$$)分贝%2%endmacro[org 0x7C00]CLD;清除方向标志(前进方向)CLI;清除中断标志(禁用中断,与65xx相反)MOV [0x8000],AX;显示所有寄存 ..
发布时间:2021-04-16 18:32:34 其他开发

使用ah = 2Ch的int 21h延迟程序

我正在为一个装配8086的学校项目进行工作(使用DOSBox),并且试图将程序延迟0.5秒。 我试图创建一个循环,使用int 21h,函数2Ch和 DL 中的百分之一的值将当前时间与初始时间进行比较,但这似乎太慢了... mov ah,2Ch int 21h mov al,dl;百分之一 mov bx, 0 wait_loop: one_hun: int 21h ..
发布时间:2020-10-20 00:19:08 其他开发

计算批处理脚本中两个变量的总和

这是我第一次使用Stack Overflow,因此请宽恕这个问题.我一直在尝试对批处理进行编程,并使用DOSbox在我的linux机器上运行它们. 这是我一直在使用的代码: @echo off set a=3 set b=4 set c=%a%+%b% echo %c% set d=%c%+1 echo %d% 其输出是: 3+4 3+4+1 我该如何添加两个变量而不是回 ..
发布时间:2020-09-19 19:09:45 其他开发

使用Python自动化旧的DOS应用程序

是否有办法从Python(在Windows上)自动化旧的DOS应用程序(16位,可能需要仿真器,如DOSBox)?我想将键和字符串发送到应用程序,检测DOS“屏幕"的更新并获取应用程序输出. 如果DOS应用程序可以“隐藏"运行,即不在任务栏中显示,那就更好了. 注意:这不是游戏,它是一个古老的应用程序,其中的菜单中带有按1的菜单项,按2表示其他的菜单项等等,然后要求输入一些数字,然后输 ..
发布时间:2020-09-15 00:45:13 Python

使用dosbox时在MASM中创建库

我有一个问题,我被分配去用汇编语言(即MASM)制作一个静态库,但我在互联网上找到的所有教程都不完整或太难理解.我使用dosbox,因为我有64位窗口. 请逐步帮助 拜托了,谢谢你 解决方案 我建议仅使用DosBox来运行最终的可执行文件.您不需要DosBox来生成此可执行文件,因为Masm32在64位Windows下运行.但是Masm32随附的lib.exe不会产生适用于link16.e ..
发布时间:2020-09-13 01:31:09 其他开发

如何使计时器工作?启动后5秒致电int 4ah

我正在创建一个程序,该程序应在启动五秒钟后打印“来自处理程序的Hello".首先,我通过名为create_interrupt的proc创建了中断4ah. 此中断导致int_handler,它打印字符串"Hello from handler". 然后proc"alarm"获得当前时间,将其增加5秒钟,并通过int 1ah的func 06h设置警报. 此警报应在启动5秒后致电int 4ah,但它 ..
发布时间:2020-09-13 01:19:15 其他开发

如何在TASM中更改char中的位?

我必须编写一个程序,该程序从文件读取字符,更改每个字符中的位,并将更改写入TASM中的新文件. 我编写了一个程序,该程序从文件读取字符并将它们写入新文件,但是我不知道如何更改字符中的位. 例如,这是我的包含chars的文件: a // 01100001 b // 01100010 c // 01100011 d // 0110010 ..
发布时间:2020-09-13 01:05:57 其他开发

试图了解asm中断,特别是16h func 01H

这是家庭作业,我不希望您解决我的问题,只需要一些了解... 我必须在Dosbox中使用ASM和C.我的第一个问题是我不太了解如何使用bios中断(任何带有代码示例的优秀教程都将不胜感激),好吧,我到了那里,每个中断都有自己的功能和参数... 无论如何,我尝试过...我需要做的是,从理论上讲,很简单,我只需要从键盘上获取一个字符,如果它是1或0键,如果我有5次击键,就算一下键1,我打开扬 ..
发布时间:2020-09-13 00:47:14 其他开发

DosBox如何修复字符属性?

我编写汇编代码只是为了编写一个具有蓝色背景和白色前景的字符.它可以在emu8086的模拟器中使用,但是当我在DosBox上打开它时,它不会显示背景色. 使用Emu8086: 使用DosBox: mov ax,0012h int 10h mov ah,9 mov al,31h mov bl,1fh int 10h 解决方案 在图形视频模式下,BIOS功能09h的BL参数仅定义前景 ..
发布时间:2020-09-13 00:00:38 其他开发

对角线打印数字

我试图在汇编中对角显示0-9,但是输出将对角打印的数字放在窗口的中间. 这是代码: start: mov ah, 02h mov cl, 0Ah ;counter (10) mov dx, 02h ;mov bx, 02h mov dl, 30h ;start printing 0-9 mov dh, 02h ;start row mov al, 02h int 21h again ..
发布时间:2020-09-12 22:15:51 其他开发