Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

Ассемблерные вставки   Найти похожие ветки 

 
Berkut ©   (2008-05-04 22:42) [0]

Помогите написать две asm вставки(в Паскаль, Делфи), которые :
1) Преобразуют целое десятичное число в 16-ричное символьное представление
2) Выводит "да"(если встречаются в введёной строке две единицы подряд)... или "нет"(если нету двух или более подряд идущих единиц). Строка представляет собой только символы "1" или "0".
П.С. никакой связи между пунктом 1) и 2) нет - это две разные "проги"


 
{RASkov} ©   (2008-05-04 23:42) [1]

> [0] Berkut ©   (04.05.08 22:42)
> Помогите написать две asm вставки(в Паскаль, Делфи), которые:

Как? Твоими пальцами на кнопки понажимать?
Что не получается у тебя? Или ты хочешь озадачить кого-нибудь? ...куря в сторонке.


 
Berkut ©   (2008-05-04 23:46) [2]

просто не работал я со вставками...
Вобщем не ясно только это:
как там можно получить доступ к эл-ту строки, для обработки в цикле?

Допустим есть строка s: string; там текст... как пройтись на асме по всем эл-там "паскалевской" строки?


 
{RASkov} ©   (2008-05-04 23:50) [3]

> [2] Berkut ©   (04.05.08 23:46)

Вот это уже другой разговор, но к сожалению я в асме точно так же "не рублю" как и ты :(
:) Сорри...


 
Palladin ©   (2008-05-04 23:51) [4]

пишешь аналогичные процедуры на делфи, устанавливаешь точку останова на первой строчке, запускаешь, после останова жмешь ctrl alt c и смотришь чего делается )


 
{RASkov} ©   (2008-05-04 23:52) [5]

Супер.... я уже начинаю знать асм :)


 
Palladin ©   (2008-05-04 23:54) [6]

а еще можно сходить в system.pas, а еще нужно сходить Анатолю на сайт и найти трактат BASM для начинающих, по моему так...


 
Berkut ©   (2008-05-04 23:55) [7]


> Palladin ©   (04.05.08 23:51) [4]
> пишешь аналогичные процедуры на делфи, устанавливаешь точку
> останова на первой строчке, запускаешь, после останова жмешь
> ctrl alt c и смотришь чего делается )

Попробовать надо ...
Мож кто знает всё-же:
как пройтись на асме по всем эл-там "паскалевской" строки?


 
Berkut ©   (2008-05-04 23:57) [8]

>Palladin ©   (04.05.08 23:54) [6]
Пока не хочу углубляться...да интересует только одно(на данный момент) - см [7]


 
Palladin ©   (2008-05-05 00:07) [9]

нет, ты интересный... на принцип пошел чтоли? ты предлагаешь кому то сделать то, что написал я и потом тут напечатать? да и между TurboPascal"евским asm"ом и BASM разница ощутимая... одна только разрядность влияет на многое... то что сейчас укладывается в 2 регистра раньше помещалось в стек... ты уж определись чего тебе нужно... я тоже не великий гуру, но разницу между 16 и 32 разрядами вижу...


 
Berkut ©   (2008-05-05 00:21) [10]

2Palladin:
> ты предлагаешь кому то сделать то, что написал я и потом тут напечатать?
Вроде я уже переформулировал вопрос: [2], имхо - это ветвь для "начинающих"... тебе что в падлу ответить если знаешь - там строчек на 9 максимум вставка должна быть...
> да и между TurboPascal"евским asm"ом и BASM разница ощутимая
ты точно прочитал, что я писал в теме и [2]? Мож мы друг друг не понимаем?))
А [6] я почитаю, посмотрю, спасибо...


 
Berkut ©   (2008-05-05 00:43) [11]

Спасибо за помощь - уже нашёл...


 
Германн ©   (2008-05-05 00:44) [12]


> Berkut ©   (05.05.08 00:21) [10]
>
> 2Palladin:
> > ты предлагаешь кому то сделать то, что написал я и потом
> тут напечатать?
> Вроде я уже переформулировал вопрос: [2], имхо - это ветвь
> для "начинающих"... тебе что в падлу ответить если знаешь
> - там строчек на 9 максимум вставка должна быть...
> > да и между TurboPascal"евским asm"ом и BASM разница ощутимая
> ты точно прочитал, что я писал в теме и [2]? Мож мы друг
> друг не понимаем?))
> А [6] я почитаю, посмотрю, спасибо...
>

Ты полагаешь, что обитатели сего форума ежедневно пишут ассемблерные вставки и поэтому легко (не прибегая к справочникам) дадут те самые "9 строчек"? Уверяю тебя. Ты ошибаешься! На сём форуме есть очень много участников, которые могут сравнительно легко понять АСМ-код или сравнительно легко его "модернизировать" под конкретные нужды.
Но написать на лету решение произвольной "задачи 9 строчек"!  Таких тут нет. И не потому, что тут все ламеры. А потому, что форум не тот.


 
Berkut ©   (2008-05-05 00:50) [13]

2Германн:
Да я понимаю... но вдруг зайдёт как раз "тот" и поможет :)
Просто не думал, что мой вопрос поднимет такой "шумок")

Всё равно спасибо всем за участие...


 
Германн ©   (2008-05-05 01:01) [14]


> Всё равно спасибо всем за участие...

Да не за что.
Ты вполне адекватный "вопрошающий".


 
Rouse_ ©   (2008-05-05 10:12) [15]

1. Смотри реализацию IntToHex()
2. Что-то типа такого:

function HasDualBitChar(const Value: String): Boolean;
asm
 xor   edx, edx
 mov   edi, eax
 sub   eax, 4
 mov   ecx, [eax]
 mov   al, 31h
@next:
 repne scasb
 test  ecx, ecx
 jz    @exit
 cmp   al, byte ptr [edi]
 jne   @next
 inc   edx
@exit:
 mov   eax, edx
end;


 
Тыщ ©   (2008-05-05 10:27) [16]

> 1) Преобразуют целое десятичное число в 16-ричное символьное представление

Вот тут я писал:
http://delphimaster.net/view/4-1209133881/



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.045 c
2-1210059898
tytus
2008-05-06 11:44
2008.06.01
Как переместить окно с одного десктопа на другой?


2-1210344790
michail
2008-05-09 18:53
2008.06.01
Сохранение изображения в двоичном файле


2-1210239551
WebSQLNeederr
2008-05-08 13:39
2008.06.01
Поиск сайтов на одном айпи


2-1210240201
dolmat
2008-05-08 13:50
2008.06.01
Есть ли стандартные функции n! и x в степени y


2-1210237817
Efimov
2008-05-08 13:10
2008.06.01
Как построить диаграмму по данным из БД?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский