x86相关内容

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

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

在C函数中执行的程序集++

长getesp(){ __asm​​ __(“MOVL%ESP,%eax中”); } 无效的主要(){ 的printf(“%08X \\ n”,getesp()+ 4); } 为什么ESP点前值栈帧的设置和它使得与下面的code有什么区别? 无效的主要(){ __asm​​ __(“MOVL%ESP,%eax中”); } 解决方案 在我 ..
发布时间:2016-07-18 20:25:05 .NET Framework

在Linux中轻松地检查了英特尔组装运算codeS

我一直在寻找一个实用的工具,将打印在任何Linux的英特尔64位或32位的指令,例如的运算codeS。像 邱博士的 在DOS汇编。基于Web的服务将是一个选项了。 因为我无法找到任何,我做我自己的庆典脚本,创建从命令行参数汇编源文件(指令[S]和&lt ; 32/64>),编译,链接和拆卸,并表明拆卸的正确行。但有已经有一些计划,将显示的所有的任何给定的指令可能的编码,例如。为 MOV EAX, ..
发布时间:2016-07-18 20:24:55 服务器开发

x86汇编指令:CALL *注册

谁能告诉我一些x86汇编间接的函数调用,即像说明一些信息 通话*注册 那么,在功能标签的地址被存储在寄存器中。不知怎的,我无法通过谷歌找到相关信息。 ,而且,这是什么意思,如果我运行的有这样一个指令的x86汇编程序时得到一个跟踪/断点例外呢? 解决方案 Intel和AMD就发布86很好的文档。 下面是英特尔指令集的参考链接,(当然)对CALL的部分。 http://www.intel ..
发布时间:2016-07-18 20:22:49 .NET Framework

为什么" DIV&EDX QUOT;在MASM总是生成处理器异常?

我有关于信息学上学期我的计算机体系结构考试这个问题: 的“为什么MASM'DIV EDX”总是生成处理器异常?“的结果 产生异常机制是什么? 解决方案 当你做1个操作数师的x86处理器,EDX:EAX(64位)是第一个操作数(32位)划分。结果存储在EAX中(32位)。 所以,当你通过除以EDX:EAX由EDX,你实际上得到的是(EDX * 0x100000000 + EAX)/ E ..
发布时间:2016-07-18 20:22:44 .NET Framework

XOR寄存器,寄存器(汇编)

不时我们来分​​析汇编code片(IA32) 比通常更我碰到过,看起来像这样的指令: 异斧,斧 或其它寄存器藏汉: XOR DX,DX ,异人,人 ... 这究竟做什么? (斧斧异总是给人0?) 解决方案 这是一个常见成语汇编到寄存器设置为0。 异斧,斧对应 AX = AX ^ AX 其中,因为你已经通知,实际上是 AX = 0 。 如果我没有记错的主要优点是,它的code尺寸比 ..
发布时间:2016-07-18 20:22:41 .NET Framework

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

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

多核x86系统,是互斥使用LOCK'd指令实现?

在86装配有可以被应用到一个指令,使之原子一个LOCK preFIX。这是原子在所有核心?什么是平常延迟为何?对于常规的互斥体,是什么指令是它那是锁着的? 感谢。 PS:我被教导上缺乏这样互斥仍然可以做到的指令系统,但它是更费力。我不知道是否有人不这么认为了。 解决方案 在86锁定preFIX锁定所有核心和允许原子。对于在其他系统上执行本无锁,CMPXCHG循环使用或重试逻辑试图东西值 ..
发布时间:2016-07-18 20:22:22 .NET Framework

有没有这显示ILP(指令级并行)的在x86_64的好处真正工作的例子?

正如公知的CPU为管道,它最有效地工作,如果彼此独立的命令序列 - 这个称为ILP(指令级并行): http://en.wikipedia.org/wiki/Instruction-level_parallelism 但有这显示ILP,至少syntetic例子的好处,CPU x86_64的(但真正工作的例子作为相同数量的 CMP / JNE 在这两种情况下)? 我会写下面的例子 - 添加了阵列 ..
发布时间:2016-07-18 20:22:14 C/C++开发

斐波纳契数列在大会的x86

最后无数错误长会议结束后,希望这是最后一个。 没有编译或运行时错误,只是一个逻辑上的错误。 编辑:(固定伪code) 我的伪code: 第一= 1; 第二= 1; 第三= 0; 对于i从1到n { 第三=第一+第二 第一=第二 第二=第三} 第三回 这将打印该系列的最终结果。 我的大会code: 我添加了评论,其中可以没有 .386 .MODEL平,ST ..
发布时间:2016-07-18 20:22:10 .NET Framework

