Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает вставка __asm {} 
:(
    Опции темы
FortMax
  Дата 14.4.2009, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 2.10.2006
Где: Россия, г. Бироби джан ЕАО

Репутация: нет
Всего: 5



Доброго времени суток smile 
Вот в образовательных целях решил в простую консольку написанную в Borland® Developer Studio for Microsoft® Windows™ Version 10.0.2151.25345 вставить наипростейший асм код. Я то вставил,  а среда ругается, вроде как не понимает асм:
Код

[C++ Error] Unit2.cpp(54): E2451 Undefined symbol 'Ho' и т.д.

вставка такая
Код

__asm {
            MOV AH,2dH
            INT 21H
            MOV CH,Ho
            MOV CL,Mi
            MOV DH,Se
        }


подскажите почему так происходит ???




--------------------
user posted image
PM MAIL ICQ   Вверх
Dem_max
Дата 14.4.2009, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



А что такое  Но  ????


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Wolf
Дата 14.4.2009, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.6.2006
Где: Нижневартовск

Репутация: нет
Всего: нет



Что такое Ho, Mi, Se? Я так понял переменные с часами минутами и секундами? А они все обьявлены? И кстати int 21h вызывается после заполнения регистров cl, ch, dh
PM MAIL ICQ   Вверх
586
Дата 14.4.2009, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 57
Всего: 146



Цитата(FortMax @  14.4.2009,  04:23 Найти цитируемый пост)
            MOV AH,2dH
            INT 21H

В Windows нет int21h. Это DOS прерывание.
PM   Вверх
FortMax
Дата 14.4.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 2.10.2006
Где: Россия, г. Бироби джан ЕАО

Репутация: нет
Всего: 5



а не могли ли бы привести простенькую вставочку asm для с++ smile 


--------------------
user posted image
PM MAIL ICQ   Вверх
ksili
Дата 14.4.2009, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



простенькая наверно есть в хелпе к Билдеру


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
CaLaT
Дата 14.4.2009, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 29.6.2008
Где: Город родной - Пи тер я твой!

Репутация: нет
Всего: нет



Цитата

Examples

// This example places a single assembler statement in your code:

asm pop dx

// If you want to include several asm statements,
// surround them with braces:
asm {
  mov ax, 0x0e07
  xor bx, bx
  int 0x10         // makes the system beep

}


Это сообщение отредактировал(а) CaLaT - 14.4.2009, 10:03
PM MAIL   Вверх
xvr
Дата 14.4.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Коментарии на int 21h и int 10h надо поменять на // Crash your application  smile 
PM MAIL   Вверх
A5uKa
Дата 14.4.2009, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 2
Всего: 16



У меня проблема

Код

 DWORD dwID1,dwID2;
    asm{
        pushad
        mov eax,3
        cpuid
        mov [dwID2],edx
        mov [dwID1],eax
        // mov [dwID2],ecx
        popad
    }


нули даёт в  dwID1,dwID2;

из этой темы

Это сообщение отредактировал(а) A5uKa - 14.4.2009, 16:20
PM   Вверх
xvr
Дата 14.4.2009, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Правильно дает нули, 3 - это PSN (Processor serial number)
Цитата

Processor serial number (PSN) is not supported in the Pentium 4 processor or later. On all models, use the PSN flag (returned using CPUID) to check for PSN support before accessing the feature.
See AP-485, Intel Processor Identification and the CPUID Instruction (Order Number 241618) for more information on PSN.

PM MAIL   Вверх
A5uKa
Дата 14.4.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 2
Всего: 16



И как мне быть :(

Или хотя бы ссылку на этот ресурс
PM   Вверх
xvr
Дата 15.4.2009, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(A5uKa @ 14.4.2009,  21:40)
И как мне быть :(

Никак, нету у CPU серийного номера  smile Когда Intel сделал PSN поднялся большой скандал - его обвинили в том, что он распространяет приватную информацию о пользователях (я не знаю, каким боком PSN относится к приватной информации, но им виднее  smile ), а заодно и во всех смертных грехах. После чего PSN из процессора был изъят
Цитата

Или хотя бы ссылку на этот ресурс
На какой? Откуда взята цитата? Это описание системы команд - Intel® 64 and IA-32 Architectures Software Developer's Manuals (вам нужен Volume 2A). Упомянутый AP-485 это Intel Processor Identification and the CPUID Instruction

PM MAIL   Вверх
A5uKa
Дата 15.4.2009, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 2
Всего: 16



Наверное надо HDD номер или Windows Key вытаскивать...
PM   Вверх
ksili
Дата 15.4.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(A5uKa @  15.4.2009,  13:08 Найти цитируемый пост)
или Windows Key вытаскивать

В России это не очень надёжный способ идентификации...


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
A5uKa
Дата 15.4.2009, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 2
Всего: 16



Для меня сойдёт.


Скажите только как  smile 

PM   Вверх
nworm
Дата 15.4.2009, 15:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 1
Всего: 8



Код

//получение серийного номера диска С
DWORD Get_number()
{
char  VolumeName[MAX_PATH], FileSystemName[MAX_PATH];
DWORD VolumeSerialNo;//номер
DWORD MaxComponentLength, FileSystemFlags;

GetVolumeInformation("C:\\",VolumeName,MAX_PATH,&VolumeSerialNo,
&MaxComponentLength,&FileSystemFlags,FileSystemName,MAX_PATH);
return VolumeSerialNo;
}

PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.