Hу сейчас я вам урок грамотного прог=?ko

Feb 04, 2004 Last reply: 22 years ago 39 Replies

Hello, Yuri! You wrote to "Alexander Derazhne" on Sat, 07 Feb 2004 11:04:26 +0300:

MP>> Hа самом деле правильная постановка вопроса должна звучать так MP>> "какие возможности есть у ЯВУ, которых нет у АСМ" ;) LB>> Контроль типов, GS>> Есть в Borland TASM

YK>> Это как? Как в Borland TASM осуществляется контроль типов в такой YK>> ситуации: add r1, r2 если в r1 лежит INT, а в r2 CHAR?

AD>> Что-то мне глючится, что если r1 определён через dw, а r2 через db, AD>> то он ругнётся. И MASM ругнётся. А идёт это, вроде бы от родного AD>> интеловского ASM86.

YK> И это весь контроль типов? :)

Не, ну он ещё и DWORD различал. Так что "нашу птичку попрошу не обижать!" :-))))

With best regards, Alexander Derazhne.

5-Feb-04 18:34 George Shepelev wrote to Yuri Kostylev:

MP>>> возня с ОС? мне лично ос нафиг не надо, нужна хорошая файловая YK>> 1)^^^^^^^ MP>>> система! В исходниках на АСМ. В идеале Fat12/16/32 совместимая. MP>>>

YK>> 2)^^^^^^^^^^^ YK>> Это твои требования не совместимы.

GS> Если хорошесть означает совместимость с уже имеющимися реализациями - GS> выбор GS> вполне осмысленный. Ты в курсе, какая файловая система используется, к GS> примеру, во flash-драйвах?

Уточни, пожалуйста, что ты имеешь ввиду под flash-драйвом...

PCMCIA linear flash ?

MMC ?

CF вообще имеет ATA-интерфейс и всем по барабану что там флеш.

А на моей "файлы с работы домой и назад носильной" USB-флешке великолепно живёт NTFS.

From: Yuri Kostylev snipped-for-privacy@p1.f.n5050.z2.fidonet.org>

Subject: Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko

LB> ëÏÎÔÒÏÌØ ÔÉÐÏ×, GS> åÓÔØ × Borland TASM YK> üÔÏ ËÁË?

GS> íÏÌÞÁ.

YK> ëÁË × Borland TASM ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ËÏÎÔÒÏÌØ ÔÉÐÏ× × ÔÁËÏÊ YK> ÓÉÔÕÁÃÉÉ: add r1, r2 ÅÓÌÉ × r1 ÌÅÖÉÔ INT, Á × r2 CHAR?

GS> HÅÔÕ × ÁÓÓÅÍÂÌÅÒÅ int É char. åÓÔØ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á...

úÎÁÞÉÔ, ÔÉÐÏ× ÎÅÔ. ñÓÎÏ.

GS> ADD AX,BL - ÂÕÄÅÔ ÒÕÇÁÔØÓÑ

GS> ADD AL,[data_w] - ÂÕÄÅÔ ÒÕÇÁÔØÓÑ

From: Yuri Kostylev snipped-for-privacy@p1.f.n5050.z2.fidonet.org>

Subject: Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko

YK> á ÖÁÔØ ÐÏ 15 ÒÁÚ ÎÁ ËÎÏÐËÉ ÒÁÄÉ ÏÄÎÏÊ ÉÎÓÔÒÕËÃÉÉ ÐÒÏÃÅÓÓÏÒÁ ÎÁÆÉÇ YK> ÎÅ ÓÄÁÌÏÓØ. ôÕÐÕÀ ÒÁÂÏÔÕ ÐÕÓÔØ ËÏÍÐÉÌÑÔÏÒ ÄÅÌÁÅÔ, ÄÌÑ ÔÏÇÏ É YK> ÐÒÉÄÕÍÁÎ. GS> üËÏÎÏÍÉÔØ ÎÕÖÎÏ ×Ï×ÓÅ ÎÅ ÎÁÖÁÔÉÑ ÎÁ ËÎÏÐËÉ... YK> üÔÏ ÓÁÍÏÅ ×ÁÖÎÏÅ - ÎÁÖÁÔÉÑ ÎÁ ËÎÏÐËÉ.

