8086相关内容

覆盖默认INT 9H

我试图覆盖默认中断时,关键是pssed $ P $。 这里是我的code:我不明白为什么它不工作,它的工作原理与他人INT数字(43H为例) MOV人,9H MOV啊,25H MOV BX,赛格int9h MOV DS,BX MOV DX,偏移int9h INT 21H (凡int9h在我的code标签) 有谁知道如何连接中断时,关键是pressed? 谢谢 ! 编辑: MOV AX, ..
发布时间:2016-07-18 20:31:48 .NET Framework

无法移动8位地址为16位寄存器

我试图赋予变量在这里注册的是code: ORG 100H VAR1 DB 10; VAR2 DB 20; MOV BX,VAR1;错误:操作数不匹配:16位寄存器和8位地址 RET 结束 但是,如果换用4号线: MOV BL,VAR1; 它的工作原理。所以我的问题是,为什么不能我谨 8位的变量到更大的16位寄存器? 我已经提到 ..
发布时间:2016-07-18 20:27:23 .NET Framework

英特尔8086汇编程序从C调用

我需要开发汇编语言程序并调用从C语言程序(传递一个字符串,并返回一个整数值)。我的装配程序工作正常“独立”。我需要与他们连接在一起帮助。 计划应该是在Intel 8086上运行,我需要使用MASM或EMU8086作为汇编/模拟器。请推荐一个C编译器,也是一个方法,使简单的C程序,它是能够调用组装过程,并获得返回的值。我 如何传递一个字符串,这个外部函数?结果 我怎样才能连接ASM文件和C文件 ..
发布时间:2016-07-18 20:27:20 .NET Framework

从小写转换为大写

我想转换小写字母大写。我知道它可以很容易地做到, SUB AL,20H 不过,我已经给出另一种解决方案是,键,AL,0DFH 请帮我理解这一点。谢谢 解决方案 看位模式: A(×41): 0100 0001 A(0x61): 0110 0001 M(送出0x4d): 0100 1101 M(0x6d): 0110 1101 Z(5AH即可): 0101 ..
发布时间:2016-07-18 20:25:42 .NET Framework

计算机科学十六进制数字的重要性

在学习编程的8085,8086和microporcessors一般我们总是有十六进制再presentation。其确定二进制数字是电脑重要的。但如何将这些十六进制数是重要的?任何历史意义? 这将是很好,如果有人点了一些历史文件也。 编辑: 计算机如何处理十六进制数字?例如,当一个十六进制数作为输入提供的8085会发生什么? 解决方案 十六进制有接近可视化映射到用于存储数字不是十进制做 ..
发布时间:2016-07-18 20:25:21 .NET Framework

显示时间大会

您好我尝试显示实际时间时/分/秒,这是我的code样品: MOV AH,2CH INT 21HMOV AH,0EHMOV AL,CH INT 10HMOV AL,3AH INT 10HMOV AL,CL INT 10HMOV AL,3AH INT 10HMOV AL,DH INT 10HRET 在这里,你能有什么本质上的控制台显示 解决方案 查看的 86 标签维基指令集参考手 ..
发布时间:2016-07-18 20:23:51 .NET Framework

如何检查在x86汇编键状态?

我把x86汇编作为一种业余爱好今年一月,所以我可以做游戏,将在诸如PCJ和坦迪1000,但我发现不完全教多少上特定主题的书旧8086供电的计算机上运行。虽然一些DOS和BIOS中断样做的工作,他们完美很远。 我的主要问题是阅读pressed键键盘状态不停止该程序。我发现了一些方法,但它们是非常有限的。 INT 21H,AH 0CH读取最后pressed键,但在一个文本版时尚。它不仅读取一次只有一 ..
发布时间:2016-07-18 20:22:35 .NET Framework

QEMU上的BIOS INT 10H打印垃圾

我有一个问题,而写运行中的 QEMU 的引导程序在x86实模式汇编程序。我试图打印文本通过BIOS中断为0x10。我的code是: 打印: PUSHA 。循环: MOV AL,[SI] CMP AL,0 JE .END 调用printChar INC SI JMP .loop 。结束: 波帕 RETprintChar: ..
发布时间:2016-07-18 20:20:08 .NET Framework

在发生中断时的x86架构会发生什么?

我学习x86和实时系统,我有一个问题,那就是: 哪些步骤如下的x86处理任何中断? 解决方案 当一个中断发生时,CPU执行以下操作: 按当前地址(指令指针的内容)压入堆栈;也,推处理器标志(但不是所有的其他处理器寄存器) 跳转到ISR(中断服务程序),这是在中断描述符表中指定的地址。 在ISR应做到以下几点: 推它打算改变任何寄存器(或推动所有寄存器) 处理中断 ..
发布时间:2016-07-18 20:17:44 .NET Framework

8086-为什么我们不能移动即时数据到段寄存器?

