masm lgdt..;; 아직도 해결을 못하네요
글쓴이: intmain1202 / 작성시간: 목, 2010/09/09 - 8:06오후
LGDT16 MACRO addr ; load from ds segment area
db 3eh
db 67h
db 0fh
db 01h
db 15h
dd addr
ENDM
nasm에선 lgdt라는 명령이 존재하지만 masm에선 명령이 존재하지않아서
기계어로 만들었다고합니다. 저위에 부분입니다.
x86 opcode and instruction 으로 찾아서 보니
lgdt라는곳에서
0F 01 2 02+ 0 LGDT GDTR Ms system Load Global Descriptor Table Register
이런 문구가나오더군요
nasm을 기계어로 변경하면 어짜피 기계어는 nasm이나 masm이나 똑같으니 디셈블리해서 알아봣더니
00000009 0F01168500 lgdt [0x85] 이런값이 나오더군요 0f01이 lgdt명령이 맞는것같은데... 나머지가 먼지를 모르겟네요..
위에보면 0fh 01h 가 나오는데 이게아닐까 싶은데요
그렇다면 그위에 3e와 67은 무엇을 뜻하는것일까요 찾아보면 3e는 ds인것같구요..
67은 뭘까요.. 마지막의 15h는 머고..
좀어렵네요 ;; 그냥 쓰면 되지만.. 좀정확하게 알고 쓰고싶어서 그렇답니다...ㅠㅠ;;
Forums:
댓글 달기