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

Вниз

Пытаюсь разобратся со встроенным ассемом   Найти похожие ветки 

 
AllDer   (2004-01-04 01:14) [0]

Пытаюсь разобратся со встроенным ассемом
из адресса Inn взять байт и записать его
в адресс Finn
var
Inn,Finn:cardinal;
m:byte;
{Фокусы с @ ^ здесь не катят(в asm дерективе).
}

asm
MOV m,OFFSET [Inn];
MOV Finn,m; ????
end;


 
default   (2004-01-04 01:55) [1]

да не парься ты с этим...нафиг тебе это?можно и без асма подобные вещи делать


 
AllDer   (2004-01-04 02:14) [2]

как?


 
default   (2004-01-04 02:29) [3]


procedure TForm1.Button1Click(Sender: TObject);
var
W1, W2: Word;
begin

W1 := $FF00;
W2 := $0102;
// по адресу первого байта W2 заносим значение из байта по адресу
// второго байта в W2 (это для примера)
PByte(@W2)^ := PByte(Cardinal(@W1) + 1)^;
// а так можно просто W2 := W2 and $FF00 + Hi(W1);
Caption := IntToHex(W2, 2)

end;


 
Andy BitOff   (2004-01-04 14:12) [4]

asm
MOV al,byte ptr [Inn];
MOV byte ptr [Finn], al

mov [m],al
xor al,al
mov al,[m]
MOV byte ptr [Finn], al
end;

Вот два варианта. С первым все ясно, а во втором... Твоя var m есть адрес в памяти и ты хочешь напрямую из памяти в память переслать байт, а так нельзя. А вообще для ясности всегда ставь квадратные скобки (так меня учили). Тогда понятно, что мы пишем в ячейку памяти, которая m и из нее берем.



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

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

Наверх





Память: 0.45 MB
Время: 0.009 c
6-49668
turonix
2003-11-15 17:30
2004.01.16
Error 404


6-49670
zxc
2003-11-14 14:54
2004.01.16
как програмно разрешить доступ к папке по FTP??


3-49386
Patrick
2003-12-22 09:21
2004.01.16
Настройка Oracle.


1-49558
Ciber
2004-01-06 06:39
2004.01.16
RichEdit


1-49586
IBSN
2004-01-04 18:14
2004.01.16
TRichEdit





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