interrupt相关内容

CLI和STI不工作

我在x86汇编的初学者。我编了一个小的操作系统(与NASM编译到软盘),和我遇到一些麻烦吧。这种操作sysem旨在打开瓶盖,滚动和Num Lock,然后等待半秒,然后将其关闭,然后等待半秒。然后重复。 问题是在行 CLI 和 STI 。这应该被启用,以确保原子性,所以时机是 Wait_Clk_Ticks 正确的。当这些线投入该计划,指示灯亮起,但仅此而已。当他们不在程序,灯光闪烁和关闭,因为他们 ..
发布时间:2016-07-18 21:04:20 .NET Framework

我如何通过BIOS访问的USB端口16位x86实模式?

我是一个新手到大会的世界, 我试着写一些组装codeS像串口,并口,VGA,键盘,......等等。硬件设备进行通信 我,通过从自举我亲自写来加载我的程序集code引导我的code这样做,而在英特尔的x86处理器的实模式之中。 嘛,据我所知,我从阅读教程云集,对我来说最简单的方法是使用BIOS INT的服务程序(ISR)和另一方面最长的方法是通过访问硬件不同的寄存器,如例如:状态寄存器和串行 ..
发布时间:2016-07-18 21:04:06 .NET Framework

如何调用DOS中使用内联汇编一个C / C ++程序中的中断?

大家好! 我需要调用从C / C ++程序的一些DOS中断(服务),我尝试了下面的内联汇编code: (读取一个字符) INT的main() { ASM( “MOVB $ 0×01,%啊;” “INT $ 0×21” ); 系统(“暂停”); } 但它没有工作!我想知道我做了什么错在这里!此外,如果有另一种方式来调用DOS中断! 谢谢! 解决方案 您只能使用DOS,从DOS程 ..
发布时间:2016-07-18 21:01:22 C/C++开发

低级别的I / O访问使用OUTB和INB

我遇到困难时期试图了解如何中断的工作。 低于code初始化可编程中断控制器 的#define PIC0_CTRL为0x20 / *主PIC的控制寄存器地址。 * / #定义PIC0_DATA为0x21 / *主PIC数据寄存器地址。 * / / *屏蔽所有中断* / OUTB(PIC0_DATA,为0xFF); / *初始化主。 * / OUTB(PIC0_CTRL,为0x11 ..
发布时间:2016-07-18 21:01:19 .NET Framework

如何禁用中断一个指令?

是否有任何其他的方式来中断禁止的只有一条指令中的 86 比使用 CLI 指令? 解决方案 是,加载 SS 与 MOV 会抑制外部中断的下一个指令。这是指令集参考所说的: 装载了SS与MOV指令寄存器禁止所有中断 直到下一个指令的执行之后。此操作 允许一个堆栈指针被加载到与ESP寄存器 下一条指令中断之前(MOV ESP,堆栈指针的值) 发生。 ..
发布时间:2016-07-18 20:59:33 .NET Framework

如果禁用中断,会发生什么,什么你和你不知道如何处理中断怎么办?

在禁止中断(与86的 CLI 指令),到底发生了什么? 请问PIC等你开启中断,并触发中断当这种情况发生? (如果有的话,多长时间等待,如果时间“过期”怎么办呢?) 是否中断 - 从设备的角度来看 - 被发送到一个“黑洞”,没有回应 请问PIC莫名其妙地告诉大家,“CPU忙”或设备的东西吗? 抑或是别的东西出现? 另外,你如何处理与中断你不知道该如何处理?结果 是否 ..
发布时间:2016-07-18 20:57:43 .NET Framework

我是否弹出错误code推某些例外情况,从中断处理程序返回前栈?

我已经加载的IDT表256项,都指向类似的处理程序: 例外8和10-14,推异常号(这些例外推错误code自动) 换了别人,推一个“虚拟”的错误code和异常号; 然后跳转到一个通用处理器 因此​​,当通用处理器进入,堆栈正确对齐,并包含异常/中断号,错误code(这可能只是一个虚拟的),EFLAGS,CS和EIP。 我的问题关于从中断处理程序返回。我使用 IRET 取出异常号和 ..
发布时间:2016-07-18 20:54:48 .NET Framework

禁用硬件和放大器;软件中断

是否有可能与ASM禁止所有中断/ C / C ++程序,以获取有关处理器完全控制? 如果是? - >如何 如果不? - >怎么办“原子”操作的系统调用的工作(例如进入一个关键部分) 感谢您的帮助! 解决方案 在x86汇编中的命令是 STI 将中断使能位 CLI 清除中断使能位 这些命令设置和清除 IF标志。当IF标志被设置时,CPU将处理硬件中断,并且当很明显,CPU将 ..
发布时间:2016-07-18 20:48:54 .NET Framework

为什么操作系统的某些部分在装配中写的?

我的迷你操作系统的调度是用汇编,我不知道为什么。我发现指令 ERET 不能由C编译器生成,这是财产以后,可以推广到其他平台比的Nios也x86和/或MIPS建筑风格, ?因为我认为,操作系统的一部分,总是用汇编和我在寻找为什么系统程序员必须知道组装写操作系统。是否是有内置的C编译器不能产生像某些汇编指令的限制的情况下 ERET 返回程序是什么中断后做什么? 解决方案 通用答案是三个原因造成 ..
发布时间:2016-07-18 20:43:41 .NET Framework

