我必须编写一个程序,将寄存器X,Y和Z初始化为零,然后循环10次,每次将1加到寄存器X.如果寄存器X是偶数,则将寄存器Y加1,如果寄存器X可以被3整除,则添加一个寄存器Z.在ARM汇编中开发循环 我写了一些代码,但我不确定它是否正确,我会很感激任何反馈。 R0, #0 R1, #0 R2, #0 Loop: R3, #0 CMP R0, #10 BEQ endif ADD R0, #1 TST R0, #1 ADDEQ R1, #1 MOV R3, R0 MOD 3 CMP R3, #0 ADDEQ R2, #1 …

2020年11月26日 0条评论 59点热度 阅读全文

JRE版本:6.0_45-b06Java VM:Java HotSpot(TM)客户端VM(20.45-b01混合模式,共享Windows-x86) 你好 我们有一个Java应用程序,该应用程序会定期崩溃(并且显然已经这样做了多年)。它在Windows上使用本机代码(.cpp)。这是热点错误日志之一的堆栈顶部:--------------- T H R E A D ---------------Current thread (0x002a6c00): JavaThread "main" [_thread_in_vm…

2020年11月15日 0条评论 50点热度 阅读全文

现在我的代码给我1846倒退。我不知道如何扭转阵列打印出1846年,而不是6481.我认为我需要一个循环来扭转它,但我不知道如何去执行它。任何帮助,将不胜感激。谢谢。如何颠倒程序集中数组的顺序? .data enter_message: .ascii "Enter a binary value:\n" enter_message_length: .int 22 name: .space 50 buffersize: .int 0 someLength: .int 50 array: .space 50 .text …

2020年11月12日 0条评论 68点热度 阅读全文

我使用OllyDbg的修改应用程序,但我对汇编语言很新,我需要放置在一个内存地址的MD5哈希值,目的存储器地址存储在EAX。我该怎么做?如何把一个HASH字节的内存地址与OllyDbg的 ,我需要插入的哈希dba2d8bf7063faf1275e693661bc9651。我尝试过以下几种方式: MOV DWORD PTR DS:[EAX],32616264 MOV DWORD PTR DS:[EAX+4],66623864 MOV DWORD PTR DS:[EAX+8],33363037 MOV DWORD PT…

2020年10月15日 0条评论 70点热度 阅读全文

在我的程序中,我需要使用2个变量来生成mul。 Memsize只有1个字节。 例如: 首先= 63H 二= 64H 结果是更然后1个字节。我怎么能让mul? '帮助Devolus' 好的。 Mul很简单。那么div 如果我有270F/64.我怎样才能做到只有1个字节的MEM大小?如何解决多字节字节大小并获得2字节答案。 asm a51 解决方案如下: mul ab 从akkumulator值乘以寄存器B的值从结果低字节是在akkumulator和高字节是B.所以,你必须妥善保存你的价值观。 所以在你的例子64h *…

2020年9月2日 0条评论 52点热度 阅读全文

JRE版本:6.0_45-b06Java VM:Java HotSpot(TM)客户端VM(20.45-b01混合模式,共享Windows-x86) 你好 我们有一个Java应用程序,该应用程序会定期崩溃(并且显然已经这样做了多年)。它在Windows上使用本机代码(.cpp)。这是热点错误日志之一的堆栈顶部:--------------- T H R E A D ---------------Current thread (0x002a6c00): JavaThread "main" [_thread_in_vm…

2020年7月17日 0条评论 53点热度 阅读全文

我正在编写一个简单的程序来为MIC1体系结构计算IJVM中几个整数的绝对值。我正在使用位于here的仿真器。 这是代码: BIPUSH 0xC0 DUP ISTORE i1 ISTORE i2 LDC_W OBJREF ILOAD i1 INVOKEVIRTUAL OUT LDC_W OBJREF ILOAD i2 INVOKEVIRTUAL abs OUT 其中,abs是一种计算整数的绝对值的方法。 第一次调用abs可以正常工作,并正确计算 0xC0的绝对值,并输出 0x11。但是,第二个调用没有,并输出 0x7…

2020年7月14日 0条评论 48点热度 阅读全文

我对汇编语言非常陌生,在课堂上我们正在使用LC3模拟器开展分部程序。 下面是我的分割算法的代码。Assembly:LC3 Division DIVISION: AND R3, R3, 0 ; Zero out R3 /This is the remainder AND R4, R4, 0 ; Zero out R4 /This is the quotient NOT R3, R2 ; Takes the inverse of 2nd input ->R3 ADD R3, R3 #1 ; Add one to …

2020年7月6日 0条评论 117点热度 阅读全文

我使用recvfrom系统调用,长度为0x1000。如果我使用.bss中的缓冲区,没有问题; recvfrom等待客户端数据。Recvfrom:使用堆栈作为缓冲区(len:4096) buffer: resb 4096 但是,如果使用一个指向堆栈缓冲区,MOV一个四字的地址,它不适合4096个字节和recvfrom不等待! 我明白了什么是堆栈未初始化为0,为4096个字节,并假定数据是英寸 而且,如果我减少我的长度发送给recvfrom为0x10,即,因为四字适应,recvfrom的等待客户输入。 我是否需要将堆栈…

2020年6月22日 0条评论 53点热度 阅读全文

68HC11使用泰勒级数或查找表计算正弦值的汇编代码是什么?用于计算sin(x)的68HC11的汇编代码 显示值将仅为整数。在这种情况下,查找表如何工作 ?如何使用Taylor series执行? ===========解决方案如下: 我没有做过任何68HC11编程在很长一段时间,所以我不能给你确切的说明,但是你想要做更多或更少如下: 定义内存中的一个表,在[0-Pi/2]范围内的Sin(x)在一个象限上具有256(或者很多)值。 将您的输入转换为范围[0-Pi/2],以便跟踪它最初所处的哪个象限。例如,对于Q2,…

2020年6月10日 0条评论 103点热度 阅读全文