emu8086相关内容
与 num db 1 mov ax,1 和mov ax, num 执行mov ax,1时是ASCII还是整数? 我的意思是,数字不是从键盘插入的,它是预定义的,它可以要求将其转换为整数吗?是ASCII吗? 推荐答案 ASCII是一种编码类型,即您应该如何解释某些数值,如“33是感叹号”... 但CPU不知道ASCII,mov al,33只是将al寄存器设置为位模
..
我正在编写一个程序,将多个小写字母转换为其等效的大写字母。 例如,我想要的输出是: Input a letter: asddf The uppercase equivalent of letter asddf is ASDDF 但它只获取并打印最后一个字符,如下所示: Input a letter: asddf The uppercase equivalent
..
我正在尝试编写汇编代码8086我有两个大小为10的数组X和Y,我想输入一个数字并检查其正y是否为1,如果为负则为0 但我的代码只显示了我输入的数字,但我希望它像这个例子一样。 示例: X : 2 -5 -7 8 -4 9 11 -12 90 -50 Y : 1 0 0 1 1 0 1 1 0 1 0 我写道: .MODEL SMALL .DATA x db 10 dup
..
我正在使用emu8086。我有一个问题,这个问题让我在从六进制输入转换后,在七个分段显示器上显示我们看到的内容。我应该用十六进制输入我的数据,如果它与七段表的十六进制输入相匹配,它会显示十进制数,例如。3FH=0,06H=1。我使用数组来实现这个程序。以下是工作源程序: ORG 100H MOV AL,[1840H] ;input in this memory locatio
..
我在想如何用汇编语言打印用户输入的字符。(让我们假设我已经有了小写的值,并且我想用大写打印它。) lowercase DB "Input a letter: $" uppercase DB "The uppercase equivalent of letter is: $" 相反,如果它是用c++编
..
我是汇编新手,想知道如何在 EMU8086 中编写程序,在每次运行时打印不同的随机数.不使用中断可以做到吗? 解决方案 如果您使用的是真实版本的 DOS(不是 EMU8086)@fuz 方法是您可以做到的方式,它不需要中断.您只需在 BIOS 数据区(BDA).该位置的值是一个 32 位值,表示自午夜以来的计时器滴答数.不幸的是,EMU8086 不支持这种方法. 要在带有中断(系统调
..
我有一个名为 average 的变量,在我的 DATASEG 中,它每次都会改变,因为用户每次输入不同的输入.我想要做的是转到图形模式(VGA),然后在那里打印您的平均值是:然后平均值我知道如何更改为这样的图形模式: mov ax, 13h整数 10 小时 打印平均值后,如果平均值高于 75,我想打印在下面 你是个好学生,继续努力,如果不是.别担心,你会好起来的!提前致谢. 解决方案
..
你好,我试图显示实际时间小时/分钟/秒,这是我的代码示例: MOV AH, 2ChINT 21hMOV AH, 0EhMOV AL, CHINT 10hMOV AL, 3AhINT 10hMOV AL, CLINT 10hMOV AL, 3AhINT 10hMOV AL, DHINT 10h退 在这里你可以看到控制台显示的内容 解决方案 查看 x86 标签 wiki 用于指令集参考手册
..
org 100h.model 小.数据无功数据库?msg db 10,13,'$'.代码;在此处添加您的代码主程序mov ax,@datamov ds,axmov ah,1 ;输入第一个数字21 小时子 al,48mov var,almov ah,1 ;输入第二个数字21 小时子 al,48多变量;两个数相乘子 al,48 ;转到 ASCII 值mov dl,al移动啊,2;打印结果21 小时移
..
我需要一些资源来了解有关浮点数的更多信息,我需要在 emu8086 环境 .... 非常感谢任何帮助 解决方案 据我所知,emu8086不模拟带有 8087 FPU 的机器. 您所做的任何浮点运算都必须是纯软件,不能使用 fld/fadd/fstp 或任何通常的遗留物1 x87 说明. 如果你想在实模式下使用 FP 指令,你最好的选择是像 DOSBox 或 BOCHS 这
..
我正在尝试打印两个 16Bit 值的总和,因此我正在计算总和,然后构建包含它的字符串,但问题是在我打印所述字符串后任何写入中断 mov ah,09 int 21h 完全被忽略了,我使用的是 emu8086,这是代码 org 100hmov ax,2000mov bx,3200添加 ax,bxmov si,offset 结果+5mov [si],'$'mov bx,10填:十二月移动 dx,0di
..
我一直在尝试使用汇编语言来解决这个问题.问题是我不能存储 10 个!在 al 中,我的代码用于查找 5 的阶乘.如何存储 10 的结果!在寄存器中?当我找到 5 的阶乘时,我可以在 al 中清楚地看到结果,因为 120 可以存储在 al 中. 任何帮助将不胜感激. 这是我的 5 代码! org 100h.数据ANS 数据库 ?.代码主程序移动轴,@DATAMOV DS,AXMOV
..
当我尝试声明一个名为“name"的变量时,它不起作用,它给了我一个错误,这个有错误.有以下解释 (22) 错误的参数:MOV BL, name(22) 十六进制可能没有零前缀;或没有“h"后缀;或地址错误;或未定义的 var: name 这是我的代码 ;多段可执行文件模板.数据段;在此处添加您的数据!pkey db "按任意键...$"名称数据库“我的名字"结束堆栈段dw 128 重复 (0
..
标题说明问题.但基本上每次我用MOV指令用一个变量来注册寄存器显示CD.但是当我使用实际数字时,寄存器会显示数字? mov ax, @data 是否意味着将数据段内存地址移动到 ax 寄存器并且它是否必须专门为 ax 寄存器.或者,如果我想使用 bx 寄存器中的变量,我可以做一些类似 move mov bx, @data 的事情.请回答 为什么我必须做 mov ds, ax ds 做什
..
写下面几行是什么意思? OR AX,AXJGE标签 据我所知,OR 不是比较运算符.而且,像“JGE/JE/JL"这样的分支语句只能在我在 CMP 的任何比较过程之后使用它们时才能使用. 解决方案 根据一个值设置 FLAGS 是 cmp ax, 0 的替代方案, 但也做同样事情的首选方法是test ax,ax. or 指令是按位运算,不是比较,所以你首先是对的. 但是关于
..
我试图使用 emu8086 工具将(无符号)8A32F4D5 除以 C9A5.我预计商为 AF73H,余数为 94B6H.编写以下代码后,我得到了正确的商数,但余数变为 0000h.我错过了什么吗? .MODEL 小.堆栈 100 小时.数据.代码主程序;初始化DS移动轴,@DATAMOV DS,AX;在此处输入您的代码MOV DX, 8A32HMOV AX, 0F4D5HMOV BX, 0C9
..
我正在使用程序集 8086emu,我需要一个数字生成器来生成 8 个数字. 我尝试使用@johnfound 的这段代码: RANDGEN: ;使用系统时间生成一个rand no兰德开始:MOV AH, 00h ;中断获取系统时间INT 1AH ;CX:DX 现在保存自午夜以来的时钟滴答数mov ax, dx异或 dx, dxmov cx, 10div cx ;这里 dx 包含除法的余数 - 从
..
我正在尝试完成我的微处理器课程的最后一个实验室练习,并且真的可以在这方面得到一些帮助.工作是用我自己的代码填充注释的空行.任务如下: **Task 2. 测试字符串是否为回文**修改前面的程序,使其检查字符串是否为回文.补充以下程序.添加缺少的说明.包括“emu8086.inc";程序开始组织 100 小时jmp开始;内存变量:msg3 db 0ah,0dh,"字符串是回文.",0msg2 db
..
看图片,在第34行,我必须编写 word ptr 才能起作用,而在第44行,我没有写. 这是为什么? 编译器不知道0020h是一个单词,就像0FF20h是一个单词一样吗? 将0添加到0020h使其变为00020h或类似的方法也不起作用. 我在80x86上使用MASM.emu8086,也在dosbox v0.74上尝试过 解决方案 差异是因为您的汇编器奇怪而危险地接受 0FF
..
我是一个初学者,所以这段代码可能没有什么用,我为此使用了 int 16h ,但对此 int 知之甚少.我刚刚发现您一次不能进行多次击键.有帮助吗? 这段代码的问题在于,一次只能移动一块板,而我俩都需要.如何检查多个输入? 以下是任何人想要的代码: IDEAL小型号堆栈100hDATASEG;--------------------------;您的变量在这里;-----------
..