小编sta*_*lue的帖子

装配字符比较问题

我们正在尝试在汇编中实现levensteing distance算法并从C代码调用汇编函数.但我们有一些字符比较问题,无法解决问题.

函数需要两个char*参数.在前两行中,我将这些收益转移到ecx和edx.iminusOne和jminusOne是获取当前(代码块是循环的一部分)字符的索引.在找到字符的地址后,我将字符移动到寄存器中并使用cmp进行比较.但是例如当我比较两个字符串"apple"和"apple"时,前三个字符似乎相等但其他两个字符不相同.我在ecx和edx所持有的地址上打印到控制台,它们似乎也是相同的.

  mov ecx,[esp+4]
  mov edx,[esp+8]

  mov ebx,[iminusOne]
  add ecx,ebx
  mov ebx,[jminusOne]      
  add edx,ebx
  call printCurrentChars
  mov edx,[edx]; bellekteki veriyi direk register a yüklüyoruz çünkü kar??la?t?rma 
       ; i?lemine parametre olarak iki adres alan? veremiyoruz
  mov ecx,[ecx]
  cmp edx,ecx
  jne notEqual
  call printHello
  mov ebx,eax
Run Code Online (Sandbox Code Playgroud)

当前字符的打印结果:

appleapple
aa
您好,世界!// OK
ap
ap
al
ae
pa
pp
你好,世界!// OK
PP
//这应该是平等的,但不是
PL
PE
PA
PP
//这应该是平等的,但不是
PP
你好,世界!
PL
PE

LP
LP
LL
//这应该是平等的,但不

EA
EP
EP
EL
EE …

comparison x86 assembly character

0
推荐指数
1
解决办法
4904
查看次数

使用java asm库检测"导入"

我正在使用asm库进行java检测,我想要检测"导入"指令.这样通过使用visitMethodInsn和INVOKEVIRTUAL,我就能从我的包中调用一个函数.我知道当我有一个字节码时,链接阶段结束了,所以我可能会遇到麻烦.任何解决方案/绕行?

java assembly instrumentation java-bytecode-asm

0
推荐指数
1
解决办法
775
查看次数

C#:如何将DLL嵌入资源文件(程序目录中没有DLL复制)

我有一个需要X.dll的C#应用​​程序(项目A).我已经将生成X.dll的项目添加到了Visual Studio中作为参考.我还将X.dll的发布版本添加到A中的资源文件中作为二进制文件.我告诉项目A 不要将X.dll复制到输出目录.

现在我想要A.exe加载,说"嘿我找不到这个文件",然后查看资源文件并使用Assembly.Load(byte [])获取X.dll.我有代码重新魔术DLL,但这个代码永远不会被调用.

目前我有一个骨头简单的项目,只是试图让它工作.它编译好了.当我运行它时,我在X.dll上得到一个FileNotFoundException.

我有:

[STAThread]
static void Main()
{
    AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
Run Code Online (Sandbox Code Playgroud)

但*CurrentDomain_AssemblyResolve*中的断点永远不会被击中.我立即得到一个FileNotFoundException.当然有一些我遗失的东西?

c# embed dll resources assemblies

0
推荐指数
1
解决办法
4115
查看次数

微控制器中的图像处理

我有一个机器人项目,它需要处理来自相机的图像.但我正在寻找一种可以独立进行图像处理的微控制器,不需要任何计算机或笔记本电脑.这样的微控制器是否存在?它是什么?它是如何完成的?

embedded microcontroller image-processing

0
推荐指数
1
解决办法
1万
查看次数

这是MSDN文档中的错误吗?

这是MSDN链接来自http://msdn.microsoft.com/en-us/library/s3f49ktz(v=VS.80).aspx

它表示:unsigned int:4byte Value of Value 0到4,294,967,295

因此我的测试代码:

void main(void) 
{       
    unsigned int sum;   //4byte, 32bit
    sum = 2147483648;  //2^31 represent by 1 followed by 31 0s
    printf("sum is %d\n",sum); 
    sum = sum -1 ;     //2^31-1 represent by 0 followed by 31 1s
    printf("sum is %d\n",sum);
    getchar();
} 
Run Code Online (Sandbox Code Playgroud)

我肯定4,294,967,295 = 2 ^ 32-1,printf会打印"0",转储最重要的一点我觉得MSDN应该写的值范围:0到2147483647 是吗?

c c++ microprocessors

0
推荐指数
1
解决办法
138
查看次数

这是一种常规语言吗?如果是这样,它的正则表达式是什么?

B = {1^k y | k >= 1, y in {0, 1}* and y contains at least k 1's }
Run Code Online (Sandbox Code Playgroud)

这种语言有规律吗?如果是这样,你如何证明它,你将如何用Python中的正则表达式来表示它?

这是为了上课,所以如果你能解释你的答案背后的原因和过程,我们将不胜感激.

regex computer-science regular-language

0
推荐指数
1
解决办法
1672
查看次数

素数c#

对不起,我不得不问一个非常简单的问题.我的问题是我想生成素数直到最大数.

这是我的代码:

    for (int i = 2; i <= max - 1; i++)
        {
            System.Threading.Thread.Sleep(1000);
            if (Progress != null)
            {
                if (max%i == 0)
                    Console.WriteLine(i);
            }
        }  
Run Code Online (Sandbox Code Playgroud)

我的代码不起作用,我不知道为什么..

你能帮我么?

.net c# algorithm primes

-1
推荐指数
1
解决办法
2251
查看次数