英特尔的x86 VS x64的系统调用

我在阅​​读有关x86和x64之间的装配的差异。 在x86上,系统调用号放在 EAX ,那么 INT 80H 执行生成软件中断。 但在x64,系统调用号放在 RAX ,那么系统调用执行 我听说系统调用比产生软件中断更轻,速度更快。 为什么它是在64比86快了,我可以做一个系统调用使用的x64 INT 80H ? 解决方案 常规部分 编辑:Linux的不相干的部分去掉 虽然不是完 ..
发布时间:2016-07-18 20:38:05 服务器开发

如何INT 10,带有属性13H的工作?

哎我试着去了解INT 10H,这与BIOS中断10用啊13H写入字符串13H(19)。我发现下面对不同的标志放置在不同的寄存器中的信息。有一件事我还是不明白什么是应该在BL去,如果我只是想写出具有这种功能应该是BL什么作为属性字符串? 现在它写出奇怪的符号闪烁,这没有意义。谢谢你,事先 写入指定属性的字符的字符串任何显示 页。 在进入:AH 13H AL ..
发布时间:2016-07-18 20:25:11 .NET Framework

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

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

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

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

我不知道如何使用中断21,AH = 0AH

我的信息是从这里到来。分配要求一个程序,读取不超过20个字符,这些字符转换为大写,然后打印输入的首都。 我不知道如何从INT21 / AH = 0AH访问输入。我真的,除非我明白什么是上面链接不能要求一个更precise问题。有人能解释一下吗?另外,我使用TASM如果让任何区别。另外,我上的FreeDOS测试这个。 UPDATE1: 好吧,感谢你的帮助,我相信我明白中断需要如何设置和行为方式 ..
发布时间:2016-07-18 19:54:15 .NET Framework

不兼容的C类错误?

UINT32 InterruptLatency; UINT8测量[32]; 焦炭BUF [256]; INT kernelinterrupt时间() { 的fscanf(FP,“鲁%”,InterruptLatency); //我读从内核这里没有显示的数据 测量[17] = InterrupLatency; BUF =放大器;测量; //我在这里得到如下错误//之后将它存储在缓冲区中,我从不过到 ..
发布时间:2016-06-03 22:18:34 其他开发

什么是传统的中断?

我工作的一个项目,我试图找出中断是如何在一个ARM架构的全局中断控制器处理。我与pl390中断控制器工作。我看到有被提到绕过经销商逻辑遗留中断线路。这是因为2个中断源可以编程为一个传统的中断。任何一个可以帮助拥有究竟是一个传统的中断一些解释?我想没有任何运气在线搜索。 解决方案 传统中断的均GIC之前,ARM的两个中断到来:nIRQ失效 - 正常的中断请求,fIRQ - 快速中断请求 由 ..
发布时间:2016-05-29 14:55:20 其它硬件开发

我可以配置为STM32F103ZE芯片上的GPIO引脚中断?

是否有任何GPIO中断供STM32F103ZE? 我通过数据表了,但没有发现任何有关这一点。 我是新来这个处理器,但最近使用TI的MSP430。 在MSP430我们可以配置使用一些GPIO寄存器中断。 谁能告诉我,我该怎么办呢? 解决方案 是 请参看数据表: 第8.1.3节规定: 外部中断/唤醒线 所有端口都具有外部中断 能力。要使用外部中断线路,端口必须 在输 ..
发布时间:2016-05-29 14:54:51 其它硬件开发

为什么我的SWI指令挂? (BeagleBone黑色,ARM Cortex-A8的CPU)

我开始写的 BeagleBone黑,它采用了ARM玩具OS基于Cortex-A8的- TI的Sitara AM3359的SoC 和U-Boot的引导程序。我有一个简单的独立的Hello World应用程序写入UART0,我可以通过U-Boot的加载,到目前为止,现在我试图转移到中断处理程序,但我不能让SWI做什么,但挂设备。 据该AM335x TRM(4099开始页面上,如果你有兴趣),中断向量 ..
发布时间:2016-05-29 14:52:22 其它硬件开发

电平触发中断处理和中断嵌套

[如GIC v2中的更新问题有3个寄存器ACK,EOIR,DIR] 的 这是我需要别人来澄清和状态,下面的顺序是正确的最基本的问题。 在下面的牌坊, [核心] ----- [中断控制器] --level触发 - [设备] 一个。设备引发的级别,并通知中断控制器 乙。中断控制器触发中断的核心。 (假设核心的中断使能) ℃。假设中断控制器GIC(用于ARM),它有3个寄存器 ..
发布时间:2016-05-29 14:52:14 服务器开发

中断处理的SMP ARM系统上与GIC

我想知道的任何设备处理如何中断从点的工作原理是在点点滴滴的中断处理interrupted.I知道,想有明确的端到端中断handing.Let的图片我把整个什么小我知道关于中断处理。 假设FPGA器件是通过电气线路中断,并获得该FPGA器件的一些数据.Device司机已经有code(中断处理程序),使用功能的request_irq注册。 所以,现在的FPGA器件具有一个IRQ线,得到它后打电话到 ..