![]() |
|
|
![]()
|
|
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Возникла идея создания собственного типа переменных. Но для этого нужно знать, как вообще работает тип переменной.
Я представляю себе это как совокупность правил по выделению памяти и только. Получается, чтобы создать свой тип переменной, надо просто перегрузить процесс выделения памяти для того же int ? |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Это в асм. А создать свой тип данных на С++ можно за пять секунд - напиши класс или стракт.
-------------------- |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
нет, именно тип переменной... Я так и предполагал... все операции с памятью для переменных делаются на асм'е. ЗЫ перенесите тогда тему туда... плиз... |
|||
|
||||
| IEZ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 10.2.2005 Где: Санкт-Петербург Репутация: нет Всего: 3 |
Интересно какой тип ты хочешь создать, и которого еще не создали?
-------------------- "Нужно делать так, как нужно, а как не нужно, делать не нужно" (с) Винни-Пух. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Проще всего это сделать класс и перегрузить операторы. Зачем ещё какая то возня?
--------------------
|
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: нет Всего: 47 |
|
|||
|
||||
| Goryachev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 23.2.2005 Где: Израиль Репутация: нет Всего: нет |
chipset
bel_nikita Согласен |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Модератор: перенесено в раздел Ассемблер по просьбе автора темы.
Это сообщение отредактировал(а) chipset - 23.2.2005, 03:44 --------------------
|
|||
|
||||
| Chingachguk |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
En_t_end
Возьмем, к примеру, создание длинного целого в языке Паскаль (DOS). Пусть это будет 96-битное целое без знака. Определяем тип:
Определяем функции сложения и вычитания:
Теперь при записи Add96Int(Val1,Val2,Res); в переменную типа t96Int будет помещена сумма Val1+Val2. Это процедурный метод. Однако те же самые команды сложения могут быть помещены непосредственно вместо вызова Add96Int (макрос). В языке СИ такое сделать проще - надо поиграться с #define - суметь сделать в нем ассемблерные команды. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
||||
|
|||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Chingachguk
То есть, как я понял, чтобы пользовать стандарты алгебраических преобразований, мне надо будет делать функции... хмм... хотя по сути оно и правильно. Блин выдрать бы определение int из си и посмотреть, как все организованно( только вот откуда именно выдирать??).
Можешь привести пример, ну типа, как для паскаля? Странно, но про асм в дефайнах впервые слышу... |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
int i=1, т.е. mov word ptr[bp-2],1 push word ptr[bp-2] Наверно так! --------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Я действительно стыкался с проекатами когда необходимо организовывать ИМЕННО новый тип переменной и ИМЕННО под асмом(для С++, кстати)
Это нежно для повышения быстродействия. Например я лично "создавал" типы размерности которых были раскатаны на несколько килобайт(тобиш sizeof дает несколько тысяч Что вы хотоите создать и для чего вам это нужно? А то вопрос, если это так можно назвать поставлен очень АБСТРАКТНО. И получаеться действие без вектора. 2 AISIN Что то в этом духе, но это для int, а что вы сделает с постиеньким float? -------------------- Never again... |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
Nuzur Наверно float будет состоять из двух int.т.е. один int показывает число до запятой, а другой int после запятой!
--------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Ты не хочешь пояснить что именно за собственный тип переменных ты хочешь создать, для чего именно, что там особенного предполагается и тд.
Это сообщение отредактировал(а) vadims - 12.7.2005, 14:06 -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: нет Всего: 134 |
Это не флоат, это скорее фиксед c 32 битами для целой части и 32 для дробной
Да почти то же самое. float f=1; Может быть переведён либо в fld1(ура оптимизации) или в mov dword [bp-2], 0x3f800000 fld dword [bp-2] Это сообщение отредактировал(а) Mayk - 12.7.2005, 13:18 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |