[org 0] [bits 16] jmp 0x7c0:start start: mov ax,cs ;cs에는 0x7c0이 들어있다.
bios가 0x7c00으로 점프하는데 여기서 cs에 0x7c0이 들어있다고 하는데 cs값을 따로 초기화해주지 않아도 메모리의 처음 주소값으로 자동으로 초기화 되는것입니까?
자동으로 초기화 되는게 아니고 리얼모드의 far jmp가 실행되는 시퀀스중에 cs에 해당 주소를 넣는 부분이 있을 겁니다.
그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.
jmp CS:(IP or EIP)로 되더군요. 그러니까 Start: 구문 및에서 CS는 0x07c0으로 재초기화가 되어 있습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
자동으로 초기화 되는게 아니고리얼모드의 far jmp가 실행되는 시퀀
자동으로 초기화 되는게 아니고
리얼모드의 far jmp가 실행되는 시퀀스중에
cs에 해당 주소를 넣는 부분이 있을 겁니다.
그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.
nasm 에서 far jump는
jmp CS:(IP or EIP)로 되더군요.
그러니까 Start: 구문 및에서
CS는 0x07c0으로 재초기화가
되어 있습니다.
댓글 달기