저는 VMware (Ubuntu)에서 큰 C++ 프로젝트로 작업하고 있습니다. 그것은 여러 프로세스와 많은 cpp 파일을 가지고 있습니다. 내가 알고 싶은 것은 : 내 코드를 실행하는 동안 각 cpp 파일에서 얼마나 많은 연산 (덧셈, 곱셈, 읽기, 쓰기, 이동 등)이 수행되고 있는지. 나는 이것을 많이 찾고 나는 실행 코드의 명령어 수를 알려주는 프로파일
glibc에서 시스템 호출을 수행하기위한 코드를 확인하고 싶습니다. 나는 이런 것을 발견했다. 합니다 (cmpq 명령 전) 시스템 콜이 명령 인 경우 ENTRY (syscall)
movq %rdi, %rax /* Syscall number -> rax. */
movq %rsi, %rdi /* shift arg1 - arg5. */
코드 실행 전반에 걸쳐 서로 다른 기계 명령어 실행 및 필요한 클럭 사이클을 확인하고 분석하고 싶습니다. 이 작업을 간단하게 수행 할 수있는 방법이 있습니까? 동적 바이너리 변환은 방법 일지 모르지만 나는 더 쉬운 메커니즘을 찾고있다. 이러한 인텔의 VTune (http://en.wikipedia.org/wiki/VTune), 또는 oprof 같은 프로파일
문자열 마지막에 명령어 0xa을 사용하여 인쇄 된 마지막 문자열이 다음에 실행되지 않도록 줄 바꿈을 만듭니다. mov bx, MESSAGE
call print_string
mov bx, ANOTHER
call print_string
hlt
print_string:
pusha
string_loop:
mov al,
기계 명령어 및 프로그램에 대한 책을 읽는 동안 어셈블러가 전체 소스 프로그램을 두 번 스캔한다는 특정 지점을 발견했습니다. 첫 번째 통과/스캔 중에 기호 테이블을 작성하고 두 번째 스캔 중에 전체 프로그램을 파일 테이블과 연관시킵니다. 어셈블러는 함수에 대해 비슷한 방식으로 주소를 제공해야합니다. 이제 어셈블러가 프로그램을 두 번 통과하기 때문에 함수를
Android 애플리케이션의 전체 기계 명령어 수를 찾고 싶습니다. Android SDK의 Debug.InstructionCount 클래스를 살펴 보았지만 Dalvik VM 명령어 (실제로 프로세서에서 실행되는 머신 레벨 명령어가 아닌)의 정보를 제공한다고 생각합니다. 고정 된 주파수를 사용하여 특정 프로세서에서 Android 애플리케이션을 실행하는 데 필
이것은 숙제 일 뿐이므로 모든 사람의 시간을 낭비하고 싶지 않기 때문에 자세한 대답을 기대하지 않습니다. MIPS 코드처럼 보이는 것에 대해 질문이 있습니다. b 및 c에서 64 비트 부동 소수점 값을 사용하고 메모리 주소 a에 저장됩니다 'mmul.d a,b,c'
: 우리는 명령이있는 메모리 - 메모리 아키텍처 인 'M' 기계를 가지고있다. lw r