GS> çÌÕÐÏÓÔØ ËÁËÁÑ!

HÅ ÌÀÂÌÀ ÄÅÌÁÔØ ÎÅÎÕÖÎÕÀ, ÂÅÓÐÏÌÅÚÎÕÀ ÒÁÂÏÔÕ. ðÏÜÔÏÍÕ ÄÌÑ ÍÅÎÑ - ÎÅ ÇÌÕÐÏÓÔØ.

YK> éÓÔÉÎÁ ÍÎÅ ÉÚ×ÅÓÔÎÁ, Á ÆÌÅÊÍ ÎÕÖÅÎ ÄÌÑ ÄÕÛÅ×ÎÏÇÏ ÒÁ×ÎÏ×ÅÓÉÑ.

GS> á, ÐÏÎÑÔÎÏ! ;)))

úÁÍÅÞÁÔÅÌØÎÏ!

Hello, Yuri!

Вcк Фев 08 2004, Yuri Kostylev писал к George Shepelev по поводу "Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko." GS>> Hету в ассемблере int и char. Есть байты, слова, двойные слова... YK> Значит, типов нет. Ясно. ;) Атипичные типы вовсе не в ассемблере, процессор не работает с int.

YK> Rydw i'n mynd i aros yma. WBR! Maxim Polyanskiy.

Yuri, ты ещё здесь сидишь?

Воскресенье Февраль 08 2004 00:52, Yuri Kostylev wrote to George Shepelev:

YK>> Как в Borland TASM осуществляется контроль типов в такой YK>> ситуации: add r1, r2 если в r1 лежит INT, а в r2 CHAR? GS>> Hету в ассемблере int и char. Есть байты, слова, двойные слова... YK> Значит, типов нет.

Ассемблерные типы - это байты, слова, двойные слова.

YK> Ясно.

Hичего тебе не ясно ;)

Георгий

All, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

þÅÔ×ÅÒÇ æÅ×ÒÁÌØ 05 2004 18:34, George Shepelev wrote to Yuri Kostylev:

MP>>> ÓÉÓÔÅÍÁ! ÷ ÉÓÈÏÄÎÉËÁÈ ÎÁ áóí. ÷ ÉÄÅÁÌÅ Fat12/16/32 MP>>> ÓÏ×ÍÅÓÔÉÍÁÑ. YK>> 2)^^^^^^^^^^^ YK>> üÔÏ Ô×ÏÉ ÔÒÅÂÏ×ÁÎÉÑ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ. GS> åÓÌÉ ÈÏÒÏÛÅÓÔØ ÏÚÎÁÞÁÅÔ ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ÕÖÅ ÉÍÅÀÝÉÍÉÓÑ ÒÅÁÌÉÚÁÃÉÑÍÉ - GS> ×ÙÂÏÒ ×ÐÏÌÎÅ ÏÓÍÙÓÌÅÎÎÙÊ. ôÙ × ËÕÒÓÅ, ËÁËÁÑ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ GS> ÉÓÐÏÌØÚÕÅÔÓÑ, Ë ÐÒÉÍÅÒÕ, ×Ï flash-ÄÒÁÊ×ÁÈ?

ëÓÔÁÔÉ, ×ÏÔ Åݣ ÔÅÚÉÓ × ÐÏÄÔ×ÅÒÖÄÅÎÉÅ ÄÏÓÔÁÔÏÞÎÏ ÛÉÒÏËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ FAT. æÉÒÍÁ M$, ÎÁËÏÎÅÃ, ÒÅÛÉÌÁ ÐÏÌÕÞÉÔØ ÐÒÉÂÙÌØ ÓÏ Ó×ÏÉÈ ÞÅÔÙңÈ ÐÁÔÅÎÔÏ× ÎÁ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ FAT. ôÅÐÅÒØ "× ÃÅÌÑÈ ÓÔÁÎÄÁÒÔÉÚÁÃÉÉ É ÕÌÕÞÛÅÎÉÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ" ÐÒÏÉÚ×ÏÄÉÔÅÌÉ ÄÏÌÖÎÙ ÂÕÄÕÔ ÐÌÁÔÉÔØ M$ ÚÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ FAT × Ó×ÏÉÈ ÒÁÚÒÁÂÏÔËÁÈ. ìÉÃÅÎÚÉÏÎÎÙÅ ÏÔÞÉÓÌÅÎÉÑ ÓÏÓÔÁ×ÌÑÀÔ 25 ÃÅÎÔÏ× ÚÁ ËÁÖÄÏÅ ÉÚÄÅÌÉÅ, ÎÏ ÎÅ ÂÏÌØÛÅ 250 ÔÙÓ ÂÁËÓÏ× Ó ËÏÍÐÁÎÉÉ. ÷ÏÔ ÔÁËÉÅ ×ÏÔ ÐÉÒÏÇÉ Ó ËÏÔÑÔÁÍÉ...

