Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 264
от 11.05.2002, 11:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 149 Отправлено ответов: 355 Активность: 238.2 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Sensey Статус: Профессиональный Общий рейтинг: 169.16 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
freeseacher Статус: Опытный Общий рейтинг: 136.12 Телефон: 8(3832)366362 [Подробней >>] |
Топор Статус: Опытный Общий рейтинг: 146.47 URL: Хорошая Русская Металлическая команда Телефон: (8462)160302, 162918 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 169.41 [Подробней >>] |
DiGiT Статус: Профессиональный Общий рейтинг: 165.17 [Подробней >>] |
vitya Статус: Опытный Общий рейтинг: 129.58 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 158.26 [Подробней >>] |
LAO Статус: Опытный Общий рейтинг: 136.01 [Подробней >>] |
Kalashnikoff Статус: Профессиональный Общий рейтинг: 102.77 URL: Информационный ресурс [Подробней >>] |
VicSimon Статус: Опытный Общий рейтинг: 124.77 [Подробней >>] |
Артём Шегеда Статус: Опытный Общий рейтинг: 144.9 URL: Пристанище неодинокого программиста [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 145.01 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Blackeye Статус: Опытный Общий рейтинг: 132.92 URL: Delphi, my programms... [Подробней >>] |
Andy Bitoff Статус: Опытный Общий рейтинг: 128.62 URL: HomePage или что-то типа того :) [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 139.01 URL: Beeblebrox / TMA HomePage [Подробней >>] |
swan Статус: Начальный Общий рейтинг: 108.16 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 172.48 [Подробней >>] |
User Статус: Доверительный Общий рейтинг: 121.73 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 106. Пишу прогру на саме, запускаю AFD, а там ... через каждые несколько строчек DB 66 или 67 или другое ... (ответов: 5)
Вопрос № 107. Добрый день! Эксперты препод сказал, что кодирование основывается на поле вычитов. Скажите так-ли эт... (ответов: 3)
Вопрос № 108. К вопросу о hello в 12 байт prog.asm: ---cut--- .model tiny .code org 100h go: db "echo hello&q... (ответов: 5)
Вопрос № 109. Привет,эксперты! Вот программа с Hello в 10 байт. .model tiny .code org 100h begin: db 65h,63h... (ответов: 6)
Вопрос № 110. Здравствуйте эксперты, подскажите как вызвать системную функцию копирования файла с сетевого диска в... (ответов: 1)
Вопрос № 111. Делаю контрольную работу на ассемблере. Не могу справиться с последним заданием: нужно определить ча... (ответов: 4)
Вопрос № 112. О hello в 8 байт: Что-то я в прошлый раз перемудрил... Да и ошибка вкралась - не ren sa.exe sa.bat, ... (ответов: 5)
Вопросов: 7, ответов: 29
Вопрос № 106 |
Пишу прогру на саме, запускаю AFD, а там ... через каждые несколько строчек DB 66 или 67 или другое число. Что это значит?
Вопрос отправлен: 07.05.2002, 17:57
Отправитель: Writer
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Доброе время суток, Writer!
По моему мнению, в описании сегмента стоит use32 - то есть 32 битные регистры, а ты спользуешь 16- битные
Ответ отправлен: 07.05.2002, 18:08
Отправитель: Sensey
Отвечает freeseacher
Доброе время суток, Writer!
А прогу в приложение засунуть не судьба? А значить это может что afd пора уже на свалку. может тебе лучше поставить SoftIce? или хотя бы позасовывать ее в другие отладчики? А может у тебя в твой проге так задумано? А компилишь ты ее чем?
Ответ отправлен: 07.05.2002, 20:51
Отправитель: freeseacher
Отвечает Топор
Приветствую Вас, Writer!
Ничего страшного, это префиксы переопределения разрядности операндов (66h) унд переопределения сегмента (67h - вот тут не уверен). Первый вставляется перед 32разрядным операндом, второй - когда адресация данных не через DS.
Ответ отправлен: 07.05.2002, 20:53
Отправитель: Топор
Отвечает masquer
Здравствуйте, Writer!
Предположу, что нераспознанный код, возможно запакованый/криптованый экзешник. ИДУ поставь, проверься.
Ответ отправлен: 07.05.2002, 20:55
Отправитель: masquer
Отвечает DiGiT
Здравствуйте, Writer!
Да ничего просто опкод команды или части команды.
Ответ отправлен: 08.05.2002, 09:59
Отправитель: DiGiT
Вопрос № 107 |
Добрый день!
Эксперты препод сказал, что кодирование основывается на поле вычитов. Скажите так-ли это и вообше как кодировать инф.
P.S. не смотря на то, что нет однозначного подхода, есть старые добрые методы...:))
Всего наилучшего...!
Вопрос отправлен: 07.05.2002, 18:29
Отправитель: kuper (kuper@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, kuper!
Почитай 10 лет кодирую, первый раз такой термин услышал - "поле вычитов". Или что-то другое имеется в виду. Что значит кодирование?
Ответ отправлен: 07.05.2002, 20:57
Отправитель: masquer
Отвечает vitya
Здравствуйте, kuper!
Да - это так.
На самом деле кодирование делается не просто в поле галуа, а в его расширении, то есть на основе многочленов, коэффиценты которых взяты из поля Галуа. Теперь если у тебя есть неприводимый многочлен степени N, то построив его поле вычетов ты можешь получить многочлены, каждый из которых кодирует вектор значение (если поле двоичное, то это будет битовый вектор). Чаще всего используются циклические коды. Код Хэмминга есть циклический код, который тоже описывается в поле вычетов. Если интересно посмотри книжку Питерсона "Коды исправляющие ошибки", или любую литературу в названием error-correcting codes.
Ответ отправлен: 08.05.2002, 08:46
Отправитель: vitya
Отвечает Ayl
Добрый день, kuper!
Ну в принцепе, насколько я помню из теории информации, любой код может быть преобразован в циклический, а последний, в свою очередь, описывается как раз с помощью поля вычетов.
А насчет кодирования информации - методов действительно много. И все зависит от того, чего хочешь добиться.
По этому делу написано куча умных книжек, много инфы и в инете.
Ответ отправлен: 08.05.2002, 10:47
Отправитель: Ayl
Вопрос № 108 |
К вопросу о hello в 12 байт
prog.asm:
---cut---
.model tiny
.code
org 100h
go: db "echo hello",0dh,0ah
end go
---cut---
tasm prog.asm
tlink prog.obj
exe2com prog.exe
ren sa.exe sa.bat
;=)))
Вопрос отправлен: 07.05.2002, 18:58
Отправитель: Gibbel
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Доброе время суток, Gibbel!
Красиво!!!
Только
ren prog.com prog.bat :)
Но очень красиво. А главное ОРИГИНАЛЬНО!!!
Ответ отправлен: 07.05.2002, 19:10
Отправитель: Sensey
Отвечает LAO
Доброе время суток, Gibbel!
Забавный фокус. Вот парочка дополнений:
1)убрав 0dh и 0ah получим 10 байт;
2)линкуем:
tlink prog.obj, sa.bat /t
и сразу получаем sa.bat
Ответ отправлен: 07.05.2002, 20:34
Отправитель: LAO
Отвечает Топор
Приветствую Вас, Gibbel!
Стильно! :0))
Ответ отправлен: 07.05.2002, 20:49
Отправитель: Топор
Отвечает Kalashnikoff
Добрый день, Gibbel!
СУПЕР!
Но надо же было додуматься!!!
Ответ отправлен: 07.05.2002, 23:21
Отправитель: Kalashnikoff
Отвечает Ayl
Здравствуйте, Gibbel!
Ну уж тогда сократи и до 10-ти (символы 0dh и 0ah никому не нужны)!
:)))
Ответ отправлен: 08.05.2002, 10:50
Отправитель: Ayl
Вопрос № 109 |
Привет,эксперты!
Вот программа с Hello в 10 байт.
.model tiny
.code
org 100h
begin:
db 65h,63h,68h,6fh,20h,"hello"
END begin
Прога не моя.Поэтому вопрос.Автор сказал
что после компиляции в obj,с файлом нужно поработать
линковщиком tlink.Как интересно ?
Заранее благодарен за ответы.
Вопрос отправлен: 07.05.2002, 21:48
Отправитель: IceWINteR (brothers@atnet.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает VicSimon
Здравствуйте, IceWINteR!
А не проще набрать "echo hello"? Как раз эти коды получатся.
Вся вышеприведенная последовательность - batch-программа (Обычно помещается в .bat-файл). К ассемблеру не имеет никакого отношения.
Ответ отправлен: 08.05.2002, 06:30
Отправитель: VicSimon
Отвечает masquer
Доброе время суток, IceWINteR!
Автор просто пошутил. Это было в каком-то электронном журнале. Там еще была прикольная история про программистов на ассемблере. Так вот это обычный бат-файл ECHO hello.
Не думал, что кто-то купится на это.
Ответ отправлен: 07.05.2002, 22:17
Отправитель: masquer
Отвечает LAO
Приветствую Вас, IceWINteR!
1)tlink prog.obj, prog.bat /t
prog.bat - выходной файл
/t - линковать в COM-файл.
2)строчку {db 65h,...} можно записать по другому:
db "echo hello"
Ответ отправлен: 08.05.2002, 00:04
Отправитель: LAO
Отвечает Sensey
Здравствуйте, IceWINteR!
да просто это такая шутка
tasm /zi/l/n/m3 %1
tlink /s/v/t %1
Получится com, потом переименовываешь его в .bat - и запускаешь...:)
Ответ отправлен: 08.05.2002, 11:13
Отправитель: Sensey
Отвечает Артём Шегеда
Здравствуйте, IceWINteR!
Программисты прикалываются...
Последовательность действий (считаем, что эта программа имеет имя prog.asm):
1) tasm prog.asm
2) tlink /t prog.obj, prog.bat
3) prog.bat
Неожиданный поворот событий, не правда ли?
Ответ отправлен: 08.05.2002, 12:23
Отправитель: Артём Шегеда
Отвечает baldr
Здравствуйте, IceWINteR!
Все просто, как банан под елкой! Вам предложили обычный .bat-файл. То есть, пакетный файл DOS.
Если не хотите возиться с компилятором и линковщиком, создайте файл с расширением .bat, в который
поместите следующую строку:
echo HELLO
И все! Это и будет аналогом того, что Вы прислали в асм-коде. А если хочется поиграть с линковщиком,
то это же делается из Вашего файла (пусть называется hello.asm !) следующими командами:
tasm hello.asm
tlink hello.obj /t
ren hello.com hello.bat
Компоновщику дается ключ /t для того, чтобы он выдал COM-файл, а не EXE, как делается по
умолчанию. Следующая команда просто переименовывает файл hello.com в hello.bat, так как он
содержит не машинные инструкции, а мнемонические команды, принятые в языке командного
интерпретатора DOS.
Вообще говоря, такой код не вполне удовлетворяет заданию. Так как сама программа является в
таком случае не выполняемой непосредственно центральным процессором, а интерпретируемой операционной
системой. Так что говорить о размере программы для интерпретируемого языка довольно трудно.
Если же принимать задание буквально так, как его дал автор, цитирую:
попробуйте написать свой вариант программы которая выводит на экран слово HELLO(5 символов) < 14 bytes
то вот еще и мой вариант, занимающий 5(!) байт, выводящий слово HELLO на экран:
HELLO
Это тоже должно лежать в .bat-файле. При запуске выводит:
HELLO
Bad command or file name.
Слово HELLO выводится? Конечно! И все! Задание выполнено!
Так что при формулировке заданий надо как можно более точно описать все условия, как то:
операционная система, язык, необходимость завершения и т.п... Это уже, пожалуй, совет всем.
С уважением, baldr.
Ответ отправлен: 09.05.2002, 00:30
Отправитель: baldr
Вопрос № 110 |
Здравствуйте эксперты, подскажите как вызвать системную функцию копирования файла с сетевого диска в мою папку
и как ее потом вызвать из макроса екселя?
Вопрос отправлен: 08.05.2002, 04:01
Отправитель: Serzhant (Serzhant_mail@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Serzhant!
Приложение:
Ответ отправлен: 08.05.2002, 08:15
Отправитель: masquer
Вопрос № 111 |
Делаю контрольную работу на ассемблере. Не могу справиться с последним заданием: нужно определить частоту процессора. Может подскажет кто как это делается?
Вопрос отправлен: 08.05.2002, 10:37
Отправитель: Udjin (fint78@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Blackeye
Добрый день, Udjin!
Наконец-то вернулся в рассылку. Определить частоту - пожалуйста на C++ и Delphi. А на асм, лень переписовать, думаю сам разберешься! :)
Приложение:
Ответ отправлен: 08.05.2002, 21:18
Отправитель: Blackeye
Отвечает Andy Bitoff
Приветствую Вас, Udjin!
Под Винды это делается так (см. приложение). Под Дос тоже надо програмить регистр RDTSC, только я не знаю как.
Приложение:
Ответ отправлен: 08.05.2002, 14:17
Отправитель: Andy Bitoff
Отвечает DiGiT
Доброе время суток, Udjin!
Это можно сделать начиная с пентиума. Там есть регистр счетчик тактов. Так вот замеряешь время выполнения определенной последовательности комманд. потом считываешь за сколько тактов это все выполнилось, ну а имея такты и время можно посчитать. Где то в рассылке я приводил кусок процедуры, жаль что щас с собой нет.
Ответ отправлен: 08.05.2002, 11:50
Отправитель: DiGiT
Отвечает Beeblebrox
Добрый день, Udjin!
Например, так. Запрещаем прерывания на уровне контроллера прерываний. Читаем время из Real Time Clock (CMOS-часы). Выполняем какую-нибудь команду в цикле. Снова читаем время, делим, выводим ответ :)
Ответ отправлен: 10.05.2002, 14:50
Отправитель: Beeblebrox
Вопрос № 112 |
О hello в 8 байт:
Что-то я в прошлый раз перемудрил... Да и ошибка вкралась - не ren sa.exe sa.bat, а ren prog.com prog.bat, конечно...
Ну да ладно, день был неудачный...
hello.asm:
---cut---
.model tiny
.code
org 100h
go:
mov ah,9
mov dx,80h
int 21h
ret
end go
---cut---
tasm prog.asm
tlink prog.obj /t
hello.com hello$
Дерзайте))))
Вопрос отправлен: 08.05.2002, 11:08
Отправитель: Gibbel
[Следующий вопрос >>] [Список вопросов]
Отвечает swan
Доброе время суток, Gibbel!
mov ah,9 ПОМЕНЯЙ НА xchg ax,bp
БУДЕТ МЕНЬШЕ...
А ВООБЩЕ ФИГНЕЙ МАЯТЬСЯ НЕ НАДОЕЛО...
ВОТ С Broken Sword ПОДУМАЕМ ИВЫДАДИМ ЗАДАНИЕ С ПРИМЕРОМ... ЧЕРЕЗ МСЯЦОК...
Ответ отправлен: 09.05.2002, 02:47
Отправитель: swan
Отвечает Blackeye
Здравствуйте, Gibbel!
Молодца весело придумал чтением PSP. Маленькая поправка, хоть параметры командной строки и находяться с 80h, вывод лучше начинать с 81h, а то по 80h у меня 07h все время стоит что портит вид выводимой строки :)
Ответ отправлен: 08.05.2002, 21:18
Отправитель: Blackeye
Отвечает Sensey
Приветствую Вас, Gibbel!
Ну тогда уж так(см Приложение)
1.В начале Дос сессии bp равен 0900 - это кто-то из экспертов первым написал, не я
2. в dx надо 81 - зачем лишний символ выводить...
Приложение:
Ответ отправлен: 08.05.2002, 11:31
Отправитель: Sensey
Отвечает Broken Sword
Здравствуйте, Gibbel!
да!....... конечно!! так вообще можно дойти до маразма в 5 байт:
type hello.com
а в файле hello.com -
48 45 4C 4C 4F
Это ж все ерунда полная!!!
Ответ отправлен: 08.05.2002, 22:54
Отправитель: Broken Sword
Отвечает User
Здравствуйте, Gibbel!
Вместо mov ah,9 поставь xchg ax,bp (не знаю почему это проходит, в AFDPRO регистр bp=0 ???). Получится код в 7 байт. И корректней было бы вместо mov dx,80h mov dx,82h (по адресу 80h - кол-во символов командной строки, 81h - пробел между названием проги и командной строкой)
Ответ отправлен: 09.05.2002, 01:14
Отправитель: User
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (85) C / C++ (35) Perl (12) Delphi (23) Pascal (34) Basic / VBA (19) Java / JavaScript (14) PHP (9) MySQL / MSSQL (7) |
Пользователю Windows 95/98/Me (75) Windows NT/2000/XP (61) "Железо" (67) Поиск информации (22) |
Администратору Windows NT/2000/XP (19) Linux / Unix (11) |
Юристу Гражданское право (28) Уголовное право (5) Семейное право (8) Трудовое право (7) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||