首页 文章
  • 0 votes
     answers
     views

    结构变化中的指针值无需重新分配

    我从gdb获得以下输出: (gdb) print tid->rvm $28 = (rvm_t) 0x605010 (gdb) step 306 rlog->entries[i].sizes[num - 1] = size; (gdb) step 307 } (gdb) print tid->rvm $29 = (rvm_t) 0x64 (gdb) print tid $3...
  • 0 votes
     answers
     views

    8086微处理器的汇编语言[关闭]

    来自stackoverflow的亲切的人 . 所以我是汇编语言的'greenhorn',但是我喜欢编程而且我雄心勃勃,所以最终我也将掌握汇编,但在那之前我需要你的帮助解决问题 . So, i have to write a program for the 8086 microprocessor, that finds all the factors(divisors) of a given n...
  • -4 votes
     answers
     views

    如何在汇编语言8086中切换低位

    首先,我是汇编语言的初学者,现在我正在研究微处理器 . 我们编写了一些小程序 . 但是,我正在开发名为“基本加密方案(BES)”的程序,其目的是切换用户输入的字符的低位 . 然后,从1-9获取输入并将其添加到切换的字符 . 最后,打印出来 . 例如,如果输入字符为A且输入键值为6.程序应采用ASCIl值A,01000001,切换位[o:o],生成01000000,然后添加输入值键,6 . 最终输出...
  • 2 votes
     answers
     views

    Sql Server x64和x86链接服务器

    我有一个Visual FoxPro表,我需要从Sql Server访问 . 在Sql Server x86中,我只想创建一个链接服务器 . 不幸的是,VFP没有x64驱动程序 - 所以Sql Server x64无法创建链接服务器 . 到目前为止,我已经提出了以下选项 - 我并不特别喜欢这些选项: 设置x86 Sql Server以用作中继,以便查询来自x64 - > x86 - &g...
  • 0 votes
     answers
     views

    为什么在`push ebp`之后`esp`减少了4? [重复]

    这个问题在这里已有答案: The x86 stack is word-based 1回答 Why function parameter occupy at least 4 bytes stack on x86? 2个答案 UPDATE 我已经检查了以下链接,但是,没有一个解释为什么 esp 地址减少了(4个字节?) What is an assembly-level represe...
  • -3 votes
     answers
     views

    装配说明尺寸x86 - Mov

    有人可以帮我找到以下说明的大小(字节长度) . 说明在AI-32机器上的x86上: mov(%rax),%rdi mov%rsp,%rdx 谢谢,
  • 2 votes
     answers
     views

    execve shellcode编写分段错误

    我正在尝试研究execve shellcode, 操作系统:Linux bt 2.6.39.4 root @bt:〜/ exploit #cat gshell.s .globl _start _start: nop jmp MyString shell: popl %esi xorl %eax,%eax ...
  • 1 votes
     answers
     views

    使用写分配策略写回缓存公式

    如果我们将 hierarchical single level write back cache 与 write allocate policy 一起考虑,则 write operation 期间的平均访问时间公式由下式给出: - Twrite =(H)(Tc)(1-H)(Tc Tm(x * Tm)) . 哪里, H =缓存的命中率 . Tc =缓存的访问时间 . Tm =内存的访问时间 . x ...
  • 2 votes
     answers
     views

    处理器如何知道程序的结束?

    我想知道,处理器如何知道何时停止执行程序 . 或者更确切地说,何时停止"fetch, decode execute"循环 .我想到了不同的方法,但不确定哪一个是正确的,或者它们都是错的 .1-也许最后由汇编程序自动添加一条特殊指令让处理器知道这是结束 .2-当它到达无效的内存时(但它是如何识别的) .3-它循环并重新运行程序,但它又如何识别何时循环或者它可能是由汇编程序自动添加...
  • -2 votes
     answers
     views

    可编程微控制器,汇编语言,带面包板

    我正在寻找像/或可能的Raspberry-PI这样的微控制器产品,它允许我用汇编语言编程 . 这是一个额外的学分项目,但需要在装配时使用某些硬件(逻辑门,I / O等)进行专门编程 . 如果我得到了RPi路由,是否有一个程序(与板上的I / O配合使用)会执行此操作?或者我能做什么的其他建议? 我不想在不符合我需要的kit(RPi)上投入100美元 . Arduino也不是最好的选择 .
  • -3 votes
     answers
     views

    我如何重新编写这个组合lang.program,以便它可以加倍传递给它的任何数字

    ;DOUBLE This program prompt the user to enter ;a number <5, ;doubles the number, and outputs the result name double .model small .stack .data ...
  • 227 votes
     answers
     views

    如何使用SSE4.2和AVX指令编译Tensorflow?

    这是从运行脚本以检查Tensorflow是否正常工作时收到的消息: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully...
  • 19 votes
     answers
     views

    学习Linux x86-64汇编和文档的建议[关闭]

    有没有人有关于学习Linux x86-64程序集基础知识的文档?我不确定是否要按原样学习它,或者先学习x86,然后再学习它,但是因为我有一台x86-64计算机而不是x86,我正在考虑学习x86-64; ) 也许有人可以给我一些激励,并指导学习什么,如何以及用什么文档 . 请给我你最喜欢的文档 Headers ,我编写一些Python,这是我第一次尝试低级语言,而且我已经准备好专注于它 . 谢谢大家...
  • 2 votes
     answers
     views

    装配MASM处理负整数

    我被指示在程序集中编写一个程序,它将执行以下算法: ((A B)/ C)*((D - A)E) 当没有负值发挥作用时,我成功地做了这个,但假设A = 5,B = 4,C = 3,D = 2,E = 1.这给了我们((5 4)/ 3) *((2 - 5)1)或-6 . 这是我需要帮助的地方 . 我已经做了一些研究,并且已经发现2可以成为一种解决方案,但我不确定是否将它实现到我的代码中 . 如...
  • 292 votes
     answers
     views

    如何确定.NET程序集是否为x86或x64构建?

    我有一个任意的.NET程序集列表 . 我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU) . 这可能吗?
  • 75 votes
     answers
     views

    什么是“代表; nop;“在x86汇编中意味着什么?它与“暂停”指令相同吗?

    rep; nop 是什么意思? 与 pause 指令相同吗? 是否与 rep nop 相同(没有分号)? 简单的 nop 指令有什么区别? 在AMD和英特尔处理器上它的表现是否不同? (奖金)这些说明的官方文件在哪里? 这个问题的动机 在another question的评论中进行了一些讨论后,我意识到我不知道 rep; nop; 在x86(或x86-64)程序集中的...
  • 1 votes
     answers
     views

    ASM:代码洞穴终止

    这实际上是反汇编的Windows 7 D3D9.dll DrawIndexedPrimitive方法 . CPU Disasm Address Hex dump Command Comments 58EBB6B1 . 8BFF MOV EDI,EDI 58EBB6B3 /. 55 ...
  • 14 votes
     answers
     views

    是否有x86操作码用于将立即字节移动到直接存储器位置(不使用寄存器)?

    有没有办法将特定的立即字节大小的数字“移动”到直接内存位置?即 MOV 10h,ffffh 将值 16 写入内存地址 65535 ?如果是,那是哪个操作码,或者我是否必须先将存储器地址存入寄存器?
  • 17 votes
     answers
     views

    为什么Windows,Linux等汇编语言之间存在差异?

    我对所有这些低级别的东西,汇编语言相对较新 . 并且想要了解更多细节 . 为什么Linux,Windows汇编语言之间存在差异? 据我所知,当我编译C代码时,操作系统并不真正生成纯机器或汇编代码,它会生成依赖于操作系统的二进制代码 . 但为什么呢? 例如,当我使用x86系统时,CPU只能理解x86 ASM我是对的吗? . 为什么我们不编写纯x86汇编代码以及为什么基于操作系统有不同的汇编变体?如果...
  • 8 votes
     answers
     views

    如何同时使用omp parallel和omp simd?

    我想测试 #pragma omp parallel for 和 #pragma omp simd 以获得简单的矩阵添加程序 . 当我分别使用它们时,我没有错误,看起来很好 . 但是,我想测试使用它们可以获得多少性能 . 如果我在外循环之前使用 #pragma omp parallel for 而在内循环之前使用 #pragma omp simd 我也没有错误 . 当我在外部循环之前使用它们时发生错...
  • 31 votes
     answers
     views

    是x86 RISC还是CISC? [关闭]

    根据维基百科,x86是CISC设计,但我也听说过/它是RISC . 什么是正确的?我还想知道 why 它是CISC还是RISC . 什么决定设计是RISC还是CISC?它只是微处理器所具有的机器语言指令的数量,还是有任何其他决定架构的特性?
  • 3 votes
     answers
     views

    ARM vs x86有哪些主要区别?

    我不是很想知道“小字体”在开发每个平台上的代码时的差异,无论程序员习惯了什么,或者他觉得哪些更容易做等等 . 我也不感兴趣于详细的物理差异 . 核心(我不介意他们被提及,如果它适合你的叙述我只是不想专注于上述) 我只是在搜索为什么像x86这样的CISC架构优于RISC架构或者不是这样? 我的意思是为什么要成为“复杂”(CISC),如果你能做到一切,同时降低复杂性(RISC) 有没有x86可以做到的...
  • 1 votes
     answers
     views

    x86程序集链接列表的结尾

    设's assume I have a linked list, where each node holds an integer. I am able to traverse the linked list and get the value of each node; however, I'我不知道如何检测到我已到达链表的末尾 . 我知道最后一个节点持有 null ,所以我尝试了 cmp [e...
  • 0 votes
     answers
     views

    用汇编语言8086创建链表

    你能在特定的内存位置/地址中读写数据/字符串吗?我打算在8086制作一个链表,但我不知道如何从特定的内存地址读取数据以及如何使用相同的变量将数据存储在不同的内存地址中 . 这可能吗?如果有,怎么样?
  • 1 votes
     answers
     views

    程序集qemu-system-i386:尝试在RAM外部执行代码

    我在玩qemu时遇到了这个错误, "qemu-system-i386: Trying to execute code outside RAM" . 在 gdb 上,我得到了这个,所以它停留在movl上,当我执行一个stepi时,所有崩溃: => 0xf010002c <relocated>: add %al,(%eax) relocated ...
  • 4 votes
     answers
     views

    LEA指令的替代语法[重复]

    可能重复:LEA指令的目的是什么? 当我需要地址的值时,我可以使用有效地址,例如 push dword [str+4] . 但是当我需要引用一个地址时 - 我不能使用 push dword str+4 (这对我来说是显而易见的,有用的方式) . 而是需要使用 lea EAX, [str+4] 然后 push EAX . 这有点令人困惑,并且还提供了额外的处理器指令,尽管是“零时钟”指令 ....
  • 114 votes
     answers
     views

    如何在Ubuntu 14.04 LTS(Trusty Tahr)中安装ia32-libs

    我昨天安装了Ubuntu 14.04(Trusty Tahr) . 一切似乎都好 . 但是当我尝试编译一些C代码时,遇到以下错误 . 该错误似乎是由于操作系统缺乏32位架构支持 . 错误输出如下: /usr/bin/ld: i386 architecture of input file `./libsc.a(ftl_msg.o)' is incompatible with i386:x86-64 ...
  • 5 votes
     answers
     views

    ABI vs C标准

    我试图理解ABI(比如System V)和C Standard的区别 . 因此,C标准只是确定合法C,以便编译器可以将其转换为适当的汇编代码 . 然后ABI规定此汇编代码如何与x86架构交互?是两者之间的较高级别比较吗? My reason for asking is that being interested in low latency software I wonder how much v...
  • 0 votes
     answers
     views

    在ARMv6上运行x86打印机驱动程序二进制文件

    我们正在移植一个最初设计为在基于Debian的x86 / x64系统上运行的ARM解决方案 . 到目前为止,这个解决方案很好,我们推出了兼容的打印机,并附带了Linux驱动程序(x86和x64),遗憾的是制造商没有ARM驱动程序,也没有能够从源代码中编译一些(不知道为什么) . 我用CUPS安装了打印机并使用了x86二进制文件 . 但是当然,每当我向打印机发送任务时,ARM系统都无法使用二进制文件...
  • 6 votes
     answers
     views

    使用Xeon Phi Knights Landing获得密集矩阵乘法的最大FLOPS

    我最近开始使用Xeon Phi Knights Landing(KNL)7250计算机(http://ark.intel.com/products/94035/Intel-Xeon-Phi-Processor-7250-16GB-1_40-GHz-68-core) . 它有68个核心和AVX 512.基本频率为1.4 GHz,Turbo频率为1.6 GHz . 我不知道所有内核的turbo频率是多...

热门问题