çÅÏÒÇÉÊ

From: Yuri Kostylev snipped-for-privacy@p1.f.n5050.z2.fidonet.org>

Subject: Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko

YK> ëÁË × Borland TASM ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ËÏÎÔÒÏÌØ ÔÉÐÏ× × ÔÁËÏÊ YK> ÓÉÔÕÁÃÉÉ: add r1, r2 ÅÓÌÉ × r1 ÌÅÖÉÔ INT, Á × r2 CHAR? GS> HÅÔÕ × ÁÓÓÅÍÂÌÅÒÅ int É char. åÓÔØ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á... YK> úÎÁÞÉÔ, ÔÉÐÏ× ÎÅÔ.

GS> áÓÓÅÍÂÌÅÒÎÙÅ ÔÉÐÙ - ÜÔÏ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á.

üÔÏ ÎÅ ÔÉÐÙ.

YK> ñÓÎÏ.

GS> HÉÞÅÇÏ ÔÅÂÅ ÎÅ ÑÓÎÏ ;)

íÎÅ _×ӣ_ ÑÓÎÏ!

From: Yuri Kostylev snipped-for-privacy@p1.f.n5050.z2.fidonet.org>

Subject: Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko

GS> HÅÔÕ × ÁÓÓÅÍÂÌÅÒÅ int É char. åÓÔØ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á... YK> úÎÁÞÉÔ, ÔÉÐÏ× ÎÅÔ. ñÓÎÏ. MP> ;) áÔÉÐÉÞÎÙÅ ÔÉÐÙ ×Ï×ÓÅ ÎÅ × ÁÓÓÅÍÂÌÅÒÅ,

HÅ ÓÍÏÇ ÐÅÒÅ×ÅÓÔÉ, ÉÚ×ÉÎÉ.

MP> ÐÒÏÃÅÓÓÏÒ ÎÅ ÒÁÂÏÔÁÅÔ Ó MP> int.

üÔÏ ÓÍÏÔÒÑ ËÁËÏÊ ÐÒÏÃÅÓÓÏÒ. ëÏÒÏÞÅ, × ×ÁÛÉÈ ÁÓÓÅÍÂÌÅÒÁÈ ÔÉÐÏ× ÎÅÔ. óÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, ËÏÎÔÒÏÌØ at compile time ÎÅ×ÏÚÍÏÖÅÎ.

Hello, Yuri!

Втp Фев 10 2004, Yuri Kostylev писал к Maxim Polyanskiy по поводу "Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko." YK> Короче, в ваших ассемблерах типов нет. Соответственно, YK> контроль at compile time невозможен. Брехня!

war1 dw ? - если это не тип то что это?

mov eax,var1 - ошибка! mov al,var1 - ощибка! mov ax,var1 - ГУД!

Это не контроль типов - то как это называется?

WBR! Maxim Polyanskiy.

GS> Если хорошесть означает совместимость с уже имеющимися реализациями - GS> выбор GS> вполне осмысленный. Ты в курсе, какая файловая система используется, к GS> примеру, GS> во flash-драйвах?

Да, есть специальная Flash FS, характеризующаяся тем, что ресурс всего адресуемого пространства накопителя вырабатывает равномерно, не в пример FAT, у которого область отведённая под собственно FAT использует весь свой ресурс на порядок раньше. Это как АОHы, которые не больше чем по 3 года работают...

Yuri, ты ещё здесь сидишь?

Вторник Февраль 10 2004 02:01, Yuri Kostylev wrote to George Shepelev:

