일부 어셈블리 코드를 통해 무엇을하고 있는지 (그 이유는 악의가 없으므로) 무엇인지 알아 내려고합니다. 난 당신이 너무 세 값을 비교할 수 없습니다 알다시피, Google에서 나이를 지출하고이 일을 질수 그림, 0DADADADA3 개의 인수가있는 어셈블리 cmp 명령
CMP d를, [EAX] : 한 줄에 다음과 같은 명령이 나는 0DA .... 부분이 내가 무엇을 놓쳤는 지 안다. 나는 이것이 빈 메모리를 채우는 것과 관련이 있지만 확실하지 않다는 것을 다시금 알 수없는 기사를 발견했다. 어떤 도움을 주시면 감사하겠습니다.
이것은 꽤 의심 스럽습니다. 'cmp'는 정확하게 2 개의 입력 피연산자를 가지며, 암시 적으로 상태 플래그만을 출력으로 설정합니다. 게다가, '0DADADADA'도 나쁘게 보입니다. 선행 0은 8 진수로 식별해야하고 숫자는 분명히 16 진수입니다. – EOF
선행 0은이를 숫자로 식별합니다. 그것이 8 진수인지 여부는 어셈블러의 정의 문제이며, 이것은 분명히 16 진수입니다. –
@IraBaxter : 일반적으로 16 진수 리터럴은 접두사가 '0x ...'인 반면, 8 진수는 선두가 0입니다. 이 질문은 다른 규칙을 사용하는 어셈블러와 관련 될 수 있지만 정확한 어셈블러는 언급되지 않았습니다. – EOF