여기에서 볼 수 있듯이 나는 실행의 PEB 정보를 액세스하려고했습니다에 대한 구문 : Access x64 TEB C++ & Assembly 코드는 어떤 이상한 이유로 단 AT & T 구문에서 작동을하지만 인텔 구문을 사용하려고하면 동일한 값을 제공하지 못합니다. 물론 내 부분에는 오류가 있습니다. 그래서 부탁 해요 .. 어떻게 변환 할 수 있습니다 int
GF (2^n)의 요소 인 두 다항식을 곱하기 위해 C 코드에서 인라인 어셈블리와 함께 인텔의 PCLMULQDQ 명령어를 사용하고 싶습니다. 컴파일러는 GCC 4.8.1입니다. 다항식은 uint32_t의 배열에 저장됩니다 (6 개의 큰 필드). PCLMULQDQ 명령어 또는 CLMUL 명령어 사용법을 웹에서 이미 확인했지만 올바른 문서를 찾지 못했습니다.
AC 포인터가 가리키는 주소를 통해 어셈블리 작업을하려고하는데, 이제 문제는 포인터를 레지스터에 전달한 다음 데이터를 저장 한 다음 저장소에 저장하는 방법을 찾을 수 없다는 것입니다. 다른 출력 포인터에 대한 값. 여기 내 코드입니다 : 무엇이 실종 됐나요? 당신은 실제로 다음에 저장하는 주소와 변화의 결과를 사용하여, 로드 출력 포인터의 값이 무슨 일을하
임시 레지스터를 사용하는 작은 어셈블리 루틴을 작성하고 싶습니다. 임시 레지스터라고 할 때, asm 블록에 대한 제약 조건에서 입력 또는 출력 레지스터가 아니라는 의미입니다. 모든 레지스터를 고르고 clobber 목록에 포함시킬 수는 있지만 컴파일러가 선택할 수있는 것이 더 좋을 것이라고 생각했습니다. 이것을 처리하는 올바른 방법은 무엇입니까? 온라인에서
플로트에서 정수로 변환해야하는 커다란 기능이 있습니다. 이 변환이 없으면 함수는 내 컴퓨터에서 11-12 ns/loop를 사용합니다. 변환으로 ~ 400 ns/loop가 걸립니다. 일부 읽기 후에 인라인 어셈블리를 사용하여 변환 속도를 높이는 방법을 찾았습니다. inline int FISTToInt (float f)
{
int i;
as
Visual Studio에서 인라인 어셈블리를 사용하여 C로 프로그램을 작성하려고합니다. 나는 문자열을 읽고 변수의 소문자 수와 변수의 대문자 수를 저장할 필요가있다. 여기까지 내가 무엇을 가지고있다 : void FnlUpperLowerCount(char *inStr) {
int UpCount = -99;
int LowCount = -
내가이 명령을 구문 분석하지 않습니다. 웹상의 다른 예제에 따라 .byte을 db으로 바꿔 시도했습니다. 그런 다음 출력은 no such instruction: 'db 72ello, World!440x0A' (아포스트로피 대신 숫자에 주목)입니다. 나에게 그것은 '의 구문 분석에 문제가있는 것처럼 보입니다. 어떻게해야합니까?
문자열의 부분 문자열을 gcc 인라인 어셈블리로 가져 오는 코드를 작성합니다. 나는 길이가 8. 여기에 코드 static inline char * asm_sub_str(char *dest, char *src, int s_idx, int edix)
{
__asm__ __volatile__("cld\n\t"
"rep\n\t"
저는 어셈블리 전문가가 아니므로 간단 할 수 있습니다. 그래서 같은 매개 변수로 상수 값 예상 명령이있는 경우 : VQSHRN.U32 d0,q0,#16
가 어떻게 레지스터에 값으로 #16 대체 할 수있는, 예를 들어 r0을? 이 지시는 그렇게 할 수도 있지만, 그 능력에 관한 문서를 찾지 못했습니다. 이 일을하는 일반적인 방법이 있습니까? 이 경우에는