GS>> Hету в ассемблере int и char. Есть байты, слова, двойные слова... YK>> Значит, типов нет. GS>> Ассемблерные типы - это байты, слова, двойные слова. YK> Это не типы.

Это _именно_ типы. Ассемблерные. "Учи матчасть" (c)

YK>> Ясно. GS>> Hичего тебе не ясно ;) YK> Мне _всё_ ясно!

С тобой... ;)

Георгий

Hello, Yuri!

Сpд Фев 11 2004, Yuri Kostylev писал к Maxim Polyanskiy по поводу "Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko." YK>> at compile time невозможен. MP>> Брехня! MP>> war1 dw ? - если это не тип то что это? YK> Это размер. Окей. Пусть будет размер. MP>> mov eax,var1 - ошибка! MP>> mov al,var1 - ощибка! MP>> mov ax,var1 - ГУД! MP>> Это не контроль типов - то как это называется? YK> Контроль типов типы контролирует, в курсе? Значит по твоему типа контроль размеров получается... ;) YK> Допустим, у тебя в программе описана некая структура (тип данных) YK> и функция (процедура), с ним работающая, в которую передаётся YK> данное этого типа как ссылка в некоем регистре (мы же на асме пишем?) YK> И вот ты засунул в регистр некое произвольное YK> значение и вызвал эту процедуру. YK> Сильно твой ассемблер ругаться будет? А что собственно при этом изменилось?

stru STRUCT var1 db ? var2 dw ? var3 dd ? var4 dq ? ... stru ENDS

stru1 stru <>

mov stru1.var1,eax - ошибка ;) и так далее, cм выше!

YK> move R1, addr data1 YK> call somefunc // Okey

YK> move R1, 0abcd1231124 YK> call somefunc // ????????

И что илюстрирует твой пример? Что в первом случае ты передаешь в функцию адрес структуры а во 2-м хрен знает что? Дык хрен знает, что в хрен знает какое место можно исполнить на любом языке программирования, да на асме это проще но не более того. Причем примеры то детские, ты еще скажи про стек (лишний пуш), хотя откуда вам про такое знать... ;) YK> Rydw i'n mynd i aros yma. WBR! Maxim Polyanskiy.

Hello, George Shepelev !

Это не типы, это размеры, Жора.

С уважением, Дима Орлов.

From: Yuri Kostylev snipped-for-privacy@p1.f.n5050.z2.fidonet.org>

Subject: Re: =?koi8-r?b?SNUg08XK3sHTINEg18HNINXSz8sgx9LBzc/Uzs/HzyDQ0s/H?= =?ko

GS> HÅÔÕ × ÁÓÓÅÍÂÌÅÒÅ int É char. åÓÔØ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á... YK> úÎÁÞÉÔ, ÔÉÐÏ× ÎÅÔ. GS> áÓÓÅÍÂÌÅÒÎÙÅ ÔÉÐÙ - ÜÔÏ ÂÁÊÔÙ, ÓÌÏ×Á, Ä×ÏÊÎÙÅ ÓÌÏ×Á. YK> üÔÏ ÎÅ ÔÉÐÙ.

GS> üÔÏ _ÉÍÅÎÎÏ_ ÔÉÐÙ. áÓÓÅÍÂÌÅÒÎÙÅ. "õÞÉ ÍÁÔÞÁÓÔØ" (c)

HÕ ÈÏÒÏÛÏ. áÓÓÅÍÂÌÅÒÎÙÅ ÔÉÐÙ - ÜÔÏ ÎÅ ÔÉÐÙ. üÔÏ ÁÓÓÅÍÂÌÅÒÎÙÅ ÔÉÐÙ. äÏ×ÏÌÅÎ?

YK> ñÓÎÏ. GS> HÉÞÅÇÏ ÔÅÂÅ ÎÅ ÑÓÎÏ ;) YK> íÎÅ _×ӣ_ ÑÓÎÏ!

GS> ó ÔÏÂÏÊ... ;)

ó ÔÏÂÏÊ ÔÏÖÅ!

Kirill, ты ещё здесь сидишь?

Среда Февраль 11 2004 10:00, Kirill Frolov wrote to George Shepelev:

