谁会汇编,看这为啥老是冲突
源文件的扩展名是C,不是CPP
#include "stdafx.h"
#include<windows.h>
#include<tchar.h>
#include<stdio.h>
#include<stddef.h>
int _tmain(int argc, _TCHAR* argv[])
{
char s,s1;
char sb=0,sb1[3];
int a=0;
//ZeroMemory(sb,1);
ZeroMemory(sb1,3);
s=s1='a';
_asm
{
mov ebx,0
mov eax,0
mov esi,dword ptr sb
mov al,[s1]
lods sb//换了几种方法都冲突
}
return 0;
}
[解决办法]
改过的程序如下:
#include<windows.h>
#include<tchar.h>
#include<stdio.h>
#include<stddef.h>
int _tmain(int argc, _TCHAR* argv[])
{
char s,s1;
char sb='A';
char *p=&sb;
char sb1[3];
int a=0;
// ZeroMemory(sb,1);
ZeroMemory(sb1,3);
s=s1='a';
_asm
{
mov ebx,0
mov eax,0
mov esi,dword ptr p;
mov al,byte ptr s1
lods sb//换了几种方法都冲突
}
return 0;
}