Diễn Đàn Tin Học

Hiển thị kết quả từ 1 đến 4 / 4

Chủ đề: Hot Files to download

  1. #1
    Tham gia
    06-09-2002
    Location
    USA
    Bài viết
    113
    Like
    0
    Thanked 0 Times in 0 Posts

    Hot Files to download

    Hot Files ! Go here to download:

    http://www.programmersheaven.com/other/TopFiles.htm

    TC 201 Zip-1074 Kb Turbo C v2.01 by Borland !!
    Complete version of the C compiler, now free from Borland.
    TP55.ZIP
    962 Kb Turbo Pascal v5.5 by Borland !!
    Complete version of the Pascal compiler, now free from Borland.
    DEVCPP40.ZIP
    7996 Kb Windows Development toolkit 4.0
    Dev-C++ is a full-featured integrated development environment (IDE), which is able to create Windows or console-based C/C++ programs using the Mingw compiler system (version MSCVRT 2.95.2-1 included with this package), or the Cygwin compiler. It can also handle the Insight Debugger, which you ca...
    0938.ZIP
    138 Kb ASSEMBLY language tools collection containing
    Assembly language reference guide,symbolic debugger, Interactive 8086 Disassembler,
    CPROG.ZIP
    3 Kb C programming for the complete newbie
    This is a UNIX formated textfile , so it can look like a mess in some editors.
    BEGINCPP.ZIP
    18 Kb Some Introductory C++ Code Examples
    These are a couple of entry-level C++ programs I wrote when I learned to program in C++.
    UPACK01.ZIP
    41 Kb Utillity Pack v1.0
    Tons Of UseFull Stuff..! All Sources Included! (C/Asm) (Scrolling, Compression, Conversion, renaming files...)
    FFE200.ZIP
    1917 Kb File Formats Encyclopedia v2.0
    A MUST HAVE for professional programmers! Over 300 formats layouts including: graphics, sound, animation, mods, database, text, executables, communication and much more!
    WHATOOP.PDF
    82 Kb What is ``Object-Oriented Programming''?
    (.PDF file)
    INTER.ZIP
    153 Kb TCP/IP internet programming examples

    C_START.ZIP
    9 Kb How to begin programming in C/C++

    TRACE41.ZIP
    13 Kb TRACE 4.1, Disassembler, Debugger, Tracer
    This software offers to programmers the entire knowledge to program a PC, to find out what is it hidden behind interrupt number 10h (video) for instance but also to find out the secret of the hardware interrupt, and hence, to discover the undocumented DOS and BIOS. TRACE 4.1 is the ideal companion o...
    CPPCOM.ZIP
    23 Kb C++ sources for ****** communication

    FTPDEMO.ZIP
    49 Kb FTP Client in VBasic with source

    PTR_HELP.ZIP
    14 Kb Understanding pointers (for beginners)

    FAKECD.ZIP
    8 Kb Fake CD
    fakecd is a program that simulates a CD-ROM drive with a directory of a hard drive. Its intended purpose is to allow running of CD-based software entirely from a hard drive.
    ALAB13B1.ZIP
    314 Kb Assembler Laboratory V1.3 Beta 1
    A very good assembler and Watcom C IDE with a lot of very useful features. Now with full Watcom C/C++ support! Pentium Instruction Scheduler (pipelining info,AGI's,clock cycle info, FPU overlap), Files up to 64Mb, label jumps, syntax(Asm/C) & error highlighting, proc, macro & data browsers, proj...
    PORT11.ZIP
    27 Kb I/O port debugging tool, with C source code
    PORT is a tool written to facilitate working with I/O ports on the PC or Intel processor-based hardware. It has many uses.
    PASBOOK.ZIP
    249 Kb Turbo pascal reference a free book
    Welcome to the Turbo Pascal Reference, an electronic freeware book. This reference book is divided into ten chapters, providing detailed reference information to Turbo Pascal 6.0, Turbo Pascal 7.0, Borland Pascal, and Turbo Vision. Chapter 1 contains information about this book, why it was created, ...
    C-TRICKS.ZIP
    121 Kb C and C++ language tricks for TURBO C..

    IRC-CODE.ZIP
    79 Kb How to writing an IRC client in Visual Basic

    ASMCOL1.ZIP
    766 Kb ASSEMBLY COLLECTION volume 1
    ASM Libraries, Snipets & Source Compilation! includes routines for: Advanced graphics for HGA, CGA, EGA, VGA, SVGA, Xmode, etc., FAST disk I/O, easy keyboard/screen I/O, EMS/XMS/ VMS, accessing, system info, advanced math, complex data types, pull down menu's, popup windows, buffered file I/O, mouse...
    COMMDEMO.ZIP
    45 Kb ****** Communication programming examples in Windows

    ASYCNCH.ZIP
    8 Kb ****** Port Driver And Source Code
    A simple, low-level, interrupt driven comm driver for Turbo/Borland C. No assembly required!
    VASM.ZIP
    1953 Kb Visual Assembler 0.5012a
    A 32-bit, Win32 visual assembler IDE that works with MASM, TASM, NASM. Complete assembler syntax editor and highlighter, Win32 API tooltip help as you type, unlimited file sizes for all projects and groups, super fast editor, project manager, compiler/linker output, object inspector, function li...
    Quote Quote

  2. #2
    Tham gia
    19-12-2002
    Location
    Ho Chi Minh
    Bài viết
    252
    Like
    0
    Thanked 0 Times in 0 Posts
    bạn có mã nguồn về int 13h kg?

  3. #3
    Tham gia
    06-09-2002
    Location
    USA
    Bài viết
    113
    Like
    0
    Thanked 0 Times in 0 Posts

    Int 13h

    Ban có thể tham khảo tại các links sau đây :
    http://www.powernet.co.za/info/BIOS/Int/Int13/00.htm
    http://www.pcguide.com/ref/hdd/bios/...ensions-c.html
    Vào đây download Zip file về nghiên cứu ứng dụng mã nguồn của nó nha :
    http://www.tavi.co.uk/os2pages/extdisk.html
    Vào đây tìm hiểu về Int 13 H nha , Web này rất nổi tiếng có trên 4 triệu người vào xem
    http://www.clipx.net/ nhưng sợ bạn không tím ra nên tôi ghi ra cái link này trực tiếp vào data base của nó http://www.clipx.net/ng/asm/ng8002f.php
    Nếu bị lỗi khi set up Int 13 H bạn có thể vào tạm site này để tìm hiểu :
    http://www.powerquest.com/support/primus/id186.cfm
    Nếu muốn tìm hiều vế cách convert đảo ngược trị số Drive letter sang MS Dos Int 13 H drive number thì nghiên cứu trang Web base của MS
    http://support.microsoft.com/default...B;en-us;q62571
    Vào đây để xem code của nó :
    http://support.microsoft.com/default...;en-us;q137176
    Hoặc xem tại đây:
    Code Sample
    //--------------------------------------------------------------------
    // Code in the 32-bit DLL

    // Prototype for function in 16-bit DLL.
    BOOL FAR PASCAL ReadPhysicalSector1 (BYTE bDrive,
    LPBYTE lpBuffer,
    DWORD cbBuffSize);

    /*--------------------------------------------------------------------
    CallReadPhysicalSector1()

    Reads the first sector of the first hard disk.

    Return Value
    Returns TRUE if the first sector was read, and FALSE if it
    wasn't.
    --------------------------------------------------------------------*/
    __declspec(dllexport) BOOL WINAPI CallReadPhysicalSector1()
    {
    char lpBuff[512];
    BOOL fResult;

    // Read the first sector of the first hard disk.
    fResult = ReadPhysicalSector1 (0x80, lpBuff, 512);

    if (fResult)
    {
    // lpBuff contains the sector data. Use it here
    }

    return fResult;
    }


    //--------------------------------------------------------------------
    // Thunk Script

    enablemapdirect3216 = true;

    typedef unsigned long DWORD;
    typedef unsigned char BYTE, * LPBYTE;
    typedef bool BOOL;

    BOOL ReadPhysicalSector1 (BYTE bDrive,
    LPBYTE lpBuffer,
    DWORD cbBuffSize)
    {
    lpBuffer = inout;
    }


    //--------------------------------------------------------------------
    // Code in the 16-bit DLL

    // Converts two BYTEs into a WORD. This is useful for working with
    // a RMCS, but was not provided in WINDOWS.H.

    //#define MAKEWORD(low, high) \
    ((WORD)((((WORD)(high)) << 8) | ((BYTE)(low))))

    #define SECTOR_SIZE 512 // Size, in bytes, of a disk sector
    #define CARRY_FLAG 0x0001

    typedef BYTE FAR *LPBYTE;

    typedef struct tagRMCS
    {
    DWORD edi, esi, ebp, RESERVED, ebx, edx, ecx, eax;
    WORD wFlags, es, ds, fs, gs, ip, cs, sp, ss;
    } RMCS, FAR* LPRMCS;

    BOOL FAR PASCAL SimulateRM_Int (BYTE bIntNum, LPRMCS lpCallStruct);
    void FAR PASCAL BuildRMCS (LPRMCS lpCallStruct);
    BOOL FAR PASCAL __export ReadPhysicalSector1 (BYTE bDrive,
    LPBYTE lpBuffer,
    DWORD cbBuffSize);

    /*--------------------------------------------------------------------
    ReadPhysicalSector1()

    Calls DPMI to call the BIOS Int 13h Read Track function to read the
    first physical sector of a physical drive. This function is used to
    read partition tables, for example.

    Parameters
    bDrive
    The Int 13h device unit,
    0x00 for floppy drive 0
    0x00 for floppy drive 1
    0x80 for physical hard disk 0
    0x81 for physical hard disk 1
    etc.

    lpBuffer
    Pointer to a buffer that receives the sector data. The buffer
    must be at least SECTOR_SIZE bytes long.

    cbBuffSize
    Actual size of lpBuffer.

    Return Value
    Returns TRUE if the first sector was read into the buffer pointed
    to by lpBuffer, or FALSE otherwise.

    Assumptions
    Assumes that sectors are at least SECTOR_SIZE bytes long.
    --------------------------------------------------------------------*/

    BOOL FAR PASCAL __export ReadPhysicalSector1 (BYTE bDrive,
    LPBYTE lpBuffer,
    DWORD cbBuffSize)
    {
    BOOL fResult;
    RMCS callStruct;
    DWORD gdaBuffer; // Return value of GlobalDosAlloc().
    LPBYTE RMlpBuffer; // Real-mode buffer pointer
    LPBYTE PMlpBuffer; // Protected-mode buffer pointer

    /*
    Validate params:
    bDrive should be int 13h device unit -- let the BIOS validate
    this parameter -- user could have a special controller with
    its own BIOS.
    lpBuffer must not be NULL
    cbBuffSize must be large enough to hold a single sector
    */

    if (lpBuffer == NULL || cbBuffSize < SECTOR_SIZE)
    return FALSE;

    /*
    Allocate the buffer that the Int 13h function will put the sector
    data into. As this function uses DPMI to call the real-mode BIOS, it
    must allocate the buffer below 1 MB, and must use a real-mode
    paragraph-segment address.

    After the memory has been allocated, create real-mode and
    protected-mode pointers to the buffer. The real-mode pointer
    will be used by the BIOS, and the protected-mode pointer will be
    used by this function because it resides in a Windows 16-bit DLL,
    which runs in protected mode.
    */

    gdaBuffer = GlobalDosAlloc (cbBuffSize);

    if (!gdaBuffer)
    return FALSE;

    RMlpBuffer = (LPBYTE)MAKELONG(0, HIWORD(gdaBuffer));
    PMlpBuffer = (LPBYTE)MAKELONG(0, LOWORD(gdaBuffer));

    /*
    Initialize the real-mode call structure and set all values needed
    to read the first sector of the specified physical drive.
    */

    BuildRMCS (&callStruct);

    callStruct.eax = 0x0201; // BIOS read, 1 sector
    callStruct.ecx = 0x0001; // Sector 1, Cylinder 0
    callStruct.edx = MAKEWORD(bDrive, 0); // Head 0, Drive #
    callStruct.ebx = LOWORD(RMlpBuffer); // Offset of sector buffer
    callStruct.es = HIWORD(RMlpBuffer); // Segment of sector buffer

    /*
    Call Int 13h BIOS Read Track and check both the DPMI call
    itself and the BIOS Read Track function result for success. If
    successful, copy the sector data retrieved by the BIOS into the
    caller's buffer.
    */

    if (fResult = SimulateRM_Int (0x13, &callStruct))
    if (!(callStruct.wFlags & CARRY_FLAG))
    {
    _fmemcpy (lpBuffer, PMlpBuffer, (size_t)cbBuffSize);
    fResult = TRUE;
    }
    else
    fResult = FALSE;

    // Free the sector data buffer this function allocated
    GlobalDosFree (LOWORD(gdaBuffer));

    return fResult;
    }


    /*--------------------------------------------------------------------
    SimulateRM_Int()

    Allows protected mode software to execute real mode interrupts such
    as calls to DOS TSRs, DOS device drivers, etc.

    This function implements the "Simulate Real Mode Interrupt" function
    of the DPMI specification v0.9.

    Parameters
    bIntNum
    Number of the interrupt to simulate

    lpCallStruct
    Call structure that contains params (register values) for
    bIntNum.

    Return Value
    SimulateRM_Int returns TRUE if it succeeded or FALSE if it
    failed.

    Comments
    lpCallStruct is a protected-mode selector:offset address, not a
    real-mode segment:offset address.
    --------------------------------------------------------------------*/

    BOOL FAR PASCAL SimulateRM_Int (BYTE bIntNum, LPRMCS lpCallStruct)
    {
    BOOL fRetVal = FALSE; // Assume failure

    _asm {
    push di

    mov ax, 0300h ; DPMI Simulate Real Mode Int
    mov bl, bIntNum ; Number of the interrupt to simulate
    mov bh, 01h ; Bit 0 = 1; all other bits must be 0
    xor cx, cx ; No words to copy
    les di, lpCallStruct
    int 31h ; Call DPMI
    jc END1 ; CF set if error occurred
    mov fRetVal, TRUE
    END1:
    pop di
    }
    return (fRetVal);
    }

    /*--------------------------------------------------------------------
    BuildRMCS()

    Initializes a real mode call structure to contain zeros in all its
    members.

    Parameters:
    lpCallStruct
    Points to a real mode call structure

    Comments:
    lpCallStruct is a protected-mode selector:offset address, not a
    real-mode segment:offset address.
    --------------------------------------------------------------------*/

    void FAR PASCAL BuildRMCS (LPRMCS lpCallStruct)
    {
    _fmemset (lpCallStruct, 0, sizeof (RMCS));
    }

    Chúc thành công !
    Saigon 75
    Phụ chú : Nếu bạn đụng vào BIOS data thì nên BACK UP tất cả trước khi làm những sự thay đổi !

  4. #4
    Tham gia
    08-10-2007
    Bài viết
    5
    Like
    0
    Thanked 0 Times in 0 Posts
    Ai có sách về Cấu trúc dữ liệu lập trình trên C++ không ?
    Có làm ơn gửi em cái link
    em cảm ơn

Bookmarks

Quy định

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •