Thread: Borland C++ 2.0 Manuals (Thousands of Pages) Review

  1. #1
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135

    Borland C++ 2.0 Manuals (Thousands of Pages) Review

    You know Borland C++ 2.0 bundle comes with a C++ compiler, an assembler for machine language, a debugger for looking at machine codes, and also a profiler for looking at bottlenecks in performances in eleven 3.5-inch diskettes plus thousands of pages of notes on how to use them all. I have to say Borland is one of the easiest manuals to follow however you have to put in a tremendous amount of work in learning efforts. I remember reading another Borland manuals years ago and I spent hours a day sponging up the materials. However you have to put in the efforts too. You can't just read and have it sink in. You have to actually sit down by your computer and try out the examples. Reading through one of the chapters makes me fall asleep. However when I try to accomplish a task it makes time goes by so much faster. One problem took 5 hours yet seems like it was just minutes ago. Learning how to compile and actually make it work is the hardest part. However one thing I have against Borland is that it doesn't have a supplementing Windows section. Apparently Borland likes to just show that it can program in Microsoft Windows however the resources for that are from Microsoft. So to avoid copyright infringement Borland doesn't step over their boundaries. All and all I'd give it 100% for C++ material. However Windows materials is better left for Microsoft documentations elsewhere. It just contains the barest minimum to show it is possible to produce a 32-bit Windows program however it doesn't go into detail and explicitly states you need information from Microsoft to do the Windows programming. For instance all the Headers and such are proprietary to Microsoft when concerning Windows programming. It only touches briefly and shows 1 brief example. A fun trivia is that if I vaguely recall correctly the originator of C++ was quotes in one of the thick books. I remember he says something along the fact of modules or something rather and joking how much he thinks C++ is better.

    Now on the 16-bit side. It allows backward compatibility with MS-DOS architeture. You can do assembly language along side C++. It also allows backwards compatibility to many instances with C too. So Borland C++ 2.0 "bundle" if you can find it is worth the money.

  2. #2
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,981
    >> So Borland C++ 2.0 "bundle" if you can find it is worth the money.
    If you are a museum curator - perhaps...

    If you are a developer - far, far, far superior solutions exist :
    Overview of Visual Studio 2015 Products
    Code::Blocks

    gg

  3. #3
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135
    Simple File Sharing and Storage.

    If you ever want to see my programming book collections....................................... .................................................. or so.

  4. #4

  5. #5
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135
    If I didn't have a need I would donate it, but I still can do algebra on it like this: OUTPUT58 ... Besides if I donate it I wouldn't have anything left to program. I'm too old to learn something new much more. I'm lucky if I get a page read a day. So the oldies seems to be a part of me since I'm an older crowd too.

  6. #6
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,981
    No is going to download your EXE, much less run it. Post the source code here if you want to show something.

    gg

  7. #7
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135
    Quote Originally Posted by Codeplug View Post
    No is going to download your EXE, much less run it. Post the source code here if you want to show something.

    gg
    File ASM.ASM:
    Code:
    p8086
    model small
    dataseg
    xposAH DB 0
    xposAL DB 0
    yposAH DB 0
    yposAL DB 0
    cpos DB 0
    udataseg
    codeseg
    startupcode
    
    PUBLIC _plotdot
    
    _plotdot PROC
    mov cx, 1
    mov dx, 1
    mov ah, 0dh
    int 10h
    mov ah, 0
    mov xposAL, al
    
    mov cx, 2
    mov dx, 1
    mov ah, 0dh
    int 10h
    mov ah, 0
    mov xposAH, al
    
    mov cx, 1
    mov dx, 2
    mov ah, 0dh
    int 10h
    mov ah, 0
    mov yposAL, al
    
    mov cx, 2
    mov dx, 2
    mov ah, 0dh
    int 10h
    mov ah, 0
    mov yposAH, al
    
    mov cx, 1
    mov dx, 3
    mov ah, 0dh
    int 10h
    mov ah, 0
    mov cpos, al
    
    mov ah, 0ch
    mov cl, xposAL
    mov ch, xposAH
    mov dl, yposAL
    mov dh, yposAH
    int 10h
    
    ret
    _plotdot ENDP
    
    end
    FILE: ccallasm.asm
    Code:
        ifndef    ??version
    ?debug    macro
        endm
        endif
        ?debug    S "ccallasm.c"
    _TEXT    segment    byte public 'CODE'
    DGROUP    group    _DATA,_BSS
        assume    cs:_TEXT,ds:DGROUP,ss:DGROUP
    _TEXT    ends
    _DATA    segment word public 'DATA'
    d@    label    byte
    d@w    label    word
    _DATA    ends
    _BSS    segment word public 'BSS'
    b@    label    byte
    b@w    label    word
        ?debug    C E97D66DE480A6363616C6C61736D2E63
        ?debug    C E9D0B06A4811633A5C494E434C5544455C6D6174682E68
        ?debug    C E9D1B06A4813633A5C494E434C5544455C7374646C69622E68
        ?debug    C E9D1B06A4812633A5C494E434C5544455C737464696F2E68
        ?debug    C E9D1B06A4813633A5C494E434C5544455C7374646172672E68
        ?debug    C E9D0B06A4812633A5C494E434C5544455C636F6E696F2E68
    _BSS    ends
    _DATA    segment word public 'DATA'
    _DATA    ends
    _TEXT    segment    byte public 'CODE'
    ;    ?debug    L 12
    _intro    proc    near
        push    bp
        mov    bp,sp
        sub    sp,4
    ;    ?debug    L 15
        mov    ax,offset DGROUP:s@
        push    ax
        call    near ptr _system
        pop    cx
    ;    ?debug    L 16
        mov    ax,offset DGROUP:s@+4
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 17
        mov    ax,offset DGROUP:s@+32
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 18
        mov    ax,offset DGROUP:s@+57
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 19
        mov    ax,offset DGROUP:s@+60
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 20
        mov    ax,offset DGROUP:s@+103
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 21
        mov    ax,offset DGROUP:s@+126
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 22
        mov    ax,offset DGROUP:s@+170
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 23
        mov    ax,offset DGROUP:s@+209
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 24
        lea    ax,word ptr [bp-4]
        push    ax
        mov    ax,offset DGROUP:s@+222
        push    ax
        call    near ptr _scanf
        pop    cx
        pop    cx
    ;    ?debug    L 25
        cmp    word ptr [bp-2],15258
        jb    @2
        ja    @3
        cmp    word ptr [bp-4],-13824
        jbe    @2
    @3:
    ;    ?debug    L 27
        mov    word ptr [bp-2],15258
        mov    word ptr [bp-4],-13824
    @2:
    ;    ?debug    L 29
        mov    dx,word ptr [bp-2]
        mov    ax,word ptr [bp-4]
        jmp    short @1
    @1:
    ;    ?debug    L 30
        mov    sp,bp
        pop    bp
        ret    
    _intro    endp
    ;    ?debug    L 32
    _pause    proc    near
        push    bp
        mov    bp,sp
        sub    sp,4
    ;    ?debug    L 36
        mov    word ptr [bp-2],0
        mov    word ptr [bp-4],0
        jmp    short @8
    @7:
    ;    ?debug    L 38
        add    word ptr [bp-4],1
        adc    word ptr [bp-2],0
    ;    ?debug    L 39
        sub    word ptr [bp-4],1
        sbb    word ptr [bp-2],0
    @6:
        add    word ptr [bp-4],1
        adc    word ptr [bp-2],0
    @8:
        mov    dx,word ptr [bp-2]
        mov    ax,word ptr [bp-4]
        cmp    dx,word ptr [bp+6]
        jb    @7
        jne    @9
        cmp    ax,word ptr [bp+4]
        jb    @7
    @9:
    @5:
    @4:
    ;    ?debug    L 42
        mov    sp,bp
        pop    bp
        ret    
    _pause    endp
    ;    ?debug    L 44
    _plotcircle    proc    near
        push    bp
        mov    bp,sp
        sub    sp,54
        push    si
    ;    ?debug    L 50
        mov    word ptr [bp-42],16393
        mov    word ptr [bp-44],7864
        mov    word ptr [bp-46],20971
        mov    word ptr [bp-48],-31457
    ;    ?debug    L 51
        FLD    qword ptr DGROUP:s@+226
        FMUL    qword ptr [bp-48]
        FSTP    qword ptr [bp-40]
        FWAIT    
    ;    ?debug    L 52
        FLD    qword ptr [bp-40]
        FDIV    qword ptr DGROUP:s@+234
        FSTP    qword ptr [bp-8]
        FWAIT    
    ;    ?debug    L 54
        mov    word ptr [bp-18],16483
        mov    word ptr [bp-20],24576
        mov    word ptr [bp-22],0
        mov    word ptr [bp-24],0
    ;    ?debug    L 55
        mov    word ptr [bp-10],16473
        mov    word ptr [bp-12],0
        mov    word ptr [bp-14],0
        mov    word ptr [bp-16],0
    ;    ?debug    L 56
        mov    si,80
    ;    ?debug    L 58
        mov    word ptr [bp-50],1
    ;    ?debug    L 60
        mov    word ptr [bp-26],0
        mov    word ptr [bp-28],0
        mov    word ptr [bp-30],0
        mov    word ptr [bp-32],0
        jmp    @14
    @13:
    ;    ?debug    L 62
        push    word ptr [bp+6]
        push    word ptr [bp+4]
        call    near ptr _pause
        pop    cx
        pop    cx
    ;    ?debug    L 64
        push    word ptr [bp-26]
        push    word ptr [bp-28]
        push    word ptr [bp-30]
        push    word ptr [bp-32]
        call    near ptr _cos
        add    sp,8
        mov    ax,si
        cwd    
        push    dx
        push    ax
        FILD    dword ptr [bp-60]
        FWAIT    
        add    sp,4
        FMUL    
        FADD    qword ptr [bp-24]
        call    far ptr FTOL@
        mov    word ptr [bp-54],ax
    ;    ?debug    L 65
        push    word ptr [bp-26]
        push    word ptr [bp-28]
        push    word ptr [bp-30]
        push    word ptr [bp-32]
        call    near ptr _sin
        add    sp,8
        mov    ax,si
        cwd    
        push    dx
        push    ax
        FILD    dword ptr [bp-60]
        FWAIT    
        add    sp,4
        FMUL    
        FADD    qword ptr [bp-16]
        call    far ptr FTOL@
        mov    word ptr [bp-52],ax
    ;    ?debug    L 67
         mov     bx, [bp-54]
    ;    ?debug    L 68
         mov     al, bl
    ;    ?debug    L 69
         mov     ah, 0ch
    ;    ?debug    L 70
         mov     cx, 1
    ;    ?debug    L 71
         mov     dx, 1
    ;    ?debug    L 72
         int     10h
    ;    ?debug    L 74
         mov     al, bh
    ;    ?debug    L 75
         mov     ah, 0ch
    ;    ?debug    L 76
         mov     cx, 2
    ;    ?debug    L 77
         mov     dx, 1
    ;    ?debug    L 78
         int     10h
    ;    ?debug    L 80
         mov     bx, [bp-52]
    ;    ?debug    L 81
         mov     al, bl
    ;    ?debug    L 82
         mov     ah, 0ch
    ;    ?debug    L 83
         mov     cx, 1
    ;    ?debug    L 84
         mov     dx, 2
    ;    ?debug    L 85
         int     10h
    ;    ?debug    L 87
         mov     al, bh
    ;    ?debug    L 88
         mov     ah, 0ch
    ;    ?debug    L 89
         mov     cx, 2
    ;    ?debug    L 90
         mov     dx, 2
    ;    ?debug    L 91
         int     10h
    ;    ?debug    L 93
        inc    word ptr [bp-50]
    ;    ?debug    L 94
        mov    ax,word ptr [bp-50]
        mov    bx,15
        cwd    
        idiv    bx
        inc    dx
        mov    word ptr [bp-50],dx
    ;    ?debug    L 95
         mov     ax, [bp-50]
    ;    ?debug    L 96
         mov     ah, 0ch
    ;    ?debug    L 97
         mov     cx, 1
    ;    ?debug    L 98
         mov     dx, 3
    ;    ?debug    L 99
         int     10h
    ;    ?debug    L 101
        call    near ptr _plotdot
    @12:
        FLD    qword ptr [bp-32]
        FADD    qword ptr [bp-8]
        FSTP    qword ptr [bp-32]
        FWAIT    
    @14:
        FLD    qword ptr [bp-32]
        FCOMP    qword ptr [bp-40]
        FSTSW    word ptr DGROUP:FLAGS8087@
        FWAIT    
        mov    ah,byte ptr DGROUP:FLAGS8087@+1
        sahf    
        jae    @15
        jmp    @13
    @15:
    @11:
    @10:
    ;    ?debug    L 103
        pop    si
        mov    sp,bp
        pop    bp
        ret    
    _plotcircle    endp
    _TEXT    ends
    _DATA    segment word public 'DATA'
    _DATA    ends
    _TEXT    segment    byte public 'CODE'
    ;    ?debug    L 105
    _main    proc    near
        push    bp
        mov    bp,sp
        sub    sp,4
    @17:
    ;    ?debug    L 110
        call    near ptr _intro
        mov    word ptr [bp-2],dx
        mov    word ptr [bp-4],ax
    ;    ?debug    L 111
        mov    ax,word ptr [bp-4]
        or    ax,word ptr [bp-2]
        jne    @18
    ;    ?debug    L 113
        jmp    short @19
    @18:
    ;    ?debug    L 116
         mov     al, 19
    ;    ?debug    L 117
         mov     ah, 0
    ;    ?debug    L 118
         int     10h
    ;    ?debug    L 120
        push    word ptr [bp-2]
        push    word ptr [bp-4]
        call    near ptr _plotcircle
        pop    cx
        pop    cx
    ;    ?debug    L 122
         mov     ah, 0
    ;    ?debug    L 123
         int     16h
    ;    ?debug    L 125
        jmp    short @17
    @19:
    ;    ?debug    L 127
         mov     al, 3
    ;    ?debug    L 128
         mov     ah, 0
    ;    ?debug    L 129
         int     10h
    ;    ?debug    L 131
        mov    ax,offset DGROUP:s@+242
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 132
        mov    ax,offset DGROUP:s@+265
        push    ax
        call    near ptr _printf
        pop    cx
    ;    ?debug    L 134
         mov     ah, 0
    ;    ?debug    L 135
         int     16h
    ;    ?debug    L 137
        xor    ax,ax
        jmp    short @16
    @16:
    ;    ?debug    L 138
        mov    sp,bp
        pop    bp
        ret    
    _main    endp
    _TEXT    ends
        ?debug    C E9
    _DATA    segment word public 'DATA'
    s@    label    byte
        db    99
        db    108
        db    115
        db    0
        db    10
        db    32
        db    109
        db    111
        db    109
        db    58
        db    32
        db    32
        db    72
        db    117
        db    111
        db    110
        db    103
        db    32
        db    84
        db    104
        db    105
        db    32
        db    84
        db    104
        db    117
        db    121
        db    101
        db    110
        db    32
        db    86
        db    117
        db    0
        db    10
        db    32
        db    100
        db    97
        db    100
        db    58
        db    32
        db    32
        db    78
        db    103
        db    117
        db    121
        db    101
        db    110
        db    32
        db    66
        db    105
        db    110
        db    104
        db    32
        db    84
        db    104
        db    117
        db    121
        db    0
        db    10
        db    32
        db    0
        db    10
        db    32
        db    80
        db    108
        db    101
        db    97
        db    115
        db    101
        db    32
        db    101
        db    110
        db    116
        db    101
        db    114
        db    32
        db    100
        db    101
        db    108
        db    97
        db    121
        db    32
        db    118
        db    97
        db    108
        db    117
        db    101
        db    58
        db    32
        db    40
        db    48
        db    45
        db    49
        db    48
        db    48
        db    48
        db    48
        db    48
        db    48
        db    48
        db    48
        db    48
        db    41
        db    0
        db    10
        db    32
        db    48
        db    32
        db    119
        db    105
        db    108
        db    108
        db    32
        db    101
        db    120
        db    105
        db    116
        db    32
        db    112
        db    114
        db    111
        db    103
        db    114
        db    97
        db    109
        db    46
        db    0
        db    10
        db    32
        db    65
        db    32
        db    118
        db    97
        db    108
        db    117
        db    101
        db    32
        db    116
        db    111
        db    111
        db    32
        db    108
        db    97
        db    114
        db    103
        db    101
        db    32
        db    109
        db    97
        db    121
        db    32
        db    108
        db    111
        db    99
        db    107
        db    32
        db    117
        db    112
        db    32
        db    111
        db    110
        db    32
        db    115
        db    108
        db    111
        db    119
        db    32
        db    67
        db    80
        db    85
        db    0
        db    10
        db    32
        db    84
        db    114
        db    121
        db    32
        db    49
        db    50
        db    48
        db    48
        db    48
        db    32
        db    116
        db    104
        db    101
        db    110
        db    32
        db    109
        db    111
        db    118
        db    101
        db    32
        db    97
        db    100
        db    100
        db    32
        db    48
        db    32
        db    101
        db    118
        db    101
        db    114
        db    121
        db    32
        db    116
        db    105
        db    109
        db    101
        db    0
        db    10
        db    32
        db    84
        db    104
        db    97
        db    110
        db    107
        db    32
        db    121
        db    111
        db    117
        db    46
        db    0
        db    37
        db    108
        db    117
        db    0
        db    0
        db    0
        db    0
        db    0
        db    0
        db    0
        db    0
        db    64
        db    0
        db    0
        db    0
        db    0
        db    0
        db    128
        db    118
        db    64
        db    10
        db    32
        db    83
        db    101
        db    101
        db    32
        db    121
        db    111
        db    117
        db    32
        db    110
        db    101
        db    120
        db    116
        db    32
        db    116
        db    105
        db    109
        db    101
        db    46
        db    46
        db    46
        db    0
        db    10
        db    32
        db    78
        db    69
        db    86
        db    69
        db    82
        db    32
        db    70
        db    79
        db    82
        db    71
        db    69
        db    84
        db    32
        db    71
        db    79
        db    68
        db    33
        db    0
    _DATA    ends
        extrn    FLAGS8087@:word
        extrn    FIDRQQ:far
        extrn    FTOL@:far
    _TEXT    segment    byte public 'CODE'
        extrn    _plotdot:near
        extrn    _system:near
        extrn    _printf:near
        extrn    _scanf:near
        extrn    _cos:near
        extrn    _sin:near
    _TEXT    ends
        public    _plotcircle
        public    _intro
        public    _main
        public    _pause
        end
    Well the program is in assembly language. You have to have the Borland proprietary software to compile these two programs into a single whole. However it produces the "OUTPUT58.exe" that runs on Windows.

  8. #8
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    Posts
    4,981
    Claiming a 16bit DOS EXE "runs on Windows" isn't exactly correct.

    You may be running it in an NTVDM - but if that's the case, I certainly hope you aren't surfing the web with that same machine.

    gg

  9. #9
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135
    Quote Originally Posted by Codeplug View Post
    Claiming a 16bit DOS EXE "runs on Windows" isn't exactly correct.

    You may be running it in an NTVDM - but if that's the case, I certainly hope you aren't surfing the web with that same machine.

    gg
    Thank you! That is kind of you. I managed to deal with the viruses for XP by disabling the internet from Windows XP. I believe NTVDM is built-in to XP natively so I believe you're right. For surfing the web I use Vista and FireFox. I haven't had any viruses since. However I keep my surfing clean. No weirdo websites if you get my drift. I believe most machines can dualboot especially back in the XP/Vista days. I did it once.

  10. #10
    Banned
    Join Date
    Oct 2014
    Location
    Home
    Posts
    135
    Quote Originally Posted by Tien Nguyen View Post
    Thank you! That is kind of you. I managed to deal with the viruses for XP by disabling the internet from Windows XP. I believe NTVDM is built-in to XP natively so I believe you're right. For surfing the web I use Vista and FireFox. I haven't had any viruses since. However I keep my surfing clean. No weirdo websites if you get my drift. I believe most machines can dualboot especially back in the XP/Vista days. I did it once.
    I was actually doing my "homework" and experimenting on my own time so I was trying to mix a C source code with an assembly source code. I'm just experimenting with the graphics systems right now. Usually you would pass a variable through a gateway at the stack. However I am using the display screen for my stack so to speak. So when you notice there are small tiny dots in the upper left corner. Those are the actual values that are changing to circle the display screen.

    FILE: ccallasm.c
    Code:
    /* Example by Tien Khoa Nguyen */
    
    #pragma inline
    
    #include <math.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    
    void extern plotdot();
    
    unsigned long intro()
    {
    unsigned long delay5;
    system("cls");
    printf("\n mom:  Huong Thi Thuyen Vu");
    printf("\n dad:  Nguyen Binh Thuy");
    printf("\n ");
    printf("\n Please enter delay value: (0-1000000000)");
    printf("\n 0 will exit program.");
    printf("\n A value too large may lock up on slow CPU");
    printf("\n Try 12000 then move add 0 every time");
    printf("\n Thank you.");
    scanf("%lu", &delay5);
    if(delay5 > 1000000000)
    {
    delay5 = 1000000000;
    }
    return(delay5);
    }
    
    void pause(unsigned long delaytime)
    {
    unsigned long delay2;
    
    for(delay2 = 0; delay2 < delaytime; delay2++)
    {
    delay2++;
    delay2--;
    }
    
    }
    
    void plotcircle(unsigned long delay4)
    {
    int ix, iy, radius, color3;
    double radian, fullradian, currentradian, centerx, centery;
    double degree;
    
    radian = 3.14;
    fullradian = 2.0*radian;
    degree = fullradian/360.0;
    
    centerx = 155.0;
    centery = 100.0;
    radius = 80;
    
    color3 = 1;
    
    for(currentradian = 0; currentradian < fullradian; currentradian = currentradian + degree)
    {
    pause(delay4);
    
    ix = (int)(centerx + (cos(currentradian)*(double)radius));
    iy = (int)(centery + (sin(currentradian)*(double)radius));
    
    asm mov bx, ix;
    asm mov al, bl;
    asm mov ah, 0ch;
    asm mov cx, 1;
    asm mov dx, 1;
    asm int 10h;
    
    asm mov al, bh;
    asm mov ah, 0ch;
    asm mov cx, 2;
    asm mov dx, 1;
    asm int 10h;
    
    asm mov bx, iy;
    asm mov al, bl;
    asm mov ah, 0ch;
    asm mov cx, 1;
    asm mov dx, 2;
    asm int 10h;
    
    asm mov al, bh;
    asm mov ah, 0ch;
    asm mov cx, 2;
    asm mov dx, 2;
    asm int 10h;
    
    color3++;
    color3 = 1+(color3%15);
    asm mov ax, color3;
    asm mov ah, 0ch;
    asm mov cx, 1;
    asm mov dx, 3;
    asm int 10h;
    
    plotdot();
    }
    }
    
    int main()
    {
    unsigned long delay3;
    
    repeatprg:;
    delay3 = intro();
    if(delay3 == 0)
    {
    goto exitprg;
    }
    
    asm mov al, 19;
    asm mov ah, 0;
    asm int 10h;
    
    plotcircle(delay3);
    
    asm mov ah, 0;
    asm int 16h;
    
    goto repeatprg;
    exitprg:;
    asm mov al, 3;
    asm mov ah, 0;
    asm int 10h;
    
    printf("\n See you next time...");
    printf("\n NEVER FORGET GOD!");
    
    asm mov ah, 0;
    asm int 16h;
    
    return(0);
    }
    
    The above C program has to be converted first before it could be integrated with the pure assembly one. Once again the Borland softwares are proprietary. I know Embarcadero continues to be in business for their modern OS developer packages. They also provide links to their 16 bit compiler but you have to have an agreement with them that it is for personal use and not for profit unless you purchase their professional packages then you could do whatever you wish. However you continue to need to acknowkedge their softwares. So anyways I use Borland Turbo C 2.01 copyrighted 1987 & 1988. Also, I use Borland Turbo Assembler 4.1. The Borland Turbo Assembler 4.1 is a paid-for product. So it IS a collector's item. Believe it or not I'm planning to stay home all my life and programming until I'm 100 years old!!! My sisters get to do that from very good companies. They sit home and program for the company............

  11. #11
    Its hard... But im here swgh's Avatar
    Join Date
    Apr 2005
    Location
    England
    Posts
    1,688
    You should contact Borland directly (if they even still have a head office) and asked them to send
    you the development builds for any cancelled approved updated software they have on file. Maybe
    get an open source contract with Borland and help maintain their existing software. Turbo C is
    still used in some casual places but the vast majority use GCC or even Clang nowadays.

    By the way kudos for attempting to mix machine ASM with C - C is really a layer above ASM anyways.
    Double Helix STL

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. 10 thousands dollars question about file
    By nevrax in forum C Programming
    Replies: 4
    Last Post: 03-30-2007, 02:45 PM
  2. Cisco manuals
    By kermit in forum Tech Board
    Replies: 1
    Last Post: 09-11-2004, 07:18 AM
  3. Intel Manuals
    By Lurker in forum A Brief History of Cprogramming.com
    Replies: 6
    Last Post: 04-17-2004, 07:49 AM
  4. Replies: 0
    Last Post: 04-30-2002, 07:24 PM

Tags for this Thread