8086相关内容

寻找16位x86编译器

我正在编写一个嵌入式系统项目,遇到编译器被编程嵌入到Paradigm C ++ IDE中的问题。我希望能够自动化构建。 处理器是AMD186ES。我不是与操作系统 - 只是baremetal的东西。 我需要从C ++生成实模式16位8086机器代码。 我的Google搜寻表示G ++可以建立这类程式码。 我的问题是: 可以将g ++配置为构建此机器代码吗? 是否还有 ..
发布时间:2016-10-13 09:47:33 C/C++开发

有没有针对8086 C编译器?

我有一个8086的CPU仿真器。它模拟只有8086指令。我现在正在寻找一个C编译器瞄准这一仿真器。是否有任何C语言编译器,有可以做到这一点? 另外,有一个可用的libc和这样的对我来说并不重要。仿真器使用自定义的(即非PC)的硬件和任何为此libc的,甚至CTR0很可能必须重写反正 解决方案 BCC - 布鲁斯的C编译器 ..
发布时间:2016-08-18 13:19:08 C/C++

汇编语言8086

我已经按照大会8086个问题,我不知道如何使用二维数组。当我为使用这样 MOV AR [CX] [DX] 我得到一个错误,当我想我们​​ SI 和 DI 在数组也返回一个错误。 解决方案 我是在它的汇编语言提供数组查找语义的CPU中pssed很IM $ P $。或者说,我会生气,如果这意味着更重要的东西已经牺牲了。 做数组查找在大会一般性方法是做计算自己打开这两个指标的二维数组到一个单 ..
发布时间:2016-07-18 21:54:36 .NET Framework

试图执行组装阶乘但未造成堆栈溢出

好了,我想从我的大学书考出一个阶乘程序,当我输入正确它如图所示,它给了我一个堆栈溢出错误。 它发生在该行推EBP 。谁能告诉我什么是错? code 主要PROC MOV EBP,0 3推 调用析因 调用WriteDec 调用CRLF 出口 主要ENDP阶乘PROC 推EBP MOV EBP,ESP CMP EAX,0 ..
发布时间:2016-07-18 21:51:53 .NET Framework

大会:如何转换输入十六进制到十进制?

在这个问题上 我发现有很多问题,但是,我一直没能得到我的code运行。我的程序应该采取一个十六进制值,检查,看它是否是一个有效的十六进制字符,然后显示十六进制值作为一个十进制值。如果它是一个小写十六进制字符,则需要被转换为大写。所有这需要在一个循环 我有这一切,除了转换十六进制到十进制完成。我在节目中,我认为应该把它转换了code,但它不会编译。我将列出以下code编译器错误。如果在标签转换c ..
发布时间:2016-07-18 21:49:53 .NET Framework

英特尔8086大会转换小写字母大写。如果已经处于大写DO_NOTHING并继续保存

我创造了这个计划(英特尔8086大会),以读取字符,并将其储存和打印;它们转换为大写后按相反的顺序它们。我知道你可以转换为大写;使用情况(分AL,20H),但我怎么把条件(IF)环 组织100H MOV BX,0800H MOV DS,BX;设置段寄存器 MOV BX,0000H;设置失调寄存器 MOV CX,0;设置计数器为0; MOV CH,0读写:;顶读/写循环的 MOV AH,01H;准 ..
发布时间:2016-07-18 21:47:42 .NET Framework

如何字符串转换为数字在8086汇编?

