Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru | Новый модный поиск - www.lycos.ru |
"Ассемблер? Это просто! Учимся программировать (FAQ)"
Выпуск № 242
от 12.04.2002, 02:05
Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере
Старейшины рассылки |
1. Broken Sword - ответов: 432. 2. Painbringer (нечто наподобие домашней страницы) - ответов: 378. 3. Sensey - ответов: 356. 4. Dron (Операционная система с нуля!) - ответов: 321. 5. DiGiT - ответов: 318. |
Новости |
Вопрос № 55 |
А как мне с помощью строк посчитать все цифры или все буквы. А то у меня считает всё вместе.
Приложение:
Отправитель: hyk (hyk@rambler.ru)
Вопрос отправлен: 06.04.2002, 15:29
Подгруппа: Оптимизация программ
_______________
Отвечает Gella
Доброе время суток, hyk!
без комментариев
Приложение:
Отправлено: 06.04.2002, 16:10
Отправитель: Gella (регистрация: 14/02/2002, ответов на счету: 8)
ICQ#: 446907
Ukraine, Donetsk
_______________
Отвечает Lonely L
Доброе время суток, hyk!
Беребираешь все символы в строке. перешь 1 символ смотришь это число или нет. Если число то попадет в определенный диапозон (смотришь ASCI код), если нет то буквы. Зоводишь новую переменную и при каждом совпадении увеличиваешь на 1.
Отправлено: 06.04.2002, 18:13
Отправитель: Lonely L (регистрация: 26/01/2002, ответов на счету: 52)
Тел.: (0572) 11-66-62
Украина, Харьков
_______________
Отвечает Guess Who
Доброе время суток, hyk!
1) Используй множества. Создай множество цифр и множество букв и идя по строке, определяй в какое множество входит каждый элемент и на основе этого изменяй счетчик цифр и букв.
2) Каждому символу соответствует свой код, получить его можно с помощью ord(a[i]). Получай код для каждого символа и проверяй, к чему относится и увеличивай соответствующие счетчики.
Приложение:
Отправлено: 06.04.2002, 20:21
Отправитель: Guess Who (регистрация: 20/02/2002, ответов на счету: 14)
Вопрос № 56 |
Здравствуйте, уважаемые эксперты.
Хочу обратиться к вашему опыту. Посоветуйте, пожалуйста,
какой сканер лучше приобрести. Назначение - сканирование различных документов (в том числе и плохого качества) с последующим использованием OCR-программ. Однако нужно также и хорошее сканирование графики. Производитель желателен brand-name.
Заранее благодарен. Пуху пух, миру мир.
Отправитель: Pooh (poohteev@rol.ru)
Вопрос отправлен: 06.04.2002, 17:40
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Отвечает Sensey
Приветствую Вас, Pooh!
В Hard&Soft 2'2002 советуют
Epson Perfection 1250U Photo(недостатки высокий уровень шума)
и Genius ColorPage HR7X(недостатки высокий уровень шума, крупные габариты)
Из личного опыта - Не бери Acer - он картинки сразу автоматом в JPG сохраняет, потом распознавать плохо
Отправлено: 06.04.2002, 18:06
Отправитель: Sensey (регистрация: 28/12/2001, ответов на счету: 356)
Тел.: (0572) 41-76-04 д.
Украина, Харьков
_______________
Отвечает Lonely L
Добрый день, Pooh!
Я бы посоветовал тот, что есть у меня. Plustek OpticPro P12
Отправлено: 06.04.2002, 18:24
Отправитель: Lonely L (регистрация: 26/01/2002, ответов на счету: 52)
Тел.: (0572) 11-66-62
Украина, Харьков
_______________
Отвечает Ghost
Приветствую Вас, Pooh!
Я лично юзаю Хьюлет Паккард, модель точна не помню, не плохой в принцепе сканер (ЛПТ и ЮЗБ) да и денег гдето около 90 у.е. стоит. Хотя на вкус и цвет товарища нет !
Отправлено: 06.04.2002, 22:27
Отправитель: Ghost (регистрация: 30/03/2002, ответов на счету: 23)
ua, Odessa
_______________
Отвечает Frank
Добрый день, Pooh!
Бери HP ScanJet 4400c в Киеве на радиорынке нашел за 103 у. е.
разрешение 1200*1200 48bit. Сканирует очень даже неплохо.
Как там у тебя с деньгами, если это для тебя не слишком много то IMHO хороший выбор.
Отправлено: 07.04.2002, 09:38
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 164)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
_______________
Отвечает змей
Здравствуйте, Pooh!
Любые HP сканнеры.... мы их протестили...неплохие
HP Scan Jet 4400C
Отправлено: 07.04.2002, 09:41
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 249)
_______________
Отвечает Sheriff
Приветствую Вас, Pooh!
Рекомендую Mustek из серии 1200 - CU, например.
Хорошие USB сканеры, хорошая скорость и цветопередача.
Нормальные драйвера. Модели с CIS матрицами очень компактны и питаются по USB. Цена ~68$
Отправлено: 08.04.2002, 09:15
Отправитель: Sheriff (регистрация: 28/12/2001, ответов на счету: 31)
Вопрос № 57 |
Приветствую вас уважаемые ЭКСПЕРТЫ
1) Я программирую на VBasiс у него есть недостаток он не может создавать полноценные EXE. При переносе на другую машину ему необходимы DLL. Самая нужная msvbvm60.dll которая весит 1,3 мега. Вот и вопрос где взять прогу которая мои VBшные коды в VC
переведет. Я слышал что есть такая но только в Делфи конверктирует. Просьба у кого есть кидайте прям на мыло. Заранее спасибо.
2) Можно ли на VB вставки на ASMe делать? Хотелось бы узнакть как народ относиться к VB насколько он мастдай.
P.S Ответы типа в поисковиках поищи не подходят. Я не тот человек чтобы всё нахаляво получать и до этого очень много искал может только не там где надо :).
P.S.S Хорошая рассылка уже как два месяца подписался много интересного узнал.
Отправитель: Xatab (BeloysovE@mail.ru)
Вопрос отправлен: 06.04.2002, 19:26
Подгруппа: Оптимизация программ
_______________
Отвечает masquer
Добрый день, Xatab!
1. VB строит точно такой же экзешник, как и остальные средства разработки, только импортируют функции только из msvbvm??.dll, а уже она связывается с kernel32, user32 и т.д. Все остальные программы минуют этот промежуточный участок :). Кстати msvbvm входит в стандартную поставку со всеми версиями ОС от микрософт (с последними точно). Автоматической перекодировкой все равно нормального результата не добьешся.
2. На VB вставки делать нельзя, но можно написать dll на асме и привязать ее (сам так иногда делаю).
Насчет мастдай, ИМХО, VB _намного_ лучше поделок Борланда (сейчас читай Инпрайз) в техническом отношении, даже иногда по скорости (я имею ввиду Делфи и СиБилдер), но это извечный вопрос, что лучше.
Отправлено: 07.04.2002, 00:20
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 89)
Украина, Николаев
Вопрос № 59 |
Здравствуйте, уважаемые Эксперты и Глубокоуважаемый Олег!
У меня появилось несколько вопросов хотелось бы получить на них ответы.
1. Олег(тебе спец вопрос поэтому и отдельное здрасти) хотелось бы получитьтвой комментарий на вот это дело:(см в приложении)
интересуюсь и как у юриста и как у человека понимающего. Что получается я теперь не могу себе поставить SoftIce и Любой другой отладчик он ведь я так понимаю относится к не законным прогам? А IDA? А если я его куплю? А если так думать, то может мне и debug.exe из Windows\command\ удалить? А может в суд на microsoft за распространение "хакерских" программ? В общем у меня в голове полные не понятки. Плиз, скажи свое веское "ЛАЖА" я тебе поверю!!!
2. Когда уже совсем будет готов RusFaq и вопросы оттуда задавать? Или я отстал от жизни?
3. Что поисходит когда оценка "не считать за ответ"?
4. Вал.Ик куда делся win32???
5. Дошел до создания менюшек и диалогов ручками.... тяжко не посоветуете ли какой-нибудь Res builder? А то перебрал с 10, а найти хорошего не могу. Последнее что понравилось было:
Resource Builder 1.0 от www.votum.md, но он тоже подкачал(регаться просит, сам иногда виснет и вообще бяка изредко)тока если можно не надо про встроеные в Borland, Visual и вообще подобные бяки(ну нету их у меня, а покупать диск ради нее... лучше уж ручками) что нибудь отдельным проектом???
6. Из серии "а про эксперов". А играют ли програмисты в игры? Играют? а в какие? Потому что сам прикалываюсь по тетрисам и древним игрулям типа Flip-Flop с потологическим отвращением к стрелялкам и прочей дребедени, вот и спрашиваю.
Приложение:
Отправитель: Эксперт freeseacher (freeseacher@pisem.net)
Вопрос отправлен: 06.04.2002, 21:46
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает v4D
Здравствуйте, freeseacher!
"не считать за ответ" насколько я знаю снимает бал у эксперта :)
насчёт игрух.... как говорится, на вкус и на цвет товарищей нет. Что касается меня, то гамаю я предпочтительно в Starcraft (причем не поскромничаю и скажу, что играю в него очень даже не плохо ), ну из шутеров Квака форева, а если поездить, то это НФС полюбэ :) Ну и конечно не забуду упомянуть о Heroes of Might & Magic...
P.S. Все касается только мультиплеера, я считаю что в наше время сингл уже деад :)
Отправлено: 06.04.2002, 22:28
Отправитель: v4D (регистрация: 17/03/2002, ответов на счету: 18)
Ukraine, Kiev
_______________
Отвечает Frank
Доброе время суток, freeseacher!
3. У тебя отнимается н ное кол-во баллов и не считается ответ.
6. Играют еще как играют. Вот список.
Quake 3(2)
Need For Speed 5 (4,3)
StarCraft
Heroes IV (III)
это основное ;)))
Отправлено: 07.04.2002, 09:46
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 164)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
_______________
Отвечает Dron
Доброе время суток, freeseacher!
:)) это я по поводу 6... :)
в серьезные игры не играюсь уже давно... как-то не тянет особо, наигрался наверное... :) по мелочи в марьяж, пасьянсы, чтобы отвлечься иногда...
Отправлено: 08.04.2002, 11:41
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 321)
Информзащита
Адрес: Москва
URL: http://asmdev.narod.ru/asmos.html - Операционная система с нуля!
2144510
Россия, Москва
_______________
Отвечает baldr
Приветствую Вас, freeseacher!
Я так понимаю, что задумал ты серьезную прогу и боишься, чтоб копирайт твой был на 100 процентов
чистым... Так вот... Плюнь на лицензионные проги... Только делай так, чтобы по результатам
нельзя было определить, что, мол, эта картинка сделана в честно украденном RealDraw, а эта прога
написана в сломанном MSVC++ из-под WinXP со свежим пиратским ключом... Поудаляй всю отладочную
инфу... Ресурсы сохраняй в наиболее незапакованном виде - там меньше можно спрятать лишней инфы.
Если надо картинки в чем-то рисовать для проги - так рисуй, а потом переводи из bmp в свой
формат. Так и удобнее, и безопаснее... Если музыку и звуки - ну, тут посложнее, но можно
конвертнуть из wav..
И пусть все боятся русских программеров!
А "про экспертов":
Я предпочитаю игры такие, чтоб долго не заигрываться... Типа, там, замочил монстров, вышел, стер...
Или простенькую пошаговую стратегию, типа "Колонизации"... Ну, тетрис-шметрис...
Отправлено: 09.04.2002, 00:02
Отправитель: baldr (регистрация: 28/12/2001, ответов на счету: 140)
URL: http://www.dospage.far.ru - Сайт об ОС DOS. Всем, кто любит эту ОС!
Россия, г. Семенов, Нижегородская обл.
Вопрос № 60 |
Уважаемые эксперты!
У меня такая проблема. Я написал простенький скрипт(см. приложение) Перле. Сохраняю его(first.cgi). Делаю запускным (chmod +x first.cgi). Пишу в консоли first.cgi, чтобы его запустить, а он в ответ пишет типа first.cgi: command not found.
Такая же проблема и с программами на Си
Пишу прогу, компилирую ее gcc –o first.cgi first.c Делаю файл first.cgi запускным(chmod +x first.cgi), и тоже самое сообщение. Помогите, в чем тут дело?
Приложение:
Отправитель: Николай (Lukitkan@mail.ru)
Вопрос отправлен: 07.04.2002, 07:05
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает змей
Здравствуйте, Николай!
запускать надо так:
# ./first.cgi
(обязательно в начале ставь точку и слэш)
Отправлено: 07.04.2002, 09:44
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 249)
_______________
Отвечает Tiger
Приветствую Вас, Николай!
Дык насколько я знаю, перловые программы имеют расширение *.pl, а не *.cgi. Ты попробуй написать first.pl
Отправлено: 07.04.2002, 12:15
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 182)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает Ayl
Здравствуйте, Николай!
А точно у тебя текущий путь прописан в переменной PATH? Если нет, то и запускать нужно вот так:
./first.cgi
Отправлено: 08.04.2002, 14:03
Отправитель: Ayl (регистрация: 28/12/2001, ответов на счету: 212)
Россия, Санкт-Петербург
_______________
Отвечает ne0
Доброе время суток, Николай!
О, да это просто. В нихах текущий каталог не явл. дефолтовым, следовательно запускать надо: ./first.cgi
Иль указывать полный путь.
Соотв. если интерпритатор установлен (Проверка which perl по-мойму) то всё должно палить.
Отправлено: 09.04.2002, 00:47
Отправитель: ne0 (регистрация: 07/04/2002, ответов на счету: 9)
Belarus, Grodno
_______________
Отвечает Frank
Доброе время суток, Николай!
Чет я недопонял а как это ты компилируешь и причем тут С к перлу. Если хош скрипты юзать то надо сервер виртуальный поставить ну Apache типа. а он уже сам все компилирует когда идет запрос на страницу....????
Отправлено: 09.04.2002, 22:17
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 164)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 62 |
Здравствуйте!
Вопрос для экспертов наСИльник и GL.
Отвечая на вопрос № 470, Вы написали: "Вот как в Делфи набрать телефонный номер" и приложили исходник на pascal.
Конечно же приложение работает и весит 309 кг.
А как проделать тоже самое на асме?
call CreateFileA,offset CommPort,GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
где CommPort это FileName а точнее "COM2".
Если вам не трудно, помогите пожалуста!
Целую, Lenka
Приложение:
Отправитель: Lenka
Вопрос отправлен: 07.04.2002, 12:16
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Артём Шегеда
Добрый день, Lenka!
Я, конечно, не автор приведенного произведения, но попробуй модифицировать код так, чтобы он располагался в главном модуле проекта (обычно это Project1.dpr), а все формы удали - ведь именно интерфейс занимает в Delphi 250K. Перенеси обработчики Button1Click и Button2Click в основную процедуру программы, а выбор действий делай по ключам, заданным в коммандной строке.
Такой способ оформления программ имеет смысл тогда, когда интерфейс не нужен. А всякие сообщения можно выводить процедурой MessageBox.
Отправлено: 07.04.2002, 13:16
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 115)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает GL
Здравствуйте, Lenka!
Попробовал изобразить на асме, см. приложение. Порт открывается, но у меня почему-то не производится запись в порт, незнаю почему :(, может из-за того, что у меня винмодем или потому что я только начинающий в асме32...
Приложение:
Отправлено: 08.04.2002, 18:48
Отправитель: GL (регистрация: 02/03/2002, ответов на счету: 49)
Амурская обл., Благовещенск
Вопрос № 63 |
Здравствуйте эксперты!
Есть вопросик! Как работает команда scasb. Просто я никак не могу понять, почему не работает вот такой кусок кода(см. приложение). Он должен сравнивать каждый элемент цепочки с al и если элемент в строке больше того, что в al выходить из программы. А этот кусок кода заканчивает программу при любом элементе отличном от того, что в al.
В книжке Зубкова написано, что данная команда устанавливает флаги аналогично команде cmp, но тогда я не понимаю почему не работает данный кусок кода? Объясните пожалуйста.
ЗЫ№1: Я могу сделать, то что написал и не используя цепочечных команд, но уж очень хочеться именно с ними.
ЗЫ№2: В книжке Зубкова на странице 49 в таблице команд Jcc, две команды JBE, у одной реальное условие CF=0&ZF=0, а у второй CF=1&ZF=1. Где ошибка? Может я не то условие перехода использую?
С уважением, ILYA D.
Приложение:
Отправитель: ILYA D.
Вопрос отправлен: 07.04.2002, 13:12
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Артём Шегеда
Приветствую Вас, ILYA D.!
Ниже - рабочая программа, но она подлежит оптимизации, да и потенциальная ошибка в ней есть (длину строки нужно проверять до начала проверки, а не после первого символа - посмотри, что будет, если ввести пустую строку). Кроме того, jcxz проверяет cx, а не cl, а ты ch не проинициализировал.
В общем, дальше вопросов будет много...
Кстати программы в приложении не мешало бы давать рабочие - а то пока их сделаешь компилируемыми, отвечать перехочется.
Приложение:
Отправлено: 07.04.2002, 15:17
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 115)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Broken Sword
Приветствую Вас, ILYA D.!
Да. Правильно. Во-первых, Зубков опять напорол (кстати, ему уже давно пора выпускать 3-е издание, уже нашел больше 10 ошибок и запорок во втором издании, а вообще пусть лучше кто нибудь другой уже попробует!). Там, где CF=ZF=0 вместо JBE он имел ввиду JNBE (это уже в книжках от Intel-а написано, а если уж и в них неправильно, то тогда вобще не понятно где может быть правильно). Т.е. JNBE=JNA (кстати, это одна и та же команда с кодом 77). Короче говоря, в твоей проге пиши вместо "jbe" - "jae" и никаких проблем.
p.s. если все равно не ясно, то учти, что сравнивается AL c памятью, а не наоборот!!!!
Отправлено: 07.04.2002, 18:33
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 432)
ICQ#64476575
Украина, Одесса
_______________
Отвечает Beeblebrox
Приветствую Вас, ILYA D.!
Попробуй так. Только не забывай, что адресация идет относительно es.
Приложение:
Отправлено: 08.04.2002, 14:45
Отправитель: Beeblebrox (регистрация: 13/03/2002, ответов на счету: 64)
URL: http://beeblbrx.narod.ru - Beeblebrox / TMA HomePage
ICQ #75393045
Ukraine, Kharkov
_______________
Отвечает Топор
Добрый день, ILYA D.!
Команда scas всегда используется с префиксом repe (до первого не равного al/ax/eax) или repne (до первого равного),
иначе в ней нет смысла. Как только сканирование останавливается, в ES:DI будет адрес найденного элемента. Сравниваешь его с al командой cmp и по результату переходишь на какое-либо действие или, если результат сравнения не удовлетворяет, делаешь условный джамп на _metka - сканирование продолжится дальше с этого места, пока не вычерпаешь CX, в который надо загодя ввести длину строки (в твоём случае в байтах). Если надо сканить дальше после действия - опять же последней командой этого действия должен быть jmp _metka.
Удачи !
Приложение:
Отправлено: 08.04.2002, 21:52
Отправитель: Топор (регистрация: 15/03/2002, ответов на счету: 64)
Радио "Эхо Москвы в Самаре"
Адрес: 443011, Самара, ул. Советской Армии, 217
Тел.: (8462)160302, 162918
URL: http://listen.to/btemple - Хорошая Русская Металлическая команда
Россия, Самара
Вопрос № 64 |
хЧБЦБЕНЩЕ ЬЛУРЕТФЩ!
рПМШЪХСУШ ФЕН, ЮФП ЪДЕУШ УПВТБМПУШ ФБЛ НОПЗП РТПЖЕУУЙПОБМПЧ, ИПЮХ ЪБДБФШ ЧПРТПУ ОЕ РП бУУЕНВМЕТХ, Б РП VB6.дПРХУФЙН, ОХЦОП ТБУРЕЮБФБФШ ЙЪ РТПЗТБННЩ ДБООЩЕ Ч ОЕУЛПМШЛП УФТПЮЕЛ Й УФПМВГПЧ, ЛБЛ НОЕ ЧЩТПЧОЙФШ ЧФПТПК УФПМВЕГ ПФОПУЙФЕМШОП РЕТЧПЗП, РТЙ ХУМПЧЙЙ,ЮФП ДБООЩЕ Ч РЕТЧПН УФПМВГЕ ЧУЕ ЧТЕНС ТБЪОПК ДМЙОЩ? с РПМШЪХАУШ ЧПФ ФБЛПК ЧПФ ЛПОУФТХЛГЙЕК. лБЛ ПФЛПОЖЙЗХТЙТПЧБФШ Space()? б ФП Х НЕОС ЧФПТПК УФПМВЕГ РПУФПСООП "ЗХМСЕФ".б НПЦЕФ ВЩФШ, НПЦОП ПЖПТНЙФШ ДБООЩЕ Ч ЧЙДЕ ФБВМЙГЩ, ЛПФПТХА РПФПН НПЦОП ТБУРЕЮБФБФШ?вПМШЫПЕ УРБУПВП ЧУЕН ЪБ ПФЧЕФ.
Приложение:
Отправитель: Сергей (shest@online.ru)
Вопрос отправлен: 07.04.2002, 14:47
Подгруппа: Оптимизация программ
_______________
Отвечает masquer
Здравствуйте, Сергей!
Ну это можно несколькими способами сделать. В приложении я вывожу текст в таблицу Excel.
Можно используя табуляцию (символ 09) вывести в текстовый файл, потом в любом текстовом процессоре выровнять.
Можно, если это приемлемо, вычислить наибольшую длину 1-й строки и, используя это значения расчитывать количество пробелов, которые необходимо вставить.
Приложение:
Отправлено: 07.04.2002, 19:36
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 89)
Украина, Николаев
Форма отправки сообщения |
Заполните приведенную ниже форму для того, чтобы отправить вопрос. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.
В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.
© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А. |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||