cmp dl,#EX_DL_MAG ! @@@possible boot command line (chain.S) 0xfe, magic number in dl????
요 부분을 제가 하기로 했었는데요~ 구글링을 하면 저번스터디모임때보다 좀 더 많은 자료를 찾을 수 있을 거라는 생각이 들어서 하기로 했던 거였는데.ㅠㅠ 아무리 찾아봐도 추가적인 자료를 찾을 수 없었습니다.
그래서 dl값이라도 확실히 무슨 값을 가지고 있는지라도 알아야 될 것 같아서 이리저리 방법을 찾아 보았습니다.
이수연님께서 힌트를 주셨구요 ㅎㅎ LILO를 한자씩 화면에 찍는 것을 응용하였습니다.
LILO찍기전에 캐리지 리턴을 하기 때문에 그것을 고쳐서
mov al,dh
call display
mov al,dl
call display
위와같이 수정하여 보았습니다. 문제는, al에는 아스키코드의 16진수 값이 들어가면 그에 해당하는 아스키코드를 인터럽트를 사용하여 화면상에 뿌려준다는 것이었습니다.-ㅁ-;; 뭔가 추가적으로 더 힌트를 주시긴 했는데 어째뜬, 제대로 문자가 나오지 않더군요. (컴파일도 되고 실제로 LILO가 돌아가더군요. 화면이 너무 빨리 전환되서 힘들긴 했지만 어쨌든 특수문자가 찍혔습니다. )
dh, dl이 갖는 값은 0x00 ~ 0xff 까지인데 모든 범위에 걸쳐 아스키코드값이 존재하질 않으니 어떻게 범위를 줄여야 할지 좀 더 생각해봐야 될것 같습니다.
두번째 문제는 같은 위치에 call display를 추가적으로 호출하면 컴파일 에러가 발생을 합니다..
때문에 원래 소스에서 LILO를 찍기 전 캐리지 리턴하는 부분만을 수정할수밖에 없었습니다.
두번째로, 인텔 아키텍쳐 메뉴얼에 부트로더로 제어가 넘어가기 전에 cpu가 레지스터값을 특정 값들로 초기화하는 값이 적혀있을거라는 이야기를 해주셨는데요. 이따가 한번 찾아보려고 합니다.
요 부분을 제가 하기로 했었는데요~ 구글링을 하면 저번스터디모임때보다 좀 더 많은 자료를 찾을 수 있을 거라는 생각이 들어서 하기로 했던 거였는데.ㅠㅠ 아무리 찾아봐도 추가적인 자료를 찾을 수 없었습니다.
그래서 dl값이라도 확실히 무슨 값을 가지고 있는지라도 알아야 될 것 같아서 이리저리 방법을 찾아 보았습니다.
이수연님께서 힌트를 주셨구요 ㅎㅎ LILO를 한자씩 화면에 찍는 것을 응용하였습니다.
LILO찍기전에 캐리지 리턴을 하기 때문에 그것을 고쳐서
mov al,dh
call display
mov al,dl
call display
위와같이 수정하여 보았습니다. 문제는, al에는 아스키코드의 16진수 값이 들어가면 그에 해당하는 아스키코드를 인터럽트를 사용하여 화면상에 뿌려준다는 것이었습니다.-ㅁ-;; 뭔가 추가적으로 더 힌트를 주시긴 했는데 어째뜬, 제대로 문자가 나오지 않더군요. (컴파일도 되고 실제로 LILO가 돌아가더군요. 화면이 너무 빨리 전환되서 힘들긴 했지만 어쨌든 특수문자가 찍혔습니다. )
dh, dl이 갖는 값은 0x00 ~ 0xff 까지인데 모든 범위에 걸쳐 아스키코드값이 존재하질 않으니 어떻게 범위를 줄여야 할지 좀 더 생각해봐야 될것 같습니다.
두번째 문제는 같은 위치에 call display를 추가적으로 호출하면 컴파일 에러가 발생을 합니다..
때문에 원래 소스에서 LILO를 찍기 전 캐리지 리턴하는 부분만을 수정할수밖에 없었습니다.
두번째로, 인텔 아키텍쳐 메뉴얼에 부트로더로 제어가 넘어가기 전에 cpu가 레지스터값을 특정 값들로 초기화하는 값이 적혀있을거라는 이야기를 해주셨는데요. 이따가 한번 찾아보려고 합니다.
댓글 0
.