2012-10-31 2 views
-1

8086 어셈블리에 대한 과제가 있습니다. 숙제입니다. 화면에 BMP 이미지를 표시하고 ASCII 아트 파일처럼 BMP에서 ASCII 텍스트 파일을 만들어야합니다.8086 덮어 쓰기하지 않고 파일 쓰기

디스플레이 부분을 덮었으며 BMP를 ASCII로 "변환"했습니다. 그러나 BMP 파일의 픽셀 행 정보가 거꾸로되어 있다는 것을 알고 있듯이 파일의 맨 위 행이 마지막으로 기록됩니다.

.txt 파일을 만들 때 간단히 줄을 작성하고 파일의 시작 부분에 포인터를 반환 한 다음 다른 줄을 쓸 수 있다고 생각했습니다. 그러나 이제는 이전 행을 덮어 쓰는 것만으로도 한 줄짜리 텍스트 파일로 끝납니다.

그래서, 궁금한 점은 제 질문입니다.이 상황에 접근하는 방법에 대한 제안이 있습니까? 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다!

PD : 직접적인 해결책을 요구하지 않고 있습니다. 내가 알지 못하는 무언가 또는 도구가있을 수 있습니다.이 문제는 저를 도울 수 있습니다.

+1

연속적인 스트림으로 쓸 수있는 메서드에서 BMP를 구문 분석하기가 더 쉬울까요? 쓸데없는 글쓰기 트릭을 할 수 있다면 분명히 그것을 피하기 위해 더 나은 읽기를 할 수 있을까요? –

답변

1

텍스트 파일에 쉽게 삽입 할 수 없습니다.

그러나 글의 줄 수와 줄의 길이 (줄 바꿈 포함)를 알기 때문에 파일의 올바른 부분을 찾아서 거기에 글을 쓸 수 있습니다.

완전히 공백 (및 줄 바꿈)을 쓰는 것으로 시작하십시오. 그런 다음 텍스트의 각 스캔 라인에 대해 적절한 위치를 찾아 텍스트 한 줄을 출력하십시오.

또는 비트 맵 스캔 라인을 역순으로 읽습니다.

+0

오! 나는 당신이 의미하는 것을 본다 ... 파일은 일반적으로 320 * 200이고, 그래서 나는 320 * 200 + 200 배열 (새로운 라인을 위해 200 개 더)을 만들 필요가있다. 그리고 그 위치 위에 각 라인을 쓴다. 그게 네가 제안하는거야? – dhcarmona

+0

나는 너비가 80 줄인 이미지를 다운 샘플링 할 것이라고 생각했지만 ... 그래, 그게 내가 말하는거야. 대안으로 비트 맵에서 선을 역순으로 읽고 텍스트 파일을 위에서 아래로 작성하도록 제안했습니다. – paddy