I have seen in FreeDOS news about cowgol2 programming language:
http://cowlark.com/cowgol/

I have built in on Linux Mint... main problem was to get package: 
m68k-atari-mint-binutils

Got it after:
sudo add-apt-repository ppa:vriviere/ppa
apt-update
taken from: http://vincent.riviere.free.fr/soft/m68k-atari-mint/ubuntu.php

Had also to add: libfl-dev

After that, you get a ton of executables, for running on many platofrms, and
to produce code for many platforms.

For FreeDOS, there is *.msdos.msdos.exe files... name are long, which make
things harder... doslfn do some stuff, like allowing dir /lfn,
but running programs does not seems to work... at least for me.

Also, once I renamed files... they were not able to include files in 
directories:
-Irt/ or -Irt/ did not work.
So I have copied files in bin, to get the job done.
Also, there is .obj that are hidden on Linux, where rt/cowgol.coo is.

Anyway, I finally got a .s file (assembler)... but I do not recognize the 
syntax...
maybe it is MASM... which I did not seen for many many years.

Anyway, I copy the file here of helloworld.s:
===============================================
        [warning -number-overflow]
        cpu 8086
        bits 16
        segment code align=16
        push ds
        pop es
        mov ax, dgroup
        mov ds, ax
        call f9___main
        mov ax, 0x4c00
        int 0x21
        segment stack stack noprogbits align=16
        resb 128
stacktop:
        segment data public align=16
        segment bss noprogbits public
        group dgroup data bss


        ; print_char workspace at ws+7 length ws+1
        segment code
f13_print_char:
        mov byte [ws+7], al
        mov al,byte [ws+7]
        cmp al,0x000a
        jne c08_0005
c08_0004:
        mov dl, 13 
        mov ah, 2 
        int 0x21 
c08_0005:
c08_0001:
        mov dl, [ ws+7 ] 
        mov ah, 2 
        int 0x21 
end_f13_print_char:
        ret


        ; print workspace at ws+4 length ws+3
        segment code
f15_print:
        mov word [ws+4], ax
c08_000d:
        mov bx,word [ws+4]
        mov al,byte [bx]
        mov byte [ws+6],al
        mov al,byte [ws+6]
        cmp al,0x0000
        jne c08_0013
c08_0012:
        jmp end_f15_print
c08_0013:
c08_000f:
        mov al,byte [ws+6]
        call f13_print_char
        mov ax,word [ws+4]
        add ax,0x0001
        mov word [ws+4],ax
        jmp c08_000d
c08_000e:
end_f15_print:
        ret
        segment data
c08_0000:
        db 72,101,108,108,111,44,32,119,111,114,108,100,33,10,0


        ; __main workspace at ws+0 length ws+4
        segment code
f9___main:
        mov word [ ws+0 ], LOMEM 
        mov word [ ws+2 ], 0 
        mov ax,c08_0000
        call f15_print
end_f9___main:
        ret
        segment bss
ws:
        resb 8
LOMEM:

========================================
I have tried (GNU) as, nasm, wasm... it seems to be something else.
Is it MASM?







_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to