在8086汇编编程,我们只能在数据加载到一个段章,第一次加载到通用寄存器,然后我们从这个根章的段寄存器的举动。 我们为什么不能直接加载呢?有没有什么特别的理由不来允许这种? 和是什么 MOV AX,5000H 和 MOV AX,[5000H] 确实 [5000H] 意味着memmory位置5000H conent? 解决方案 请记住,汇编语言(任何组件)的语法只是写机code人类可读的 ..
发布时间:2016-07-18 20:15:01 .NET Framework

为什么不MS-DOS初始化DS和ES寄存器?

为什么 DS的初始化和 ES 寄存器已手动由程序员完成? 例如: MOV AX,DTSEG MOV DS,AX 在另一方面,在 CS 和 SS 寄存器由操作系统初始化(在 MS-DOS )。为什么会这样? 解决方案 由于 CS 和 SS 寄存器是必不可少的在对比程序执行 DS 和 ES 寄存器这点用户定义的数据段。默认情况下没有数据是在执行程序present这个没什么初 ..
发布时间:2016-07-18 20:14:40 .NET Framework

在80x86的SHL和SAL之间的区别

我已经学会了如何使用80x86的汇编的逐位移位操作工作,所以,我面临着SAL和SHL使用量的问题。我指code线之间的区别如下: MOV X,0A​​AH SAL X,4MOV X,0A​​AH SHL X,4 当我们应该用双黄连和使用时SAL?它们有什么不同? 感谢您的关注:) 解决方案 根据这个,它们是相同的: 移位算术左(SAL)和转移逻辑左(SHL) 指令执行相同 ..
发布时间:2016-07-18 20:14:06 .NET Framework

输入的字符串EMU8086变化情况,并扭转

我在汇编语言程序设计全新的,我坚持在我需要改变输入的字符串的情况下,再加上扭转字符串,以及一个问题。我使用EMU8086。我下面code,我要么能够改变的情况下或反向的字符串。但我需要同时进行这两种操作。 .MODEL CASECHANGE。数据 MSG1 DB 0DH,0AH“,输入字符串:$' MSG2 DB 0DH,0AH“,在相反的情况下​​字符串:$' ..
发布时间:2016-07-18 20:03:51 .NET Framework

鸸鹋分8086装配误差

可能重复:结果 ASM 86整数溢出 我得到一个鸿沟无差错溢出,我不知道为什么。 下面是完整的code重现错误 包括emu8086.inc组织100H MOV AX,2 MOV BX,10 DIV BX MOV AX,2 MOV BX,2 DIV BX RET 解决方案 尝试添加 XO ..
发布时间:2016-07-18 20:02:37 .NET Framework

为什么不能有MOV两个操作数为内存位置?

我读 MOV 指令不能有两个操作数的存储位置。 我爱: MOV [0012H],[0016H] 不允许 为什么会这样? 和其它指令可以有两个操作数的存储位置? 解决方案 它是当他们创造的CPU设计决策。更寻址有模式和多个指令,更大(在重新present指令所需的比特数计)的指令得到。和更大的指令需要更长的时间从内存中获取。 在换句话说,X86指令集是不是正交。这不一定是坏事,至少不 ..
发布时间:2016-07-18 20:02:13 .NET Framework

阅读使用INT 21H(DOS)及一些; 8086 assmebly

我要提示用户味精,告诉他写一个数字,然后我保存这个数字,做它的一些操作 在INT 21H搜索后,我发现这一点: INT 21H / AH = 1 - 从标准输入读取字符,与之呼应,结果存储在AL。 如果在键盘缓冲区没有字符,则函数等到任何键pssed $ P $。例: MOV啊,1 INT 21H 的主要问题,这只能读取一个字符,再present它作为ASCII 所以如果 ..
发布时间:2016-07-18 20:00:31 .NET Framework

在8086仿真打印十进制

我实现了两大整数乘法 EMU8086 与code如下: ;乘法N1 * N2 = RES MULTIPLY PROC MOV BH,0H MOV CH,0H MOV CL,L1;第一环路的初始计数器(L1 - > N1的长度) DEC CX MUL_1: MOV COUNTER,CL;第一环的商场专柜 MOV CL,L2 ..
发布时间:2016-07-18 19:55:24 .NET Framework

打印而不OS字符串

我在x86汇编语言的简单程序。它应该直接打印一个字符串显存没有OS。 [位16] [有机0x7c00] MOV AX,0x3中 INT为0x10 SDL MOV AX,0xb800 MOV ES,AX MOV SI,味精 XOR嘀,嘀 REPNZ MOVSW JMP $ MSG DB'你好' 次510 - ($ - $$)0分贝 DW 0xAA55将 但它不工作。你能帮助我吗? 解 ..
发布时间:2016-07-18 19:54:52 .NET Framework

中断,指令指针和指令队列8086

假设一个外部中断请求到8086的处理器作出正在执行(如果有的话)在完成当前指令之后将处理该中断。处理中断之前,程序的状态也将通过将数据推入堆栈段保存(PSW标志,寄存器等)。 现在,大多数的教程/文档描述了指令指针也被压入堆栈段,这是好的,因为它指向了code段(被做了中断请求之前)指令的下一个字节。 但发生了什么指令队列?难道它也压入堆栈段时中断请求被处理?或者是它的内容被清零?在这种情况下 ..