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

Вниз

Знатоки АСМА. Что это за фигня??   Найти похожие ветки 

 
Карелин Артем   (2003-11-20 14:36) [0]

Гляжу я на исходники программы распознавания образов и думаю, что автору пора завязывать с мухоморами и всякими фиолетовыми таблетками. Что он хотел выразить в выделенном жирном текстом сегменте?

procedure TForm1.SpeedButton2Click(Sender: TObject);
var
i,j:inttype;
ins1,outs:array of real;
c:char;
tmp1,tmp2:byte;
begin
if Edit1.text<>"" then
begin
SetLength(ins1,1024);
SetLength(outs,16);

for i:=0 to 31 do
for j:=0 to 31 do
begin
if Image1.Canvas.Pixels[j,i]=clblack then
ins1[((i*32)+j)]:=0.01;
if Image1.Canvas.Pixels[j,i]=clwhite then
ins1[((i*32)+j)]:=1;
end;

c:=Edit1.text[1];

///////////////////////////////
for i:=0 to 7 do
begin
tmp2:=i+1;
asm
mov ah,00h
mov al,c
mov cl,tmp2
sal ax,cl
and ah,01h
mov tmp1,ah
end;
outs[7-i]:=tmp1;
end;

for i:=0 to 7 do
if outs[i]=0 then
outs[i]:=0.01;

for i:=7 to 15 do
outs[i]:=1;

///////////////////////////////
net[1].adddata(ins1,outs);

end;
MemAloc;
end;


 
mrcat   (2003-11-20 14:58) [1]

>Карелин Артем © (20.11.03 14:36)

это ты лучше у разработчика спроси :) у меня с распознованием образов нелады :)


 
Карелин Артем   (2003-11-20 15:10) [2]

Тут что-то типа выделения битов по одному. Спасибо Анатолию Подгорецкому и Игорю Шевченко за консультацию.


 
Nikolay M.   (2003-11-20 15:12) [3]

> asm
> mov ah,00h
> mov al,c
В регистр ax заносится код 1-го символа из Edit1.Text, для 0, скажем, это будет 48

> mov cl,tmp2
> sal ax,cl
Код символа (в ах) возводится в i+1 степень.

> and ah,01h
В ah остается его 0-й бит.

> mov tmp1,ah
Сохраняем результат в tmp1

> end;


Итого вся конструкция аналогична следующему:
tmp1 := ((c shl (i + 1)) and (1 shl 16));
если нигде не напутал


 
Anatoly Podgoretsky   (2003-11-20 16:30) [4]

for i:=0 to 7 do outs[i] := (c shr i) and 1;


 
BlackTiger   (2003-11-20 18:23) [5]

Удалено модератором
Примечание: Offtopic


 
han_malign   (2003-11-20 18:35) [6]

Ну судя по использованию sal подразумевалось использование флага переноса знага, но видимо он не вспомил команды условного перехода по этому знаку, и намудрил в запарке.

З.Ы. Я, кстати, тоже навскидку не помню... :)))

З.З.Ы. Хотя, по нажатию кнопки, в единоразовой операции, мудрить что-то с ассемблерной оптимизацие - маразм. И тогда уж весь цикл оптимизировать надо было, а не тело.



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

Форум: "Потрепаться";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.088 c
4-36899
mOOx_
2003-10-16 12:15
2003.12.12
Абсолютные координаты окна


6-36784
red
2003-10-15 02:36
2003.12.12
послать sms idhttp


1-36736
Анна
2003-12-01 17:42
2003.12.12
Открытие других программ из приложения


1-36685
akuman
2003-12-02 18:02
2003.12.12
Связь IDispatch с TWordApplication


8-36772
RomanDD
2003-08-15 22:07
2003.12.12
Прошу совет у мастеров. Редактор объектов и связей





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский