Morpheus,
Очень просто - через API. Вызываешь функцию MessageBoxA, где в качестве строки идёт адрес, по которому начинается набор символов, заканчивающийся кодом нуля.
1. Этот Izceleron туфту толкает глава за главой. Чел не понимает, что вызывать апишки я УЖЕ научился во второй главе, и он ещё 5 последующих глав почему-то учит создавать разные окошка. Зачем???
он учит как программить под win32 на асьме...
Сам язык он не описывает.
За описанием - к Зубкову!
2. Ну обясните мне тупому, как из строки "example string simple" сделать массив: [0]example , [1]string, [2]simple . Понимаю, массивов в ASM нет, но мне-то нужно! Т. е. как нормально работать со строками?
Ты явно пропустил главу способы адресации
sne, а что плохого в команде add? Слыхал как то на wasm.ru, что она медленно работает
Работает так же, а вот на 1 байт инструкция длиннее
Похоже что все кроме меня понимают ассемблер как язык.
Ассемблер... он ассемблер, и его не стоит воспринимать ни как что-то совершенно отдаленное, ни как что-то универсальное. Хочешь писать - привыкай работать. Желаешь массив получить - пожалуста, пиши код.
Вот и все дела... Split - же это функция... Напиши ее на Си... Да, верно, тоже не просто, я писал... а асьме - то же самое...
Да кстати, может кто нить выложит код проги "Привет мир?" просто для ознакомления
При этом ты должен учитывать что большинство известных тебе понятий и терминов он слышит в первый раз. Соответственно для него это пустой звук. Поэтому объяснения необходимо упростить до такой степени, чтобы было понятно каждое слово, а не каждое десятое .
Ну вот, опять пришёл User Unknown и всё испошлил .
Это не будет работать под Windows'ом так как на уровне пользователя (Ring3) прерывания запрещены. К тому же это устаревший ассемблер для 16-битной операционной системы ДОС. Лучше использовать 32-битные операнды, режимы адресации и плоскую модель памяти
Как вам такое решение split'a ? Кажись правда медленное, но я не знаю как по-другому
function SplitEx(lpString:string;lpA:string;index:byte):string; //очень гордое название
var
w:array[1..128]of string;
i,l,k,la,las:integer;
lpNew,t:string;
begin
lpNew:=lpString+lpa;
l:=length(lpNew); //length of source string
la:=length(lpa); //length of lpA
k:=0;
las:=1;
for i:=1 to l-la+1 do begin
t:=copy(lpNew,i,la);
if t=lpa then begin
k:=k+1;
w[k]:=copy(lpNew,las,i-las);
las:=i+la;
end;
end;
SplitEx:=w[index];
end;
splitex('This string is to show how SplitEx function works!',' ',7)
выдаст "SplitEx" так как нумерация слов начинается с 1