그래, 프로그램을 연결해야하지만이 작업을 수행하려면 지침 E8 <Pointer to Byte Array that contains other code>
을 복사 할 예정입니다. 이 문제는 내가 E8 FD
을 얻고 Call 0x100
을 어셈블 할 때 E8이 호출 명령어라는 것을 알기 때문에 FD가 대상이어야하므로 어셈블러가 0x100에서 FD로 FD를 가져 오는 방법은 무엇입니까? 감사합니다, Bradley - Imcept기계어 코드 점프 대상 계산
답변
http://wwwcsif.cs.ucdavis.edu/~davis/50/8086 Opcodes.htm
E8은 16 비트 상대 호출입니다. 예를 들어 E8 00 10
은 PC + 0x1000에서 주소를 호출하는 것을 의미합니다.
점프/콜 opcode가 많으며 그 중 일부는 상대적입니다. 사실 내가 E8 FD
이 아니라 E8 FD FF
이 아니라고 말씀 드리고 싶습니다. E8
은 "call 16-bit relative"로 보이고 0x100
은 명령어가 기본적으로 배치되는 장소입니다.
주소 0x100에 call 0x100
을 넣고 생성 된 코드는 "실제 점프 포인터에서 -3 점프 명령을 실행하고 점프"입니다. -3
은 위치에서 시프트가 계산되기 때문에 인스트럭션을 읽은 후 E8 FD FF
인 경우 0x103이됩니다. 따라서 의 경우 시프트가 적용되고 0xfffd
의 빅 엔디안 인 경우는 16 비트 -3
입니다.
실제 opcode가'E8 FD FF'가 아니라고 내기 할 것입니다. 왜냐하면 무한 루프가 있기 때문입니다. –
예, 그것은'E8 FD 00'이었을 수 있습니다. 어떤 경우에 명령은 0x00 주소에 놓였습니다. 내 기억이 희미하게 말해서 0x100이 구형 DOS에서 코드의 시작 부분이되어야한다는 것을 알기 때문에 약간 이상하게 보입니다. 그러나이 경우에는 0x00이 될 수 있습니다. 'call 0x100'의 원래 주소가 지정되지 않았으므로 추측 만 할 수 있습니다. –
- 1. 충돌시 점프 대상 객체
- 2. 코드 점화 장치의 점프 컨트롤러
- 3. 파이썬 기계어 프록시 질문
- 4. 이미지 처리에서 대상 위치 계산
- 5. 파이썬 기계어 follow_link가 실패합니다.
- 6. _blank 대상 서버 코드
- 7. 점프 점프 - 왜 점프합니까?
- 8. 파이썬 기계어 선택 양식 FormNotFoundError
- 9. 점프
- 10. Java 소스 코드 생성 및 점프
- 11. 을 OpenCV의 findHomography의 대상 지점을 계산
- 12. 컴퓨터 그래픽 : 코드 작성 대상 코드
- 13. 계산 호프만 코드 차이
- 14. 파이썬 기계어 양식 제출 문제
- 15. ByteCode를 기계어 코드로 변환하는 방법
- 16. 엑스 코드 4 - 대상 빌드
- 17. vbscript를 기계어 코드로 변환하는 것은 무엇입니까?
- 18. 어셈블리 언어를 기계어 코드로 컴파일하는 단계는 무엇입니까?
- 19. 기계어 프리미티브의 복수가 아닌 것이 좋은 생각입니까?
- 20. 점프 VIM
- 21. Facebox가로드시 점프
- 22. 목록보기 점프
- 23. 점프 조부모의
- 24. 조립 조건부 점프
- 25. (의미있는) 점프 명령의 비용?
- 26. Javascript라는 앵커로 점프 이동
- 27. 점프 함수 만들기
- 28. 파이썬에서 기계어 "AmbiguityError"를 우회하는 방법
- 29. 파이썬 기계어 모듈로 텍스트 영역 채우기
- 30. iexpress 하드 코드 된 추출 대상 폴더?
대상 기계 코드는 무엇입니까? 'E8FD'는'call 0x100'을 의미하지 않습니다. –
EMU8086에서 열었습니다. 예, CALL 0x100을 의미합니다. 그러나 나는 내가 무슨 말을하는지 모른다. – iDomo
어떤 어셈블러를 사용하고 있습니까? –