쇼트점프에서 1바이트 오퍼랜드가 타겟주소에 의해 생성된다?라는 말도 모르갰고.. 언제 쓰는지도 모르고..
위의 예시도 7002에서 왜 다음 명령어 주소 9003을 더하는지도 모르겠어요
그리고 왜 다음 명령어주소가 3이 증가한지도 모르겠어요. ㅠㅠ
쇼트점프에서 1바이트 오퍼랜드가 타겟주소에 의해 생성된다?라는 말도 모르갰고.. 언제 쓰는지도 모르고..
위의 예시도 7002에서 왜 다음 명령어 주소 9003을 더하는지도 모르겠어요
그리고 왜 다음 명령어주소가 3이 증가한지도 모르겠어요. ㅠㅠ
7002도 어디서 나왓는지도 모르겠어여
으오r盧무오료오용요미고드머루개소ㅠ
음 컴퓨터구조인가 보면 배웠던거 같은데 즉치,직접,간접,상대,인덱스,레지스터, 레지스터간접 에대해 공부하시면될듯해요
즉치: AC <- NBR
아래 jmp같은경우 오피코드 E9 오퍼랜드 상대 주소 적어야하는데요
E9 ((현재주소)-(목적 주소+5))
jmp 사용할때 상대주소 구하는 방법알려주는거같아요
아 현재 주소하고 목적주소 위치가 바뀌었네요;
질문 // near jmp opcode (E9) 뒤에 오는 operand는 jmp 명령어 다음 명령어로부터 목적지까지 몇 바이트나 더 skip 해야되는지 적는 거. 고로 32비트에선 near jmp operand가 4바이트니 near jml 명령어는 5바이트여서 target - (source + 5) 이런 공식이 나오고,
쟤처럼 16비트 어셈인 경우는 near jmp가 2바이트 operand를 가디므로 near jmp 명령어 크기는 3바이트임. 따라서 target - (source + 3)
오타 수정. near jml > near jmp, 가디므로 > 가지므로
그리고 near 말고 short jmp도 점프 명령어 다음 명령어로부터의 skip 바이트 수를 signed로 1바이트를 operand로 가지고 있다. 따라서 -128~+127 범위를 커버 가능.