GS>> Если хорошесть означает совместимость с уже имеющимися GS>> реализациями - выбор вполне осмысленный. Ты в курсе, какая GS>> файловая система используется, к примеру, во flash-драйвах? KF> Да, есть специальная Flash FS, характеризующаяся тем, что ресурс KF> всего адресуемого пространства накопителя вырабатывает равномерно,

Это "нижний уровень" (внутреннее дело разработчиков девайсины). Поверх ставят "нормальную" систему, обычно FAT (ту самую, за использование которой M$ решил денюшку собирать)...

Георгий

Hi Yuri !

Совсем недавно 04 Feb 04 19:18, Yuri Kostylev писал к Maxim Polyanskiy:

DO>> Что хорошего в FAT? MP>> Только то, что она совместима с PC.

YK> С чем совместима!? С каким таким РС?

Лементарно. У меня есть компакт-флеш карточка, в которую мой контроллер собирает данные, причем пишет их в виде файлов FAT16. Для вычитывания карточка выдергивается из контроллера и относится к ближайшему ПС-шному ридеру таких карточек. Карта видется как диск FAT16, данные- как файлы. Все довольны, особенно те, кому не нужно писать драйвера в PC для считывания данных из карты.

Если ты имеешь в виду нужность FAT там, где только этот контроллер к этой хранилке и доступается- то таки да, не совсем нужная и (по-моему) абсолютно избыточная вещь. Как правило, о хранящихся в устройстве данных известно достаточно, чтобы сильно соптимизировать метод хранения. Часто и файловой системой то, что действительно реально требуется, назвать нельзя :)

WBRgrds Ruslan

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

óÕÂÂÏÔÁ æÅ×ÒÁÌØ 21 2004 17:21, Kirill Frolov wrote to George Shepelev:

GS>> ëÓÔÁÔÉ, ×ÏÔ Åݣ ÔÅÚÉÓ × ÐÏÄÔ×ÅÒÖÄÅÎÉÅ ÄÏÓÔÁÔÏÞÎÏ ÛÉÒÏËÏÇÏ GS>> ÉÓÐÏÌØÚÏ×ÁÎÉÑ FAT. æÉÒÍÁ M$, ÎÁËÏÎÅÃ, ÒÅÛÉÌÁ ÐÏÌÕÞÉÔØ ÐÒÉÂÙÌØ ÓÏ GS>> Ó×ÏÉÈ ÞÅÔÙңÈ ÐÁÔÅÎÔÏ× ÎÁ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ FAT. ôÅÐÅÒØ "× ÃÅÌÑÈ GS>> ÓÔÁÎÄÁÒÔÉÚÁÃÉÉ É ÕÌÕÞÛÅÎÉÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ" ÐÒÏÉÚ×ÏÄÉÔÅÌÉ ÄÏÌÖÎÙ GS>> ÂÕÄÕÔ ÐÌÁÔÉÔØ M$ ÚÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ FAT × Ó×ÏÉÈ GS>> ÒÁÚÒÁÂÏÔËÁÈ. ìÉÃÅÎÚÉÏÎÎÙÅ ÏÔÞÉÓÌÅÎÉÑ ÓÏÓÔÁ×ÌÑÀÔ 25 ÃÅÎÔÏ× ÚÁ GS>> ËÁÖÄÏÅ ÉÚÄÅÌÉÅ, ÎÏ ÎÅ ÂÏÌØÛÅ 250 ÔÙÓ ÂÁËÓÏ× Ó ËÏÍÐÁÎÉÉ. ÷ÏÔ ÔÁËÉÅ GS>> ×ÏÔ ÐÉÒÏÇÉ Ó ËÏÔÑÔÁÍÉ... KF> é ÄÁ×ÎÏ? á ÓÓÙÌËÕ ÍÏÖÎÏ?

HÅÕÖÅÌÉ ÓÏ×ÓÅÍ ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÄÏÇÁÄÁÔØÓÑ, ÇÄÅ ÓÔÏÉÔ ÉÓËÁÔØ ÔÁËÕÀ ÉÎÆÕ? é ÐÏÉÓËÏ×ÉËÁÍÉ ÐÏÌØÚÏ×ÁÔØÓÑ ÎÅ ÄÁÎÏ? ìÁÄÎÏ, ÌÏ×É

formatting link

çÅÏÒÇÉÊ

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required