Linux的NASM汇编清屏终端

有没有办法清除屏幕在NASM终端窗口?通过清晰的画面,我的意思是模拟按Ctrl-L 热键。取下窗口中的所有文本。 这是可能在NASM汇编办? 由于提前, Rileyh 解决方案 在击: 回声-ne“\\ 033 [H \\ 033 [2J” 在C:的printf(“\\ 033 [H \\ 033 [2J”); 我如何找到字符串: $ strace的痕迹-e =写清楚&GT ..
发布时间:2016-07-18 20:21:23 服务器开发

为什么IA-32有一个非直观呼叫者和被呼叫者寄存器保存惯例?

有关IA-32的通用的调用约定说: •被调用者保存寄存器 EBX%,%ESI,EDI%,%EBP,ESP% 被叫方不得改变这些。 (或返回前恢复调用者的值。)•来电保存寄存器 %eax中,EDX%,ECX%,条件标志 来电节省了这些,如果要preserve他们。被叫方可以自由地揍。 为什么会出现这种奇怪的约定存在吗?为什么不能调用另一个函数之前所有的寄存器保存?或者被调用者保存和 PUSHA ..
发布时间:2016-07-18 20:21:19 .NET Framework

麻烦扭转组装一个字符串

我试图扭转组装的字符串。 但是我的code似乎没有正常工作。 我加了一个新行字符串更好的可读性。 我使用Linux和NASM的编译器。 我想,如果我拿了adresspointers的价值和交换他们在正确的地方,该字符串将最终被逆转,然后恢复正常。 这是我的code: 部分。数据 你好DB“世界,你好!” helloLen EQU $ -Hello DERP DB ..
发布时间:2016-07-18 20:21:06 .NET Framework

CLFLUSH()的酷睿i3或者i7处理器

是否有可能使用的i3 / i7处理器的指令CLFLUSH /功能清空缓存并检查是否缓存为空或不?如果是这样的 - 请建议用法的正确格式(在C直接或内联汇编在C) 有人告诉我,CLFLUSH不正常工作超越Core 2 Duo处理器。 我从这个链接(如下)已经被重定向后,说明了这个问题-------> ¨ ..
发布时间:2016-07-18 20:20:48 .NET Framework

字符串转换为int。 86的32位汇编​​使用NASM

所以我想将字符串转换为数字,所以我可以在以后添加另一个编号。这里是我不得不在远我的.text进行转换。 num2Entered是用户输入的内容。 Num1plusNum2是标签,我最终会增加。它们在.bss段都声明。任何帮助将是AP preciated! MOV AX,[num2Entered + 0] 子斧头,'0' MOV BX,WORD 1000 MUL BX ..
发布时间:2016-07-18 20:20:43 .NET Framework

在装配高数课

我试图找到一个crusor的位置与1896年的一个数组(成为2D整个控制台,79 * 24)。为此,我拿了位置,并通过79分吧。 MOV AX,[Y-16H] DEC AX MOV BX,79 DIV BX MOV Z,DL ADD Z,DH MOV DL,Z MOV Z,AL ADD Z,AH MOV DH,Z 我得到一个溢出错误。你能告诉我什么我做错了吗?也许提出一个 ..
发布时间:2016-07-18 20:20:15 .NET Framework

哪个值应该用于SP用于引导过程?

在BIOS中的引导顺序将加载的第一个有效的MBR它发现到计算机的物理内存地址0x7C00。 哪些值应该用于SP的启动过程? 组织7C00h处;设置位置计数器。 MOV AX,XXX;什么是XXX? MOV SP,斧 ;现在推送POP是安全的 解决方案 的任何值SS:SP ,以便有对你的code足够的堆栈空间的和中断服务程序就可以了。 和,当然,你的筹码不应该与任何code或其他数据 ..
发布时间:2016-07-18 20:20:12 .NET Framework

空操作处理的英特尔处理器

诚然,我都有点愚蠢的问题。基本上,我想知道如果 也有采用Intel处理器能够有效地提供了一些特殊的机制 执行一系列假人,即NOP指令?举例来说,我能想象有 可能是某种pre取标识瑞尔机制,他们丢弃 并试图代替取一些有用的指导。或者,这些瑞尔出动 到执行单元为正常的指令,这意味着我可以大致过程 5 NOP指令每个周期(假设下,有5执行单元) 谢谢, 莱因哈德 解决方案 丢弃它 ..