From d03600b97a67c8cfc903e06edbaba7f123599b07 Mon Sep 17 00:00:00 2001 From: AntKrotov Date: Mon, 30 Sep 2019 02:23:28 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=20SYSTEM.CARD16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compiler | Bin 292576 -> 292176 bytes Compiler.exe | Bin 294400 -> 294400 bytes doc/KOSLib.txt | 776 +++++++++++++++++++-------------------- doc/x86.txt | 18 - doc/x86_64.txt | 9 +- lib/KolibriOS/RTL.ob07 | 14 +- lib/KolibriOS/Read.ob07 | 6 +- lib/KolibriOS/Write.ob07 | 6 +- lib/Linux32/RTL.ob07 | 14 +- lib/Linux64/RTL.ob07 | 18 +- lib/Windows32/HOST.ob07 | 6 +- lib/Windows32/RTL.ob07 | 14 +- lib/Windows64/HOST.ob07 | 6 +- lib/Windows64/RTL.ob07 | 18 +- source/PROG.ob07 | 12 +- source/STATEMENTS.ob07 | 4 +- 16 files changed, 430 insertions(+), 491 deletions(-) diff --git a/Compiler b/Compiler index fb0246b4a5548f9084615d66dba72f387da9c0c0..62e9a6f5279db168f791cd70bc376da29d9bf3ee 100644 GIT binary patch delta 58977 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 delta 59684 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�UEH9 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 KK3|T}wEqKduVP35 delta 58745 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 b`)PmsY_9PZ_G`JjZO(a5TVnY715NusO~eD* diff --git a/doc/KOSLib.txt b/doc/KOSLib.txt index 4b661a3..01364fa 100644 --- a/doc/KOSLib.txt +++ b/doc/KOSLib.txt @@ -1,94 +1,94 @@ ============================================================================== - Библиотека (KolibriOS) + Библиотека (KolibriOS) ------------------------------------------------------------------------------ MODULE Out - консольный вывод - PROCEDURE Open - формально открывает консольный вывод + PROCEDURE Open + формально открывает консольный вывод - PROCEDURE Int(x, width: INTEGER) - вывод целого числа x; - width - количество знакомест, используемых для вывода + PROCEDURE Int(x, width: INTEGER) + вывод целого числа x; + width - количество знакомест, используемых для вывода - PROCEDURE Real(x: REAL; width: INTEGER) - вывод вещественного числа x в плавающем формате; - width - количество знакомест, используемых для вывода + PROCEDURE Real(x: REAL; width: INTEGER) + вывод вещественного числа x в плавающем формате; + width - количество знакомест, используемых для вывода - PROCEDURE Char(x: CHAR) - вывод символа x + PROCEDURE Char(x: CHAR) + вывод символа x - PROCEDURE FixReal(x: REAL; width, p: INTEGER) - вывод вещественного числа x в фиксированном формате; - width - количество знакомест, используемых для вывода; - p - количество знаков после десятичной точки + PROCEDURE FixReal(x: REAL; width, p: INTEGER) + вывод вещественного числа x в фиксированном формате; + width - количество знакомест, используемых для вывода; + p - количество знаков после десятичной точки - PROCEDURE Ln - переход на следующую строку + PROCEDURE Ln + переход на следующую строку - PROCEDURE String(s: ARRAY OF CHAR) - вывод строки s + PROCEDURE String(s: ARRAY OF CHAR) + вывод строки s ------------------------------------------------------------------------------ MODULE In - консольный ввод - VAR Done: BOOLEAN - принимает значение TRUE в случае успешного выполнения - операции ввода, иначе FALSE + VAR Done: BOOLEAN + принимает значение TRUE в случае успешного выполнения + операции ввода, иначе FALSE - PROCEDURE Open - формально открывает консольный ввод, - также присваивает переменной Done значение TRUE + PROCEDURE Open + формально открывает консольный ввод, + также присваивает переменной Done значение TRUE - PROCEDURE Int(VAR x: INTEGER) - ввод числа типа INTEGER + PROCEDURE Int(VAR x: INTEGER) + ввод числа типа INTEGER - PROCEDURE Char(VAR x: CHAR) - ввод символа + PROCEDURE Char(VAR x: CHAR) + ввод символа - PROCEDURE Real(VAR x: REAL) - ввод числа типа REAL + PROCEDURE Real(VAR x: REAL) + ввод числа типа REAL - PROCEDURE String(VAR s: ARRAY OF CHAR) - ввод строки + PROCEDURE String(VAR s: ARRAY OF CHAR) + ввод строки - PROCEDURE Ln - ожидание нажатия ENTER + PROCEDURE Ln + ожидание нажатия ENTER ------------------------------------------------------------------------------ MODULE Console - дополнительные процедуры консольного вывода - CONST + CONST - Следующие константы определяют цвет консольного вывода + Следующие константы определяют цвет консольного вывода - Black = 0 Blue = 1 Green = 2 - Cyan = 3 Red = 4 Magenta = 5 - Brown = 6 LightGray = 7 DarkGray = 8 - LightBlue = 9 LightGreen = 10 LightCyan = 11 - LightRed = 12 LightMagenta = 13 Yellow = 14 - White = 15 + Black = 0 Blue = 1 Green = 2 + Cyan = 3 Red = 4 Magenta = 5 + Brown = 6 LightGray = 7 DarkGray = 8 + LightBlue = 9 LightGreen = 10 LightCyan = 11 + LightRed = 12 LightMagenta = 13 Yellow = 14 + White = 15 - PROCEDURE Cls - очистка окна консоли + PROCEDURE Cls + очистка окна консоли - PROCEDURE SetColor(FColor, BColor: INTEGER) - установка цвета консольного вывода: FColor - цвет текста, - BColor - цвет фона, возможные значения - вышеперечисленные - константы + PROCEDURE SetColor(FColor, BColor: INTEGER) + установка цвета консольного вывода: FColor - цвет текста, + BColor - цвет фона, возможные значения - вышеперечисленные + константы - PROCEDURE SetCursor(x, y: INTEGER) - установка курсора консоли в позицию (x, y) + PROCEDURE SetCursor(x, y: INTEGER) + установка курсора консоли в позицию (x, y) - PROCEDURE GetCursor(VAR x, y: INTEGER) - записывает в параметры текущие координаты курсора консоли + PROCEDURE GetCursor(VAR x, y: INTEGER) + записывает в параметры текущие координаты курсора консоли - PROCEDURE GetCursorX(): INTEGER - возвращает текущую x-координату курсора консоли + PROCEDURE GetCursorX(): INTEGER + возвращает текущую x-координату курсора консоли - PROCEDURE GetCursorY(): INTEGER - возвращает текущую y-координату курсора консоли + PROCEDURE GetCursorY(): INTEGER + возвращает текущую y-координату курсора консоли ------------------------------------------------------------------------------ MODULE ConsoleLib - обертка библиотеки console.obj @@ -96,469 +96,469 @@ MODULE ConsoleLib - обертка библиотеки console.obj ------------------------------------------------------------------------------ MODULE Math - математические функции - CONST + CONST - pi = 3.141592653589793E+00 - e = 2.718281828459045E+00 + pi = 3.141592653589793E+00 + e = 2.718281828459045E+00 - PROCEDURE IsNan(x: REAL): BOOLEAN - возвращает TRUE, если x - не число + PROCEDURE IsNan(x: REAL): BOOLEAN + возвращает TRUE, если x - не число - PROCEDURE IsInf(x: REAL): BOOLEAN - возвращает TRUE, если x - бесконечность + PROCEDURE IsInf(x: REAL): BOOLEAN + возвращает TRUE, если x - бесконечность - PROCEDURE sqrt(x: REAL): REAL - квадратный корень x + PROCEDURE sqrt(x: REAL): REAL + квадратный корень x - PROCEDURE exp(x: REAL): REAL - экспонента x + PROCEDURE exp(x: REAL): REAL + экспонента x - PROCEDURE ln(x: REAL): REAL - натуральный логарифм x + PROCEDURE ln(x: REAL): REAL + натуральный логарифм x - PROCEDURE sin(x: REAL): REAL - синус x + PROCEDURE sin(x: REAL): REAL + синус x - PROCEDURE cos(x: REAL): REAL - косинус x + PROCEDURE cos(x: REAL): REAL + косинус x - PROCEDURE tan(x: REAL): REAL - тангенс x + PROCEDURE tan(x: REAL): REAL + тангенс x - PROCEDURE arcsin(x: REAL): REAL - арксинус x + PROCEDURE arcsin(x: REAL): REAL + арксинус x - PROCEDURE arccos(x: REAL): REAL - арккосинус x + PROCEDURE arccos(x: REAL): REAL + арккосинус x - PROCEDURE arctan(x: REAL): REAL - арктангенс x + PROCEDURE arctan(x: REAL): REAL + арктангенс x - PROCEDURE arctan2(y, x: REAL): REAL - арктангенс y/x + PROCEDURE arctan2(y, x: REAL): REAL + арктангенс y/x - PROCEDURE power(base, exponent: REAL): REAL - возведение числа base в степень exponent + PROCEDURE power(base, exponent: REAL): REAL + возведение числа base в степень exponent - PROCEDURE log(base, x: REAL): REAL - логарифм x по основанию base + PROCEDURE log(base, x: REAL): REAL + логарифм x по основанию base - PROCEDURE sinh(x: REAL): REAL - гиперболический синус x + PROCEDURE sinh(x: REAL): REAL + гиперболический синус x - PROCEDURE cosh(x: REAL): REAL - гиперболический косинус x + PROCEDURE cosh(x: REAL): REAL + гиперболический косинус x - PROCEDURE tanh(x: REAL): REAL - гиперболический тангенс x + PROCEDURE tanh(x: REAL): REAL + гиперболический тангенс x - PROCEDURE arsinh(x: REAL): REAL - обратный гиперболический синус x + PROCEDURE arsinh(x: REAL): REAL + обратный гиперболический синус x - PROCEDURE arcosh(x: REAL): REAL - обратный гиперболический косинус x + PROCEDURE arcosh(x: REAL): REAL + обратный гиперболический косинус x - PROCEDURE artanh(x: REAL): REAL - обратный гиперболический тангенс x + PROCEDURE artanh(x: REAL): REAL + обратный гиперболический тангенс x - PROCEDURE round(x: REAL): REAL - округление x до ближайшего целого + PROCEDURE round(x: REAL): REAL + округление x до ближайшего целого - PROCEDURE frac(x: REAL): REAL; - дробная часть числа x + PROCEDURE frac(x: REAL): REAL; + дробная часть числа x - PROCEDURE floor(x: REAL): REAL - наибольшее целое число (представление как REAL), - не больше x: floor(1.2) = 1.0 + PROCEDURE floor(x: REAL): REAL + наибольшее целое число (представление как REAL), + не больше x: floor(1.2) = 1.0 - PROCEDURE ceil(x: REAL): REAL - наименьшее целое число (представление как REAL), - не меньше x: ceil(1.2) = 2.0 + PROCEDURE ceil(x: REAL): REAL + наименьшее целое число (представление как REAL), + не меньше x: ceil(1.2) = 2.0 - PROCEDURE sgn(x: REAL): INTEGER - если x > 0 возвращает 1 - если x < 0 возвращает -1 - если x = 0 возвращает 0 + PROCEDURE sgn(x: REAL): INTEGER + если x > 0 возвращает 1 + если x < 0 возвращает -1 + если x = 0 возвращает 0 - PROCEDURE fact(n: INTEGER): REAL - факториал n + PROCEDURE fact(n: INTEGER): REAL + факториал n ------------------------------------------------------------------------------ MODULE Debug - вывод на доску отладки - Интерфейс как модуль Out + Интерфейс как модуль Out - PROCEDURE Open - открывает доску отладки + PROCEDURE Open + открывает доску отладки ------------------------------------------------------------------------------ MODULE File - работа с файловой системой - TYPE + TYPE - FNAME = ARRAY 520 OF CHAR + FNAME = ARRAY 520 OF CHAR - FS = POINTER TO rFS + FS = POINTER TO rFS - rFS = RECORD (* информационная структура файла *) - subfunc, pos, hpos, bytes, buffer: INTEGER; - name: FNAME - END + rFS = RECORD (* информационная структура файла *) + subfunc, pos, hpos, bytes, buffer: INTEGER; + name: FNAME + END - FD = POINTER TO rFD + FD = POINTER TO rFD - rFD = RECORD (* структура блока данных входа каталога *) - attr: INTEGER; - ntyp: CHAR; - reserved: ARRAY 3 OF CHAR; - time_create, date_create, - time_access, date_access, - time_modif, date_modif, - size, hsize: INTEGER; - name: FNAME - END + rFD = RECORD (* структура блока данных входа каталога *) + attr: INTEGER; + ntyp: CHAR; + reserved: ARRAY 3 OF CHAR; + time_create, date_create, + time_access, date_access, + time_modif, date_modif, + size, hsize: INTEGER; + name: FNAME + END - CONST + CONST - SEEK_BEG = 0 - SEEK_CUR = 1 - SEEK_END = 2 + SEEK_BEG = 0 + SEEK_CUR = 1 + SEEK_END = 2 - PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER; - Загружает в память файл с именем FName, записывает в параметр - size размер файла, возвращает адрес загруженного файла - или 0 (ошибка). При необходимости, распаковывает - файл (kunpack). + PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER; + Загружает в память файл с именем FName, записывает в параметр + size размер файла, возвращает адрес загруженного файла + или 0 (ошибка). При необходимости, распаковывает + файл (kunpack). - PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN - Записывает структуру блока данных входа каталога для файла - или папки с именем FName в параметр Info. - При ошибке возвращает FALSE. + PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN + Записывает структуру блока данных входа каталога для файла + или папки с именем FName в параметр Info. + При ошибке возвращает FALSE. - PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN - возвращает TRUE, если файл с именем FName существует + PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN + возвращает TRUE, если файл с именем FName существует - PROCEDURE Close(VAR F: FS) - освобождает память, выделенную для информационной структуры - файла F и присваивает F значение NIL + PROCEDURE Close(VAR F: FS) + освобождает память, выделенную для информационной структуры + файла F и присваивает F значение NIL - PROCEDURE Open(FName: ARRAY OF CHAR): FS - возвращает указатель на информационную структуру файла с - именем FName, при ошибке возвращает NIL + PROCEDURE Open(FName: ARRAY OF CHAR): FS + возвращает указатель на информационную структуру файла с + именем FName, при ошибке возвращает NIL - PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN - удаляет файл с именем FName, при ошибке возвращает FALSE + PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN + удаляет файл с именем FName, при ошибке возвращает FALSE - PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER - устанавливает позицию чтения-записи файла F на Offset, - относительно Origin = (SEEK_BEG - начало файла, - SEEK_CUR - текущая позиция, SEEK_END - конец файла), - возвращает позицию относительно начала файла, например: - Seek(F, 0, SEEK_END) - устанавливает позицию на конец файла и возвращает длину - файла; при ошибке возвращает -1 + PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER + устанавливает позицию чтения-записи файла F на Offset, + относительно Origin = (SEEK_BEG - начало файла, + SEEK_CUR - текущая позиция, SEEK_END - конец файла), + возвращает позицию относительно начала файла, например: + Seek(F, 0, SEEK_END) + устанавливает позицию на конец файла и возвращает длину + файла; при ошибке возвращает -1 - PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER - Читает данные из файла в память. F - указатель на - информационную структуру файла, Buffer - адрес области - памяти, Count - количество байт, которое требуется прочитать - из файла; возвращает количество байт, которое было прочитано - и соответствующим образом изменяет позицию чтения/записи в - информационной структуре F. + PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER + Читает данные из файла в память. F - указатель на + информационную структуру файла, Buffer - адрес области + памяти, Count - количество байт, которое требуется прочитать + из файла; возвращает количество байт, которое было прочитано + и соответствующим образом изменяет позицию чтения/записи в + информационной структуре F. - PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER - Записывает данные из памяти в файл. F - указатель на - информационную структуру файла, Buffer - адрес области - памяти, Count - количество байт, которое требуется записать - в файл; возвращает количество байт, которое было записано и - соответствующим образом изменяет позицию чтения/записи в - информационной структуре F. + PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER + Записывает данные из памяти в файл. F - указатель на + информационную структуру файла, Buffer - адрес области + памяти, Count - количество байт, которое требуется записать + в файл; возвращает количество байт, которое было записано и + соответствующим образом изменяет позицию чтения/записи в + информационной структуре F. - PROCEDURE Create(FName: ARRAY OF CHAR): FS - создает новый файл с именем FName (полное имя), возвращает - указатель на информационную структуру файла, - при ошибке возвращает NIL + PROCEDURE Create(FName: ARRAY OF CHAR): FS + создает новый файл с именем FName (полное имя), возвращает + указатель на информационную структуру файла, + при ошибке возвращает NIL - PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN - создает папку с именем DirName, все промежуточные папки - должны существовать, при ошибке возвращает FALSE + PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN + создает папку с именем DirName, все промежуточные папки + должны существовать, при ошибке возвращает FALSE - PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN - удаляет пустую папку с именем DirName, - при ошибке возвращает FALSE + PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN + удаляет пустую папку с именем DirName, + при ошибке возвращает FALSE - PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN - возвращает TRUE, если папка с именем DirName существует + PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN + возвращает TRUE, если папка с именем DirName существует ------------------------------------------------------------------------------ MODULE Read - чтение основных типов данных из файла F - Процедуры возвращают TRUE в случае успешной операции чтения и - соответствующим образом изменяют позицию чтения/записи в - информационной структуре F + Процедуры возвращают TRUE в случае успешной операции чтения и + соответствующим образом изменяют позицию чтения/записи в + информационной структуре F - PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN + PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN - PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN + PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN - PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN + PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN - PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN + PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN - PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN + PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN - PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN + PROCEDURE WChar(F: File.FS; VAR x: WCHAR): BOOLEAN ------------------------------------------------------------------------------ MODULE Write - запись основных типов данных в файл F - Процедуры возвращают TRUE в случае успешной операции записи и - соответствующим образом изменяют позицию чтения/записи в - информационной структуре F + Процедуры возвращают TRUE в случае успешной операции записи и + соответствующим образом изменяют позицию чтения/записи в + информационной структуре F - PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN + PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN - PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN + PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN - PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN + PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN - PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN + PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN - PROCEDURE Set(F: File.FS; x: SET): BOOLEAN + PROCEDURE Set(F: File.FS; x: SET): BOOLEAN - PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN + PROCEDURE WChar(F: File.FS; x: WCHAR): BOOLEAN ------------------------------------------------------------------------------ MODULE DateTime - дата, время - CONST ERR = -7.0E5 + CONST ERR = -7.0E5 - PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER) - записывает в параметры компоненты текущей системной даты и - времени + PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER) + записывает в параметры компоненты текущей системной даты и + времени - PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL - возвращает дату, полученную из компонентов - Year, Month, Day, Hour, Min, Sec; - при ошибке возвращает константу ERR = -7.0E5 + PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL + возвращает дату, полученную из компонентов + Year, Month, Day, Hour, Min, Sec; + при ошибке возвращает константу ERR = -7.0E5 - PROCEDURE Decode(Date: REAL; VAR Year, Month, Day, - Hour, Min, Sec: INTEGER): BOOLEAN - извлекает компоненты - Year, Month, Day, Hour, Min, Sec из даты Date; - при ошибке возвращает FALSE + PROCEDURE Decode(Date: REAL; VAR Year, Month, Day, + Hour, Min, Sec: INTEGER): BOOLEAN + извлекает компоненты + Year, Month, Day, Hour, Min, Sec из даты Date; + при ошибке возвращает FALSE ------------------------------------------------------------------------------ MODULE Args - параметры программы - VAR argc: INTEGER - количество параметров программы, включая имя - исполняемого файла + VAR argc: INTEGER + количество параметров программы, включая имя + исполняемого файла - PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR) - записывает в строку s n-й параметр программы, - нумерация параметров от 0 до argc - 1, - нулевой параметр -- имя исполняемого файла + PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR) + записывает в строку s n-й параметр программы, + нумерация параметров от 0 до argc - 1, + нулевой параметр -- имя исполняемого файла ------------------------------------------------------------------------------ MODULE KOSAPI - PROCEDURE sysfunc1(arg1: INTEGER): INTEGER - PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER - ... - PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER - Обертки для функций API ядра KolibriOS. - arg1 .. arg7 соответствуют регистрам - eax, ebx, ecx, edx, esi, edi, ebp; - возвращают значение регистра eax после системного вызова. + PROCEDURE sysfunc1(arg1: INTEGER): INTEGER + PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER + ... + PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER + Обертки для функций API ядра KolibriOS. + arg1 .. arg7 соответствуют регистрам + eax, ebx, ecx, edx, esi, edi, ebp; + возвращают значение регистра eax после системного вызова. - PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER - Обертка для функций API ядра KolibriOS. - arg1 - регистр eax, arg2 - регистр ebx, - res2 - значение регистра ebx после системного вызова; - возвращает значение регистра eax после системного вызова. + PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER + Обертка для функций API ядра KolibriOS. + arg1 - регистр eax, arg2 - регистр ebx, + res2 - значение регистра ebx после системного вызова; + возвращает значение регистра eax после системного вызова. - PROCEDURE malloc(size: INTEGER): INTEGER - Выделяет блок памяти. - size - размер блока в байтах, - возвращает адрес выделенного блока + PROCEDURE malloc(size: INTEGER): INTEGER + Выделяет блок памяти. + size - размер блока в байтах, + возвращает адрес выделенного блока - PROCEDURE free(ptr: INTEGER): INTEGER - Освобождает ранее выделенный блок памяти с адресом ptr, - возвращает 0 + PROCEDURE free(ptr: INTEGER): INTEGER + Освобождает ранее выделенный блок памяти с адресом ptr, + возвращает 0 - PROCEDURE realloc(ptr, size: INTEGER): INTEGER - Перераспределяет блок памяти, - ptr - адрес ранее выделенного блока, - size - новый размер, - возвращает указатель на перераспределенный блок, - 0 при ошибке + PROCEDURE realloc(ptr, size: INTEGER): INTEGER + Перераспределяет блок памяти, + ptr - адрес ранее выделенного блока, + size - новый размер, + возвращает указатель на перераспределенный блок, + 0 при ошибке - PROCEDURE GetCommandLine(): INTEGER - Возвращает адрес строки параметров + PROCEDURE GetCommandLine(): INTEGER + Возвращает адрес строки параметров - PROCEDURE GetName(): INTEGER - Возвращает адрес строки с именем программы + PROCEDURE GetName(): INTEGER + Возвращает адрес строки с именем программы - PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER - Загружает DLL с полным именем name. Возвращает адрес таблицы - экспорта. При ошибке возвращает 0. + PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER + Загружает DLL с полным именем name. Возвращает адрес таблицы + экспорта. При ошибке возвращает 0. - PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER - name - имя процедуры - lib - адрес таблицы экспорта DLL - Возвращает адрес процедуры. При ошибке возвращает 0. + PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER + name - имя процедуры + lib - адрес таблицы экспорта DLL + Возвращает адрес процедуры. При ошибке возвращает 0. ------------------------------------------------------------------------------ MODULE ColorDlg - работа с диалогом "Color Dialog" - TYPE + TYPE - Dialog = POINTER TO RECORD (* структура диалога *) - status: INTEGER (* состояние диалога: - 0 - пользователь нажал Cancel - 1 - пользователь нажал OK - 2 - диалог открыт *) + Dialog = POINTER TO RECORD (* структура диалога *) + status: INTEGER (* состояние диалога: + 0 - пользователь нажал Cancel + 1 - пользователь нажал OK + 2 - диалог открыт *) - color: INTEGER (* выбранный цвет *) - END + color: INTEGER (* выбранный цвет *) + END - PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog - создать диалог - draw_window - процедура перерисовки основного окна - (TYPE DRAW_WINDOW = PROCEDURE); - процедура возвращает указатель на структуру диалога + PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog + создать диалог + draw_window - процедура перерисовки основного окна + (TYPE DRAW_WINDOW = PROCEDURE); + процедура возвращает указатель на структуру диалога - PROCEDURE Show(cd: Dialog) - показать диалог - cd - указатель на структуру диалога, который был создан ранее - процедурой Create + PROCEDURE Show(cd: Dialog) + показать диалог + cd - указатель на структуру диалога, который был создан ранее + процедурой Create - PROCEDURE Destroy(VAR cd: Dialog) - уничтожить диалог - cd - указатель на структуру диалога + PROCEDURE Destroy(VAR cd: Dialog) + уничтожить диалог + cd - указатель на структуру диалога ------------------------------------------------------------------------------ MODULE OpenDlg - работа с диалогом "Open Dialog" - TYPE + TYPE - Dialog = POINTER TO RECORD (* структура диалога *) - status: INTEGER (* состояние диалога: - 0 - пользователь нажал Cancel - 1 - пользователь нажал OK - 2 - диалог открыт *) + Dialog = POINTER TO RECORD (* структура диалога *) + status: INTEGER (* состояние диалога: + 0 - пользователь нажал Cancel + 1 - пользователь нажал OK + 2 - диалог открыт *) - FileName: ARRAY 4096 OF CHAR (* имя выбранного файла *) - FilePath: ARRAY 4096 OF CHAR (* полное имя выбранного - файла *) - END + FileName: ARRAY 4096 OF CHAR (* имя выбранного файла *) + FilePath: ARRAY 4096 OF CHAR (* полное имя выбранного + файла *) + END - PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path, - filter: ARRAY OF CHAR): Dialog - создать диалог - draw_window - процедура перерисовки основного окна - (TYPE DRAW_WINDOW = PROCEDURE) - type - тип диалога - 0 - открыть - 1 - сохранить - 2 - выбрать папку - def_path - путь по умолчанию, папка def_path будет открыта - при первом запуске диалога - filter - в строке записано перечисление расширений файлов, - которые будут показаны в диалоговом окне, расширения - разделяются символом "|", например: "ASM|TXT|INI" - процедура возвращает указатель на структуру диалога + PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path, + filter: ARRAY OF CHAR): Dialog + создать диалог + draw_window - процедура перерисовки основного окна + (TYPE DRAW_WINDOW = PROCEDURE) + type - тип диалога + 0 - открыть + 1 - сохранить + 2 - выбрать папку + def_path - путь по умолчанию, папка def_path будет открыта + при первом запуске диалога + filter - в строке записано перечисление расширений файлов, + которые будут показаны в диалоговом окне, расширения + разделяются символом "|", например: "ASM|TXT|INI" + процедура возвращает указатель на структуру диалога - PROCEDURE Show(od: Dialog; Width, Height: INTEGER) - показать диалог - od - указатель на структуру диалога, который был создан ранее - процедурой Create - Width и Height - ширина и высота диалогового окна + PROCEDURE Show(od: Dialog; Width, Height: INTEGER) + показать диалог + od - указатель на структуру диалога, который был создан ранее + процедурой Create + Width и Height - ширина и высота диалогового окна - PROCEDURE Destroy(VAR od: Dialog) - уничтожить диалог - od - указатель на структуру диалога + PROCEDURE Destroy(VAR od: Dialog) + уничтожить диалог + od - указатель на структуру диалога ------------------------------------------------------------------------------ MODULE kfonts - работа с kf-шрифтами - CONST + CONST - bold = 1 - italic = 2 - underline = 4 - strike_through = 8 - smoothing = 16 - bpp32 = 32 + bold = 1 + italic = 2 + underline = 4 + strike_through = 8 + smoothing = 16 + bpp32 = 32 - TYPE + TYPE - TFont = POINTER TO TFont_desc (* указатель на шрифт *) + TFont = POINTER TO TFont_desc (* указатель на шрифт *) - PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont - загрузить шрифт из файла - file_name имя kf-файла - рез-т: указатель на шрифт/NIL (ошибка) + PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont + загрузить шрифт из файла + file_name имя kf-файла + рез-т: указатель на шрифт/NIL (ошибка) - PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN - установить размер шрифта - Font указатель на шрифт - font_size размер шрифта - рез-т: TRUE/FALSE (ошибка) + PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN + установить размер шрифта + Font указатель на шрифт + font_size размер шрифта + рез-т: TRUE/FALSE (ошибка) - PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN - проверить, есть ли шрифт, заданного размера - Font указатель на шрифт - font_size размер шрифта - рез-т: TRUE/FALSE (шрифта нет) + PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN + проверить, есть ли шрифт, заданного размера + Font указатель на шрифт + font_size размер шрифта + рез-т: TRUE/FALSE (шрифта нет) - PROCEDURE Destroy(VAR Font: TFont) - выгрузить шрифт, освободить динамическую память - Font указатель на шрифт - Присваивает переменной Font значение NIL + PROCEDURE Destroy(VAR Font: TFont) + выгрузить шрифт, освободить динамическую память + Font указатель на шрифт + Присваивает переменной Font значение NIL - PROCEDURE TextHeight(Font: TFont): INTEGER - получить высоту строки текста - Font указатель на шрифт - рез-т: высота строки текста в пикселях + PROCEDURE TextHeight(Font: TFont): INTEGER + получить высоту строки текста + Font указатель на шрифт + рез-т: высота строки текста в пикселях - PROCEDURE TextWidth(Font: TFont; - str, length, params: INTEGER): INTEGER - получить ширину строки текста - Font указатель на шрифт - str адрес строки текста в кодировке Win-1251 - length количество символов в строке или -1, если строка - завершается нулем - params параметры-флаги см. ниже - рез-т: ширина строки текста в пикселях + PROCEDURE TextWidth(Font: TFont; + str, length, params: INTEGER): INTEGER + получить ширину строки текста + Font указатель на шрифт + str адрес строки текста в кодировке Win-1251 + length количество символов в строке или -1, если строка + завершается нулем + params параметры-флаги см. ниже + рез-т: ширина строки текста в пикселях - PROCEDURE TextOut(Font: TFont; - canvas, x, y, str, length, color, params: INTEGER) - вывести текст в буфер - для вывода буфера в окно, использовать ф.65 или - ф.7 (если буфер 24-битный) - Font указатель на шрифт - canvas адрес графического буфера - структура буфера: - Xsize dd - Ysize dd - picture rb Xsize * Ysize * 4 (32 бита) - или Xsize * Ysize * 3 (24 бита) - x, y координаты текста относительно левого верхнего - угла буфера - str адрес строки текста в кодировке Win-1251 - length количество символов в строке или -1, если строка - завершается нулем - color цвет текста 0x00RRGGBB - params параметры-флаги: - 1 жирный - 2 курсив - 4 подчеркнутый - 8 перечеркнутый - 16 применить сглаживание - 32 вывод в 32-битный буфер - возможно использование флагов в любых сочетаниях + PROCEDURE TextOut(Font: TFont; + canvas, x, y, str, length, color, params: INTEGER) + вывести текст в буфер + для вывода буфера в окно, использовать ф.65 или + ф.7 (если буфер 24-битный) + Font указатель на шрифт + canvas адрес графического буфера + структура буфера: + Xsize dd + Ysize dd + picture rb Xsize * Ysize * 4 (32 бита) + или Xsize * Ysize * 3 (24 бита) + x, y координаты текста относительно левого верхнего + угла буфера + str адрес строки текста в кодировке Win-1251 + length количество символов в строке или -1, если строка + завершается нулем + color цвет текста 0x00RRGGBB + params параметры-флаги: + 1 жирный + 2 курсив + 4 подчеркнутый + 8 перечеркнутый + 16 применить сглаживание + 32 вывод в 32-битный буфер + возможно использование флагов в любых сочетаниях ------------------------------------------------------------------------------ MODULE RasterWorks - обертка библиотеки Rasterworks.obj ------------------------------------------------------------------------------ diff --git a/doc/x86.txt b/doc/x86.txt index d83a4a2..3a8e739 100644 --- a/doc/x86.txt +++ b/doc/x86.txt @@ -166,24 +166,6 @@ UTF-8 с BOM-сигнатурой. например: SYSTEM.CODE(08BH, 045H, 008H) (* mov eax, dword [ebp + 08h] *) - Также в модуле SYSTEM определен тип CARD16 (2 байта). Для типа CARD16 не -допускаются никакие явные операции, за исключением присваивания. -Преобразования CARD16 -> INTEGER и INTEGER -> CARD16 могут быть реализованы -так: - - PROCEDURE Card16ToInt (w: SYSTEM.CARD16): INTEGER; - VAR i: INTEGER; - BEGIN - SYSTEM.PUT(SYSTEM.ADR(i), w) - RETURN i - END Card16ToInt; - - PROCEDURE IntToCard16 (i: INTEGER): SYSTEM.CARD16; - VAR w: SYSTEM.CARD16; - BEGIN - SYSTEM.GET(SYSTEM.ADR(i), w) - RETURN w - END IntToCard16; Функции псевдомодуля SYSTEM нельзя использовать в константных выражениях. diff --git a/doc/x86_64.txt b/doc/x86_64.txt index ecee8d0..be646cd 100644 --- a/doc/x86_64.txt +++ b/doc/x86_64.txt @@ -160,13 +160,12 @@ UTF-8 с BOM-сигнатурой. PROCEDURE CODE(byte1, byte2,... : BYTE) Вставка машинного кода, byte1, byte2 ... - константы в диапазоне 0..255, - например: - + например: + SYSTEM.CODE(048H,08BH,045H,010H) (* mov rax,qword[rbp+16] *) - Также в модуле SYSTEM определены типы CARD16 (2 байта) и CARD32 (4 байта). -Для типов CARD16 и CARD32 не допускаются никакие явные операции, за -исключением присваивания. + Также, в модуле SYSTEM определен тип CARD32 (4 байта). Для типа CARD32 не +допускаются никакие явные операции, за исключением присваивания. Функции псевдомодуля SYSTEM нельзя использовать в константных выражениях. diff --git a/lib/KolibriOS/RTL.ob07 b/lib/KolibriOS/RTL.ob07 index f3b864d..bf1516c 100644 --- a/lib/KolibriOS/RTL.ob07 +++ b/lib/KolibriOS/RTL.ob07 @@ -184,7 +184,7 @@ BEGIN END _dispose; -PROCEDURE [stdcall] _length* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _length* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -197,15 +197,12 @@ BEGIN 0E2H, 0F8H, (* loop L1 *) 040H, (* inc eax *) (* L2: *) - 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 02BH, 045H, 00CH (* sub eax, dword [ebp + 0Ch] *) ) - RETURN 0 END _length; -PROCEDURE [stdcall] _lengthw* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _lengthw* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -222,11 +219,8 @@ BEGIN 040H, (* inc eax *) (* L2: *) 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 0D1H, 0E8H, (* shr eax, 1 *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 0D1H, 0E8H (* shr eax, 1 *) ) - RETURN 0 END _lengthw; diff --git a/lib/KolibriOS/Read.ob07 b/lib/KolibriOS/Read.ob07 index c9df9d2..c2e86e3 100644 --- a/lib/KolibriOS/Read.ob07 +++ b/lib/KolibriOS/Read.ob07 @@ -39,8 +39,8 @@ PROCEDURE Set*(F: File.FS; VAR x: SET): BOOLEAN; RETURN File.Read(F, sys.ADR(x), sys.SIZE(SET)) = sys.SIZE(SET) END Set; -PROCEDURE Card16*(F: File.FS; VAR x: sys.CARD16): BOOLEAN; - RETURN File.Read(F, sys.ADR(x), sys.SIZE(sys.CARD16)) = sys.SIZE(sys.CARD16) -END Card16; +PROCEDURE WChar*(F: File.FS; VAR x: WCHAR): BOOLEAN; + RETURN File.Read(F, sys.ADR(x), sys.SIZE(WCHAR)) = sys.SIZE(WCHAR) +END WChar; END Read. \ No newline at end of file diff --git a/lib/KolibriOS/Write.ob07 b/lib/KolibriOS/Write.ob07 index 153b2bb..6730d79 100644 --- a/lib/KolibriOS/Write.ob07 +++ b/lib/KolibriOS/Write.ob07 @@ -39,8 +39,8 @@ PROCEDURE Set*(F: File.FS; x: SET): BOOLEAN; RETURN File.Write(F, sys.ADR(x), sys.SIZE(SET)) = sys.SIZE(SET) END Set; -PROCEDURE Card16*(F: File.FS; x: sys.CARD16): BOOLEAN; - RETURN File.Write(F, sys.ADR(x), sys.SIZE(sys.CARD16)) = sys.SIZE(sys.CARD16) -END Card16; +PROCEDURE WChar*(F: File.FS; x: WCHAR): BOOLEAN; + RETURN File.Write(F, sys.ADR(x), sys.SIZE(WCHAR)) = sys.SIZE(WCHAR) +END WChar; END Write. \ No newline at end of file diff --git a/lib/Linux32/RTL.ob07 b/lib/Linux32/RTL.ob07 index f3b864d..bf1516c 100644 --- a/lib/Linux32/RTL.ob07 +++ b/lib/Linux32/RTL.ob07 @@ -184,7 +184,7 @@ BEGIN END _dispose; -PROCEDURE [stdcall] _length* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _length* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -197,15 +197,12 @@ BEGIN 0E2H, 0F8H, (* loop L1 *) 040H, (* inc eax *) (* L2: *) - 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 02BH, 045H, 00CH (* sub eax, dword [ebp + 0Ch] *) ) - RETURN 0 END _length; -PROCEDURE [stdcall] _lengthw* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _lengthw* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -222,11 +219,8 @@ BEGIN 040H, (* inc eax *) (* L2: *) 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 0D1H, 0E8H, (* shr eax, 1 *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 0D1H, 0E8H (* shr eax, 1 *) ) - RETURN 0 END _lengthw; diff --git a/lib/Linux64/RTL.ob07 b/lib/Linux64/RTL.ob07 index 65ea855..91f92b6 100644 --- a/lib/Linux64/RTL.ob07 +++ b/lib/Linux64/RTL.ob07 @@ -65,10 +65,8 @@ BEGIN 048H, 083H, 0E1H, 007H, (* and rcx, 7 *) 0F3H, 0A4H, (* rep movsb *) 05EH, (* pop rsi *) - 05FH, (* pop rdi *) + 05FH (* pop rdi *) (* L: *) - 05DH, (* pop rbp *) - 0C2H, 018H, 000H (* ret 24 *) ) END _move; @@ -186,7 +184,7 @@ BEGIN END _dispose; -PROCEDURE [stdcall64] _length* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall64] _length* (len, str: INTEGER); BEGIN SYSTEM.CODE( 048H, 08BH, 045H, 018H, (* mov rax, qword [rbp + 24] *) @@ -199,15 +197,12 @@ BEGIN 0E2H, 0F6H, (* loop L1 *) 048H, 0FFH, 0C0H, (* inc rax *) (* L2: *) - 048H, 02BH, 045H, 018H, (* sub rax, qword [rbp + 24] *) - 05DH, (* pop rbp *) - 0C2H, 010H, 000H (* ret 10h *) + 048H, 02BH, 045H, 018H (* sub rax, qword [rbp + 24] *) ) - RETURN 0 END _length; -PROCEDURE [stdcall64] _lengthw* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall64] _lengthw* (len, str: INTEGER); BEGIN SYSTEM.CODE( 048H, 08BH, 045H, 018H, (* mov rax, qword [rbp + 24] *) @@ -221,11 +216,8 @@ BEGIN 048H, 083H, 0C0H, 002H, (* add rax, 2 *) (* L2: *) 048H, 02BH, 045H, 018H, (* sub rax, qword [rbp + 24] *) - 048H, 0D1H, 0E8H, (* shr rax, 1 *) - 05DH, (* pop rbp *) - 0C2H, 010H, 000H (* ret 10h *) + 048H, 0D1H, 0E8H (* shr rax, 1 *) ) - RETURN 0 END _lengthw; diff --git a/lib/Windows32/HOST.ob07 b/lib/Windows32/HOST.ob07 index 78c531b..a603c37 100644 --- a/lib/Windows32/HOST.ob07 +++ b/lib/Windows32/HOST.ob07 @@ -42,9 +42,9 @@ TYPE cBytes: CHAR; fFixedDisk: CHAR; - nErrCode: SYSTEM.CARD16; - Reserved1: SYSTEM.CARD16; - Reserved2: SYSTEM.CARD16; + nErrCode: WCHAR; + Reserved1: WCHAR; + Reserved2: WCHAR; szPathName: ARRAY OFS_MAXPATHNAME OF CHAR END; diff --git a/lib/Windows32/RTL.ob07 b/lib/Windows32/RTL.ob07 index f3b864d..bf1516c 100644 --- a/lib/Windows32/RTL.ob07 +++ b/lib/Windows32/RTL.ob07 @@ -184,7 +184,7 @@ BEGIN END _dispose; -PROCEDURE [stdcall] _length* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _length* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -197,15 +197,12 @@ BEGIN 0E2H, 0F8H, (* loop L1 *) 040H, (* inc eax *) (* L2: *) - 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 02BH, 045H, 00CH (* sub eax, dword [ebp + 0Ch] *) ) - RETURN 0 END _length; -PROCEDURE [stdcall] _lengthw* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall] _lengthw* (len, str: INTEGER); BEGIN SYSTEM.CODE( 08BH, 045H, 00CH, (* mov eax, dword [ebp + 0Ch] *) @@ -222,11 +219,8 @@ BEGIN 040H, (* inc eax *) (* L2: *) 02BH, 045H, 00CH, (* sub eax, dword [ebp + 0Ch] *) - 0D1H, 0E8H, (* shr eax, 1 *) - 05DH, (* pop ebp *) - 0C2H, 008H, 000H (* ret 08h *) + 0D1H, 0E8H (* shr eax, 1 *) ) - RETURN 0 END _lengthw; diff --git a/lib/Windows64/HOST.ob07 b/lib/Windows64/HOST.ob07 index 78c531b..a603c37 100644 --- a/lib/Windows64/HOST.ob07 +++ b/lib/Windows64/HOST.ob07 @@ -42,9 +42,9 @@ TYPE cBytes: CHAR; fFixedDisk: CHAR; - nErrCode: SYSTEM.CARD16; - Reserved1: SYSTEM.CARD16; - Reserved2: SYSTEM.CARD16; + nErrCode: WCHAR; + Reserved1: WCHAR; + Reserved2: WCHAR; szPathName: ARRAY OFS_MAXPATHNAME OF CHAR END; diff --git a/lib/Windows64/RTL.ob07 b/lib/Windows64/RTL.ob07 index 65ea855..91f92b6 100644 --- a/lib/Windows64/RTL.ob07 +++ b/lib/Windows64/RTL.ob07 @@ -65,10 +65,8 @@ BEGIN 048H, 083H, 0E1H, 007H, (* and rcx, 7 *) 0F3H, 0A4H, (* rep movsb *) 05EH, (* pop rsi *) - 05FH, (* pop rdi *) + 05FH (* pop rdi *) (* L: *) - 05DH, (* pop rbp *) - 0C2H, 018H, 000H (* ret 24 *) ) END _move; @@ -186,7 +184,7 @@ BEGIN END _dispose; -PROCEDURE [stdcall64] _length* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall64] _length* (len, str: INTEGER); BEGIN SYSTEM.CODE( 048H, 08BH, 045H, 018H, (* mov rax, qword [rbp + 24] *) @@ -199,15 +197,12 @@ BEGIN 0E2H, 0F6H, (* loop L1 *) 048H, 0FFH, 0C0H, (* inc rax *) (* L2: *) - 048H, 02BH, 045H, 018H, (* sub rax, qword [rbp + 24] *) - 05DH, (* pop rbp *) - 0C2H, 010H, 000H (* ret 10h *) + 048H, 02BH, 045H, 018H (* sub rax, qword [rbp + 24] *) ) - RETURN 0 END _length; -PROCEDURE [stdcall64] _lengthw* (len, str: INTEGER): INTEGER; +PROCEDURE [stdcall64] _lengthw* (len, str: INTEGER); BEGIN SYSTEM.CODE( 048H, 08BH, 045H, 018H, (* mov rax, qword [rbp + 24] *) @@ -221,11 +216,8 @@ BEGIN 048H, 083H, 0C0H, 002H, (* add rax, 2 *) (* L2: *) 048H, 02BH, 045H, 018H, (* sub rax, qword [rbp + 24] *) - 048H, 0D1H, 0E8H, (* shr rax, 1 *) - 05DH, (* pop rbp *) - 0C2H, 010H, 000H (* ret 10h *) + 048H, 0D1H, 0E8H (* shr rax, 1 *) ) - RETURN 0 END _lengthw; diff --git a/source/PROG.ob07 b/source/PROG.ob07 index a5e0901..fd6fb57 100644 --- a/source/PROG.ob07 +++ b/source/PROG.ob07 @@ -24,9 +24,9 @@ CONST tINTEGER* = 1; tBYTE* = 2; tCHAR* = 3; tSET* = 4; tBOOLEAN* = 5; tREAL* = 6; tARRAY* = 7; tRECORD* = 8; tPOINTER* = 9; tPROCEDURE* = 10; tSTRING* = 11; tNIL* = 12; - tCARD16* = 13; tCARD32* = 14; tANYREC* = 15; tWCHAR* = 16; + tCARD32* = 13; tANYREC* = 14; tWCHAR* = 15; - BASICTYPES* = {tINTEGER, tBYTE, tCHAR, tSET, tBOOLEAN, tREAL, tCARD16, tCARD32, tWCHAR}; + BASICTYPES* = {tINTEGER, tBYTE, tCHAR, tSET, tBOOLEAN, tREAL, tCARD32, tWCHAR}; stABS* = 1; stASR* = 2; stCHR* = 3; stFLOOR* = 4; stFLT* = 5; stLEN* = 6; stLSL* = 7; stODD* = 8; @@ -205,7 +205,7 @@ TYPE stTypes*: RECORD tINTEGER*, tBYTE*, tCHAR*, tWCHAR*, tSET*, tBOOLEAN*, tREAL*, - tSTRING*, tNIL*, tCARD16*, tCARD32*, tANYREC*: TYPE_ + tSTRING*, tNIL*, tCARD32*, tANYREC*: TYPE_ END; @@ -1126,10 +1126,6 @@ BEGIN EnterProc(unit, "PUT16", idSYSPROC, sysPUT16); EnterProc(unit, "COPY", idSYSPROC, sysCOPY); - ident := addIdent(unit, SCAN.enterid("CARD16"), idTYPE); - ident.type := program.stTypes.tCARD16; - ident.export := TRUE; - ident := addIdent(unit, SCAN.enterid("CARD32"), idTYPE); ident.type := program.stTypes.tCARD32; ident.export := TRUE @@ -1248,7 +1244,6 @@ BEGIN IF target # mConst.Target_iMSP430 THEN program.stTypes.tWCHAR := enterType(program, tWCHAR, 2, 0, NIL); program.stTypes.tREAL := enterType(program, tREAL, 8, 0, NIL); - program.stTypes.tCARD16 := enterType(program, tCARD16, 2, 0, NIL); program.stTypes.tCARD32 := enterType(program, tCARD32, 4, 0, NIL) END; @@ -1267,7 +1262,6 @@ BEGIN IF target # mConst.Target_iMSP430 THEN program.stTypes.tWCHAR.align := program.stTypes.tWCHAR.size; program.stTypes.tREAL.align := program.stTypes.tREAL.size; - program.stTypes.tCARD16.align := program.stTypes.tCARD16.size; program.stTypes.tCARD32.align := program.stTypes.tCARD32.size END; diff --git a/source/STATEMENTS.ob07 b/source/STATEMENTS.ob07 index 8ccde33..1823c91 100644 --- a/source/STATEMENTS.ob07 +++ b/source/STATEMENTS.ob07 @@ -470,8 +470,6 @@ BEGIN END ELSIF (e.type.typ = PROG.tCARD32) & (VarType.typ = PROG.tCARD32) THEN IL.AddCmd0(IL.opSAVE32) - ELSIF (e.type.typ = PROG.tCARD16) & (VarType.typ = PROG.tCARD16) THEN - IL.AddCmd0(IL.opSAVE16) ELSIF ~PROG.isOpenArray(VarType) & ~PROG.isOpenArray(e.type) & PROG.isTypeEq(VarType, e.type) THEN IF e.obj = ePROC THEN IL.AssignProc(e.ident.proc.label) @@ -934,7 +932,7 @@ BEGIN END ELSIF (proc = PROG.sysPUT8) OR (proc = PROG.sysPUT16) OR (proc = PROG.sysPUT32) THEN - PARS.check(e2.type.typ IN {PROG.tINTEGER, PROG.tBYTE, PROG.tCHAR, PROG.tSET, PROG.tWCHAR, PROG.tCARD16, PROG.tCARD32}, pos, 66); + PARS.check(e2.type.typ IN {PROG.tINTEGER, PROG.tBYTE, PROG.tCHAR, PROG.tSET, PROG.tWCHAR, PROG.tCARD32}, pos, 66); IF e2.obj = eCONST THEN LoadConst(e2) END;