This thesis contains program coding module for generation logics test by Boolean gap
Delphi & Pascal (česká wiki)
Category: Programs in C, C++
Program: Prac_ndf.c, Booldif.zip
File exe: Booldif.exe
need: Adresar.c, Color.c, Derivac.c, Error.c, Funkcie.c, Help.c, Key.c, Line_edi.c, Main.c, Menu.c, Obsluha.c, Okno.c, Prac_ndf.c, Slovnik.c, Slov_fon.c, Statist.c, Util.c, Video.c, Vystupy.c, Adresar.h, Color.h, Define.h, Error.h, Funkcie.h, Glob.h, Key.h, Line_edi.h, Mbooldif.h, Menu.h, Okno.h, Slov_fon.h, Util.h, Video.h
Example: Example.zip, Bin_10_o.ndf, Bin_10_o.ndf, Bin_1and.ndf, Bin_2rad.ndf, Bin_3rad.ndf, Bin_4rad.ndf, Hard.ndf, I_reg_lo.ndf, Reg_jk.ndf, Scitac_s.ndf, Scp_1rad.ndf, Scp_2rad.ndf, Scp_2r_1.ndf, Scp_3rad.ndf, Scp_4r_2.ndf, Scp_6r_3.ndf, Scp_8r_4.ndf, Sc_1r_pj.ndf, Sc_1r_sj.ndf, Sc_1_aoi.ndf, Sc_2r_4.ndf, Sc_3r_6.ndf, Sc_7400n.ndf, Sc_aon.ndf, Simp3_a.ndf, Simp3_b.ndf, Simp4_a.ndf, Simp4_b.ndf, Simp4_c.ndf, Simp6_a.ndf, Test_vod.ndf, Zle.ndf
Manual: Prirucky.zip
Program: Prac_ndf.c, Booldif.zip
File exe: Booldif.exe
need: Adresar.c, Color.c, Derivac.c, Error.c, Funkcie.c, Help.c, Key.c, Line_edi.c, Main.c, Menu.c, Obsluha.c, Okno.c, Prac_ndf.c, Slovnik.c, Slov_fon.c, Statist.c, Util.c, Video.c, Vystupy.c, Adresar.h, Color.h, Define.h, Error.h, Funkcie.h, Glob.h, Key.h, Line_edi.h, Mbooldif.h, Menu.h, Okno.h, Slov_fon.h, Util.h, Video.h
Example: Example.zip, Bin_10_o.ndf, Bin_10_o.ndf, Bin_1and.ndf, Bin_2rad.ndf, Bin_3rad.ndf, Bin_4rad.ndf, Hard.ndf, I_reg_lo.ndf, Reg_jk.ndf, Scitac_s.ndf, Scp_1rad.ndf, Scp_2rad.ndf, Scp_2r_1.ndf, Scp_3rad.ndf, Scp_4r_2.ndf, Scp_6r_3.ndf, Scp_8r_4.ndf, Sc_1r_pj.ndf, Sc_1r_sj.ndf, Sc_1_aoi.ndf, Sc_2r_4.ndf, Sc_3r_6.ndf, Sc_7400n.ndf, Sc_aon.ndf, Simp3_a.ndf, Simp3_b.ndf, Simp4_a.ndf, Simp4_b.ndf, Simp4_c.ndf, Simp6_a.ndf, Test_vod.ndf, Zle.ndf
Manual: Prirucky.zip
This thesis contains program coding module for generation logics test by Boolean gap. Compile vector of fault for existent circuit, forth about all boughs herself chauffeur. Results is absolute gauge. Program application enables four modes It is implemented in the C programming language for the operating system MS-DOS, or another compatible with it. The program is suitable for an interactive way to communicate with the user, allowing a comfortable working environment are similar to Turbo Vision.
/***************************************************************************** * * * Subor VIDEO.C * * * *****************************************************************************/ #include <dos.h> #include "glob.h" #include "video.h" #include "slov_fon.h" //************************************************************************// // VYPLN_OKNO // // 30.10.1997 // //************************************************************************// void vypln_okno(int lavy,int horny,int pravy,int dolny,char znak,unsigned char attr) { asm push es _ES=VIDEOSEGMENT; _CH=dolny-horny+1; _BX=2*(_stlpcov*horny+lavy); _DX=2*(_stlpcov-pravy+lavy); n0: _CL=pravy-lavy; _AL=znak; _AH=attr; n1: asm { mov es:[bx],al inc bx mov es:[bx],ah inc bx dec cl jnz n1 add bx,dx dec ch jnz n0 pop es } } //************************************************************************// // TLAC_RETAZEC // // 30.10.1997 // //************************************************************************// int tlac_retazec(unsigned int stlpec,unsigned int riadok,unsigned int attr,char *ret) { if(stlpec>=_stlpcov || riadok>=_riadkov)return FALSE; asm push es; asm push ds; _ES=VIDEOSEGMENT; _BX=(_stlpcov*riadok+stlpec)*2; _CX=_stlpcov-stlpec; _DL=attr; _SI=FP_OFF(ret); _DS=FP_SEG(ret); n1: asm mov al,ds:[si] asm cmp al,0 asm jz n2 asm inc si asm mov es:[bx],al asm inc bx asm mov es:[bx],dl asm inc bx asm loop n1 asm pop ds asm pop es return FALSE; n2: asm pop ds asm pop es return TRUE; } //************************************************************************// // TLAC_ZNAK // // 30.10.1997 // //************************************************************************// int tlac_znak(unsigned int stlpec,unsigned int riadok,unsigned int attr,char znak) { unsigned int adr; if(stlpec>=_stlpcov || riadok>=_riadkov)return FALSE; adr=(_stlpcov*riadok+stlpec)*2; pokeb(VIDEOSEGMENT,adr,znak); adr++; pokeb(VIDEOSEGMENT,adr,attr); return TRUE; } //************************************************************************// // NASTAV_ATRIBUT // // 30.10.1997 // //************************************************************************// int nastav_atribut(unsigned int stlpec,unsigned int riadok,unsigned int attr) { unsigned int adr; if(stlpec>=_stlpcov || riadok>=_riadkov)return FALSE; adr=(_stlpcov*riadok+stlpec)*2+1; pokeb(VIDEOSEGMENT,adr,attr); return TRUE; } //************************************************************************// // TLAC_DO_KONCA_RIADKU // // 30.10.1997 // //************************************************************************// void tlac_do_konca_riadku(unsigned int stlpec,unsigned int riadok,unsigned int attr,char znak) //Tu sa da pouzit clroel() !!! { if(stlpec>=_stlpcov || riadok>=_riadkov)return; asm push es; _ES=VIDEOSEGMENT; _BX=(_stlpcov*riadok+stlpec)*2; _CX=_stlpcov-stlpec; _DL=attr; _DH=znak; n1: asm mov es:[bx],dh asm inc bx asm mov es:[bx],dl asm inc bx asm loop n1 n2: asm pop es return; } //************************************************************************// // VYPNI_KURZOR // // 30.10.1997 // //************************************************************************// void vypni_kurzor(void) { _CH=0x20; _AH=0x01; geninterrupt(VIDEOINTERRUPT); } //************************************************************************// // ZAPNI_KURZOR // // 30.10.1997 // //************************************************************************// void zapni_kurzor(void) { _CH=0x06; _CL=0x07; _AH=0x01; geninterrupt(VIDEOINTERRUPT); } //************************************************************************// // PRESUN_KURZOR // // 30.10.1997 // //************************************************************************// void presun_kurzor(int x,int y) { _BH=0; _DH=y; _DL=x; _AH=0x02; geninterrupt(VIDEOINTERRUPT); } int m8025( void ) // video mod 80 na 25 { Video_mod=M80x25; nastav_video_mod(Video_mod); // inic_obrazovku(); return(0); } //************************************************************************// // INIC_OBRAZOVKU // // 30.10.1997 // //************************************************************************// void inic_obrazovku(void) { nastav_video_mod(Video_mod); switch(Video_mod) { case M80x25: case M80x30: case M132x25: case M132x30: slov_font(); } vypln_okno(0,0,_stlpcov,1,' ',atributy[1]); vypln_okno(0,_riadkov-2,_stlpcov,_riadkov-1,' ',atributy[1]); vypln_okno(0,1,_stlpcov,_riadkov-2,'°',atributy[0]); } /*---------------------------------END--------------------------------------*/