Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Когда-то давно смотрел исходники первой UZI, которая для Z80. Там автор прямо писал, что использовал Codeworks C (который вообщето малоинтересен т.к. не ANSI и не умеет long). А так - да, про UZI Z180 пишут, что использовался HitechC (опять же не пишут какой версии, а про него известна версия 3,09 для Z80, 5.х мультиплатформенная древняя платная - подозреваю ею и компилировали MSX UZIX, и 7х современные платные):
https://groups.google.com/forum/#!to...pm/xbcVQ8vt_TU
UZI для меня менее интересен чем UZIX, т.к. последний болеее развит, и имеет все исходники (ядро, приложения, libc), а для UZI сохранились только исходники ядра (по крайней мере начальной версии от Z80)
Как бы там ни было, придумал как все будет в LIBC со стареньким HitechC v3.09, осталась мелочь - начать да закончить.![]()
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Хорошо, вечером наверное, пока нашел вот такой интересный момент
по компилятору
вот тут есть онКод:#ifndef Hi_TECH_C /* Speed and code length optimized for Q/C Compiler */ #define ifnull(e) if(e){}else #define ifnot(e) if(e){}else #define ifzero(e) if(e){}else #else /* Define for Hi-Tech Compiler */ #define FALSE 0 #define ifnull(e) if ((e)==0) #define ifnot(e) if ((e)==FALSE) #define ifzero(e) if ((e)==NULL) #endif
http://www.z80.eu/c-compiler.html
Последний раз редактировалось Totem; 30.01.2015 в 11:22.
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
Вот кто мне может объяснить.
Имеем такие объявления:
и в коде ядра всякую целочисленную арифметику (в основном арифметические & | и сравнения) между этими константами (казалось бы не влезающими в int16) и 16bit int.Код:#define S_IFMT 0170000 /* file type mask */ #define S_IFLNK 0110000 /* symbolic link */ #define S_IFREG 0100000 /* or just 000000, regular */ #define S_IFBLK 0060000 /* block special */ #define S_IFDIR 0040000 /* directory */ #define S_IFCHR 0020000 /* character special */ #define S_IFPIPE 0010000 /* pipe */
За каким-то хреном в итоге в ASM:
S_IFREG=0100000 транслируется в 0x8000,
S_IFPIPE=0010000 транслируется в 0x1000
S_IFCHR=0020000 транслируется в 0x2000
и т.п.
Теряюсь в догадках. Какого хека?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Т.е. оно восьмиричное.
А как отличать от десятичных констант, если записано теми же цифирьками.
С шестнадцатиричным префиксом "0x" понятно же, не то что тут...
Шиза с этим вашим С.![]()
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)