dosbox相关内容
我目前正在使用 dosbox 在 tasm 中学习图形编程.我一直在使用一堆循环来绘制方形像素块,这真的很难.我想知道是否有办法读取图像并显示它.我知道如何阅读 txt 文件,也许这是一个开始.请帮忙 解决方案 您需要编写/使用图像加载器或使用您自己的图像文件格式.BMP 可能看起来很简单,但其中包含了太多像压缩像素格式等内容,但您仍然可以专注于特定类型的 BMP 而忽略所有其他类型...
..
这是我第一次接触 Stack Overflow,所以请对这个问题从宽.我一直在试验批处理编程并使用 DOSbox 在我的 linux 机器上运行它们. 这是我一直在使用的代码: @echo off设置 a=3设置 b=4设置 c=%a%+%b%回声%c%设置 d=%c%+1回声 %d% 输出结果是: 3+43+4+1 如何添加两个变量而不是回显该字符串? 解决方案 您需要在
..
我正在帮助我的一个朋友调试他的程序,我们将其缩小到一个甚至在这里也发生的问题: .MODEL 小.堆栈 16.代码开始:mov ax, 044c0hmov bl, 85伊迪文 bl出口:mov ax, 4c00h21 小时结束开始 用 tasm 4.1 组装后,在 DOSBox 0.74 上运行,进入无限循环.当使用 turbo 调试器检查它时,可以看到它发生在 idiv 指令之后,该指令出于
..
我正在使用带有 tasm 汇编器的汇编 8086 16BIT.我正在尝试打印一个 int 变量,为此我需要将我的变量 contant 转换为字符串.我试图建立一个程序,但没有成功.它完全错误并且不起作用. 你能帮我构建这个/解释如何构建这个吗? 谢谢各位! 这是我现在的基本代码: stepCounter db 0推偏移 stepCounter ;将“参数"的OFFSET复制到堆
..
我正在组装一个“西蒙"游戏,我需要在按钮打开时发出哔哔声,哔哔声也应该彼此不同.谢谢 解决方案 您可以使用 speaker保持您的设计简单. 扬声器可让您播放不同频率的方波,它实际上可以用来再现数字音频 但这更复杂. 扬声器只是一个电磁体,当电流流过它时,它会被拉回,否则它会停留在默认位置. 通过来回移动扬声器,可以产生声波. 可以手动或使用PIT的频道2移动扬声器. 端
..
我目前正在处理汇编程序,但是我需要使程序不时地等待. 因此,我一直使用int 15h/ah = 86h,但是由于某种原因,DosBox给了我很大的麻烦,并且该程序要么与像素(较偏颜色)混淆,要么在更坏的情况下出现;崩溃. 有人可以帮我吗? 解决方案 我也遇到了这个问题.根据有关BIOS延迟功能的问题(INT 15h/AH = 86h),通过确保在调用中断之前将AL设置为零,我能
..
我正在使用DosBox 0.74,并且想使用向量功能,但是找不到它的头文件?它不是 或 .我在Visual Studio上尝试过,并且工作正常.它在DosBox中具有不同的名称或什么?请帮助我,因为我必须使用DOSBox提交我的作品. 解决方案 向量是在Turbo C ++之后的C ++中实现的.实际上,直到Turbo C ++之后,C ++(我们今
..
我最近编写了一个x86'bootloader'程序,该程序显示BIOS跳转到我的程序后硬件寄存器的值.为了进行测试,我将 AX 寄存器设置为已知值,以确保程序正确运行. BITS 16%宏垫1-2 0倍数%1-($-$$)分贝%2%endmacro[org 0x7C00]CLD;清除方向标志(前进方向)CLI;清除中断标志(禁用中断,与65xx相反)MOV [0x8000],AX;显示所有寄存
..
我正在为一个装配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
..
我试图编写一个引导加载程序以在dos-box中使用 我写了下面的代码 [BITS 16] ;tell the assembler that its a 16 bit code [ORG 0x7C00] ;Origin, tell the assembler that where the code will ;be in memory after it is been loaded
..
这是我第一次使用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 我该如何添加两个变量而不是回
..
是否有办法从Python(在Windows上)自动化旧的DOS应用程序(16位,可能需要仿真器,如DOSBox)?我想将键和字符串发送到应用程序,检测DOS“屏幕"的更新并获取应用程序输出. 如果DOS应用程序可以“隐藏"运行,即不在任务栏中显示,那就更好了. 注意:这不是游戏,它是一个古老的应用程序,其中的菜单中带有按1的菜单项,按2表示其他的菜单项等等,然后要求输入一些数字,然后输
..
我写的简单 .MODEL small .STACK 100h .DATA liczba dw 0h licznik dw 0 potega dw 1 liczbaString dw ? buff db 26 .CODE Program: mov ax, @DATA mov ds, ax call PobierzSt
..
我有一个问题,我被分配去用汇编语言(即MASM)制作一个静态库,但我在互联网上找到的所有教程都不完整或太难理解.我使用dosbox,因为我有64位窗口. 请逐步帮助 拜托了,谢谢你 解决方案 我建议仅使用DosBox来运行最终的可执行文件.您不需要DosBox来生成此可执行文件,因为Masm32在64位Windows下运行.但是Masm32随附的lib.exe不会产生适用于link16.e
..
我正在创建一个程序,该程序应在启动五秒钟后打印“来自处理程序的Hello".首先,我通过名为create_interrupt的proc创建了中断4ah. 此中断导致int_handler,它打印字符串"Hello from handler". 然后proc"alarm"获得当前时间,将其增加5秒钟,并通过int 1ah的func 06h设置警报. 此警报应在启动5秒后致电int 4ah,但它
..
我必须编写一个程序,该程序从文件读取字符,更改每个字符中的位,并将更改写入TASM中的新文件. 我编写了一个程序,该程序从文件读取字符并将它们写入新文件,但是我不知道如何更改字符中的位. 例如,这是我的包含chars的文件: a // 01100001 b // 01100010 c // 01100011 d // 0110010
..
这是家庭作业,我不希望您解决我的问题,只需要一些了解... 我必须在Dosbox中使用ASM和C.我的第一个问题是我不太了解如何使用bios中断(任何带有代码示例的优秀教程都将不胜感激),好吧,我到了那里,每个中断都有自己的功能和参数... 无论如何,我尝试过...我需要做的是,从理论上讲,很简单,我只需要从键盘上获取一个字符,如果它是1或0键,如果我有5次击键,就算一下键1,我打开扬
..
我编写汇编代码只是为了编写一个具有蓝色背景和白色前景的字符.它可以在emu8086的模拟器中使用,但是当我在DosBox上打开它时,它不会显示背景色. 使用Emu8086: 使用DosBox: mov ax,0012h int 10h mov ah,9 mov al,31h mov bl,1fh int 10h 解决方案 在图形视频模式下,BIOS功能09h的BL参数仅定义前景
..
我正在使用tasm.这是一个简单的程序,可以读取用户的输入并将两个数字加起来.但是,我的输出是根据字母位置显示字母 例如3 + 5 = h(8) 我希望它以整数显示. .model small .stack 100h .data input db 13,10,"Enter a number : ","$" output db 13,10,"The sum is ","$"
..
我试图在汇编中对角显示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
..