我在8086汇编建基地转换器。 用户必须选择他基于然后把一个号码, 在此之后,程序会显示他他的3个碱基数目[他带来一个十进制数,并在此之后,他将看到他在十六进制,华侨城,和bin数量。 这第一个问题是,我怎么能转换他给我的号码,从字符串到多少? 美国证券交易委员会的问题是,我如何转换?由RCR,然后ADC一些变量? 下面是我的code: 数据段 N = 8 ERROR_S ..
发布时间:2016-07-18 21:46:05 .NET Framework

8086汇编转换输入字符串到整数

我试图让我的code在EMU8086正确地进行计算,但是,我不知道如何将字符串转换成assemly一个整数。 MESSAGE1分贝0DH,0AH,“输入宽度:$” 消息2分贝0DH,0AH,“外围输入:$” 宽度DW'',20 DUP('?') 高度DW'',20 DUP(“?”) W¯¯DW 0 ^ h DW 0 计算: MOV DX,偏移MESS ..
发布时间:2016-07-18 21:44:36 .NET Framework

无法在8086反转字符串MASM

我已经写了一些8086汇编code扭转的字符串。我是比较新的组装所以请多多包涵。 的逻辑是,我定义了一个名为“STR1”字符串。我搬进的 SI 的注册此。假设字符串'STR1'是的“你好$”的,然后我'STR1'+ 5的地址载入的 SI 的。现在,我加载一个地址,说成5000的 DI 的。而从我的 SI 的加载每个字符放入的 DI 的,每次我SI递增和递减至SI 5次。 下面是code 假设 ..
发布时间:2016-07-18 21:44:23 .NET Framework

错误而在8086倒车串

我有这样的code逆转使用8086 ALP的字符串。但随着预期和进入一个无限循环或打印一些随机的性格特征的code不起作用。 .MODEL小 .STACK 100H 。数据 DB的String1“汇编语言程序设计$” 长DW $ -String1-1。code 主要PROC MOV AX,@data MOV DS,AXMOV SI,偏移的String1 MOV CX,长度 ADD SI,CX返 ..
发布时间:2016-07-18 21:44:20 .NET Framework

如何打印与中断彩色文本?

这是我的code将其以白色为主色调这是默认的打印。我知道如何在彩色打印照片,无需中断,但我并不想这样做。我想打印在使用我interrupts.How可以做任何其他的色彩?任何想法?提前致谢 我使用EMU8086作为汇编 数据段 惠康DB'惠康网友!“,13,10,”$“ 如何DB'你好',13,10,“$” 结束堆栈段 DW 64 DUP(0) 结束code段 开 ..
发布时间:2016-07-18 21:43:59 .NET Framework

在8086大会32位计算器

计算器32位 有人可以帮助我在我的MASM32的32位计算器。我认为加和减是确定的,但我不能打印十进制数; 0002FFFF - 10005 = 1fffa 在记忆:0001 0FFFA 印刷:165530十进制 DATA_HERE段 MULT1 DW 0002H DW 0FFFFH mult2 DW 0001H DW 0005H ..
发布时间:2016-07-18 21:42:00 .NET Framework

大会(EMU8086)不允许字节移入8位寄存器

我想提出一个计算器类型的节目,我用它来从用户那里得到一个数字,并将其存储: MOV啊,01H INT 21H MOV偏移NUM1,人 和在code结束时,我有NUM1设置为一个字节以 NUM1 0分贝 给它的默认值为0。 问题是,当我尝试从NUM1值搬回到寄存器来执行实际操作: MOV BL,抵消NUM1 我得到一个错误说第二个操作数是超过8位,我无法通过互联网/手册中的任何搜索摸 ..
发布时间:2016-07-18 21:36:31 .NET Framework

x86汇编 - 多模块编程(MASM / TASM)

OK所以这里的code: 假设CS:code,DS:数据 数据段 SNAME DB“有些名称”,“$” LEN EQU $ -sname ASCII分贝'A' - 'A'数据结束 code段 开始: MOV AX,数据 MOV DS,AX CLD LEA SI,SNAME 做这个: LODSB CMP人,61H 宰小写 大写字母: ..
发布时间:2016-07-18 21:36:21 .NET Framework

如何打印在大会8086多少?

我想写一个接收数​​字(我提前了),并打印的功能。我该怎么办呢? 我到目前为止有: 组织100H推10 调用print_numprint_num:推基点 MOV BP,SP MOV AX,[BP + 2 * 2] MOV BX,CS MOV ES,BX MOV DX,串 MOV DI,DX STOSW MOV啊,09H INT 21H 流行基点 RET串: 解决方案 你在字符串的地址将 ..
发布时间:2016-07-18 21:35:29 .NET Framework

8086听键盘同时借鉴

我熟悉等待键盘输入INT 16H,但我正在开发一个游戏,我想那里是一个游戏循环,在屏幕上动画的东西,每当有一个键盘命中, 8086应该去我的中断处理程序,并告诉我哪个键已经pssed相应地更新我的数据$ p $。 我怎么可以这样做? 解决方案 您也可以用1 AH而不是0,调用INT 16时轮询输入。 的INT 16h / AH = 01H - 为您在键盘缓冲区击键。 返回: ..
发布时间:2016-07-18 21:34:22 .NET Framework

为什么我们必须初始化在MS-DOS DS和ES寄存器?

在MS-DOS,为什么DS和ES寄存器的初始化必须由程序员手动完成,尽管它的操作系统的责任来初始化这些寄存器。 为什么不能我们做这个的CS和SS注册? MS-DOS的哪项功能信息到这个? 解决方案 这是OS设计师只是一个选择。 DOS是一个最小的操作系统,所以它可能的最小值。 CS和SS注册的必须的设置。如果没有CS设置你,你的code无法运行。因为DOS使用一切一个堆栈SS必须设置。 ..
发布时间:2016-07-18 21:33:25 .NET Framework

在8086组装大型二进制变化?

我有数据的二进制块512字节长,我想知道最有效的方法是什么,如果我想一旦转移它的权利。 我最好的猜测,现在(很新的组装)将是我必须首先检查一大块(可能INT),看看它会移出,移位,然后携带无论previous INT会已经移出,并继续执行这一转变下的数据。是否有更简单的方法?如果非要用这种套利方法,什么是我可以转移最大的一块?双字?四字? 解决方案 如果你只是想转移一次,使用旋转,通过携 ..
发布时间:2016-07-18 21:26:29 .NET Framework

8086大会键盘执行ISR

我不明白为什么键盘中断服务程序,我写我的程序(应打印“Hello World”的每个I PSS的关键$ P $时间),当我执行上的DOSBox中的.exe只发生一次。 这里是code: NAME KEYB桩段STACK DB 20 DUP('LA桩“) 桩ENDS DONNEE段 消息分贝“你好世界国际!$” DONNEE完段计划 承担CS:计划,DS:DONNEE,ES:没事,SS ..
发布时间:2016-07-18 21:26:19 .NET Framework