이것은 우측상단 모퉁이에 특정 문자열을 계속 유지하여 표시하는
작은 램상주 프로그램입니다.

개발환경은 DOS의 TURBO-C v2.0 또는 Borland-C v3.x 입니다.

Interrupt vector 0x1c(Timer) 를 가로채어 주기적으로 화면에 표시하며
램에 상주시키기 위해서 keep function 으로 해당 Vector function 영역을 reserve 시키는 것이 이 소스의 구성입니다.

코드:
#include<dos.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>

#define INTERRUPT  0x1C

void interrupt far (*old_handler)(void);
void interrupt Interrupt(void);
void PutLogoDisplay(void);

char logomunja[80];
char munjax;
char count;

void main(char argc,char *argv[])
{
 if(argc>1)
 {
  strcpy(logomunja,"[ ");
  strcat(logomunja,argv[1]);
  strcat(logomunja," ]");
 }
 else strcpy(logomunja,"[ code by minzkn ]");
 munjax=80-strlen(logomunja);
 old_handler=getvect(INTERRUPT);
 setvect(INTERRUPT,Interrupt);
 keep(NULL,_SS+(_SP/16)-_psp);
}

void interrupt Interrupt(void)
{
  old_handler();
  PutLogoDisplay();
}

void PutLogoDisplay(void)
{
 long xcount=(long)munjax;
 count=NULL;
 while(count<strlen(logomunja))
 {
   *((unsigned char far *)0xB8000000L+(xcount*2L)  )=logomunja[count++];
   *((unsigned char far *)0xB8000000L+(xcount*2L)+1L)=YELLOW+(BLUE*0x10);
   xcount++;
 }
}

크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
修身齊家治國平天下 (수신제가치국평천하)
匠人精神 (장인정신)
도구의 결함은 장인의 손으로 극복한다.
창조는 지식보다 위대하다.
2007/06/02 00:31 2007/06/02 00:31
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.minzkn.com/rss/response/166

댓글+트랙백 ATOM :: http://blog.minzkn.com/atom/response/166

트랙백 주소 :: http://blog.minzkn.com/trackback/166

트랙백 RSS :: http://blog.minzkn.com/rss/trackback/166

트랙백 ATOM :: http://blog.minzkn.com/atom/trackback/166

댓글을 달아 주세요

댓글 RSS 주소 : http://blog.minzkn.com/rss/comment/166
댓글 ATOM 주소 : http://blog.minzkn.com/atom/comment/166
[로그인][오픈아이디란?]