2018. 3. 16. 08:24

도스파일 ASM 읽어서 출력 하기.

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요.

이거는 2016년도 12월쯤 테스트 진행 하면서 했던건데요.

같이 몰아서 올려 놓습니다.

 

예전에 Windows 3.1 시절 항상 Press Any Key… 이런 식의 메시지가 먼저 나옵니다.

그당시 윈도우 실행 파일은 win.com 으로 생각이 나네요.

그리고 com 확장자의 스펙은 그냥 바로 실행되는 ASM 으로만 가득차 있는 형태 입니다.

 

ASM의 OPCODE를 보다 보면 화면에 출력하는 인터럽트가 몇개 있습니다.

 

그중 일부를 DOSBOX의 코드에서 CONSOLE로 찍는 형태의 함수를 집어 넣어봤고,

 

의외로 실행이 되었기에 이렇게 적어 둡니다.

 

위의 hi.exe 파일은 Turbo C로 작성이 되었는지, COM으로 작성되었나가물 가물한데요.

 

AH,DX 레지스터에 특정 값 & 주소 값을 넣어 두고 INT 21을 호출하여 화면에 출력 하는 로직입니다.

 

그리고 DOSBox의 레지스터 별 처리 하는 로직에 해당 코드를 삽입하여 디버그 형태의 코드가 출력된 것입니다.

image

아래는 해당 코드 실행시 CONSOLE에 찍은 해당 내용입니다.

 

image

이렇게 결과가 출력됩니다.

 

위의 케이스를 잘 활용 하게 되면 CPU에 기록되는 모든 연산을 볼수 있습니다.

 

감사 합니다.