Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 269
от 17.05.2002, 00:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 186 Отправлено ответов: 469 Активность: 252.1 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Blackeye Статус: Опытный Общий рейтинг: 130.63 URL: Delphi, my programms... [Подробней >>] |
Топор Статус: Опытный Общий рейтинг: 141.57 URL: Хорошая Русская Металлическая команда Телефон: (8462)160302, 162918 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 166.55 [Подробней >>] |
Gibbel Статус: Начальный Общий рейтинг: 108.92 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 165.21 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
BlackBeast Статус: Начальный Общий рейтинг: 104.06 [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 136.96 URL: Beeblebrox / TMA HomePage [Подробней >>] |
bin Статус: Начальный Общий рейтинг: 116.66 [Подробней >>] |
AllAddIn Статус: Опытный Общий рейтинг: 123.19 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 168.65 [Подробней >>] |
Duron750 Статус: Начальный Общий рейтинг: 102.12 [Подробней >>] |
Andy Bitoff Статус: Опытный Общий рейтинг: 125.62 URL: HomePage или что-то типа того :) [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 151. Не дадите ли ссылочки на документацию по новым инструкциям, появившихся в .386, .486, .586 процессор... (ответов: 3)
Вопрос № 152. Я щас начал учить асм под маздай и уже появилось много вопросов,самое главное это - как загрузить пр... (ответов: 2)
Вопрос № 153. Здравствуйте ув. Экперты! 1. Не подскажете где найти ХОРОШИЙ справочник по командам процессоров от 8... (ответов: 3)
Вопрос № 155. Я где-то месяц назад приступил к изучению Ассемблера. Выучил Ассемблер под Дос на неплохом базовом у... (ответов: 8)
Вопрос № 156. Ну ладно с hello разобрались.А кто сделает программу которая выведет полную(например 0dh и 0аh должн... (ответов: 5)
Вопрос № 157. ладно, уточню: надо написать программу в минимальное кол-во байт которая выводит все без исключения ... (ответов: 2)
Вопрос № 158. Люди, ко мне не приходят вопросы уже где-то месяц, а рейтинг падает ( по статистике они якобы приход... (ответов: 1)
Вопрос № 159. а вот так: mov ah,0B8h mov es,ax x: stosw inc ax loop x ret 9 bytes ... (ответов: 2)
Вопросов: 8, ответов: 26
Вопрос № 151 |
Не дадите ли ссылочки на документацию по новым инструкциям, появившихся в .386, .486, .586 процессоров.
Вопрос отправлен: 12.05.2002, 02:28
Отправитель: Speedy Gonsalez (kiselevo@mtu-net.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Blackeye
Приветствую Вас, Speedy Gonsalez!
Шлю на www.intel.com. А так что нового:
386 -CMOVcc,PUSHAD,POPAD,CDQ,CWDE,MOVSX,MOVZX,SHRD,SHLD,BT,BTS,BTR,BTC,SET,JECXZ,MOVSD,CMPSD,SCASD,LODSD,STOSD,OUTSD,INSD,PUSHFD,POPFD,LFS,LGS
486 - BSWAP,XADD,CMPXCHG8B,UD2
586 - CPUID(хоть и пишут что с 486, но только в ранних то его и нет, поэтому он в 586 100% есть) и др.
Также SSE,SSE2,MMX,3DNow!,3DNow!Extensions и т.д
Ответ отправлен: 12.05.2002, 18:19
Отправитель: Blackeye
Отвечает Топор
Здравствуйте, Speedy Gonsalez!
Пробовал заслать тебе хелп один, да чегой-та мейл.ру глючит. А посему качай Easy Assembler Shell 4.17 и юзай сей хелп оттудова:
http://noro.chat.ru/easrus.html
Удачи!
Ответ отправлен: 15.05.2002, 22:48
Отправитель: Топор
Отвечает masquer
Добрый день, Speedy Gonsalez!
Goto developer.intel.com and amd.com
Ответ отправлен: 12.05.2002, 09:06
Отправитель: masquer
Вопрос № 152 |
Я щас начал учить асм под маздай и уже появилось много вопросов,самое главное это - как загрузить прогу в СофтАйс для отладки??????никак не получается(Вин 98,САйс-3.25),это вопрос про виндовые проги ,а еще меня интересует можно ли отлаживать в этом САйсе проги под ДОС????Да,и что такое этот Символ лоадер??????Еще меня интересует одна вестч , вот например мы пишем
call ShellExecute , после ассемблирования асм запишет смещение этого ShellExecute,я так понял что смещение он записывает из LIB файлов подключаемых к нашей проге (includelib),но тогда как я понимаю это еще и значит что в памяти DLL-ки размещаются в одном месте,или указатели на функции разполагаются в опр. месте????, как точно разкажите мне плиз, а то я не совсем понимаю.........
Вопрос отправлен: 12.05.2002, 05:44
Отправитель: Deputat
[Следующий вопрос >>] [Список вопросов]
Отвечает Топор
Добрый день, Deputat!
Все вызываемые из DLL функции перечислены в заголовке PE-файла, и не важно, из LIBов они или из DEF-файла. Все подобные call-ы, насколько я понимаю, отправляются именно в заголовок, хотя могу и ошибаться.
Ответ отправлен: 15.05.2002, 22:36
Отправитель: Топор
Отвечает masquer
Добрый день, Deputat!
Загружаешь SymbolLoader, затем File->Open, затем Module->Load. Если окошко появляется, нажимаешь ОК. Все.
В lib файлах хранится информация о функциях, их код, в общем это библиотека COFF obj файлов.
Смещение к действительному адресу функции записывает сам виндовз пир загрузке модуля. В секцию импорта записывается (в общем случае) только информация о том, какую функцию мы должны вызвать, из какой библиотеки, Hint. Это сделано для совместимости со всеми вин32 приложениями. Если нужно более подробно - бери описание формата РЕ и изучай.
Ответ отправлен: 12.05.2002, 09:24
Отправитель: masquer
Вопрос № 153 |
Здравствуйте ув. Экперты!
1. Не подскажете где найти ХОРОШИЙ справочник по командам процессоров от 8086 до Pentium IV, включая MMX, 3DNow!, SSE, SSE2 и т. д. ? (ответы типа "www.yandex.ru" не принимаются :) )
TO Вал.Ик: Почему так давно не выходит основная рассылка ?
Вопрос отправлен: 12.05.2002, 12:08
Отправитель: Artem
[Следующий вопрос >>] [Список вопросов]
Отвечает Blackeye
Приветствую Вас, Artem!
www.intel.com, www.amd.com ищи там, там же все есть!
Ответ отправлен: 12.05.2002, 18:19
Отправитель: Blackeye
Отвечает masquer
Здравствуйте, Artem!
А ты вообще хоть пробовал искать.
Смотри developer.intel.com and amd.com
Ответ отправлен: 12.05.2002, 12:19
Отправитель: masquer
Отвечает Gibbel
Доброе время суток, Artem!
intel.com устроит???
Ответ отправлен: 13.05.2002, 11:34
Отправитель: Gibbel
Вопрос № 155 |
Я где-то месяц назад приступил к изучению Ассемблера. Выучил Ассемблер под Дос на неплохом базовом уровне. Скажите плиз что лучше изучить досконально весь Дос-Ассемблер, или бросить все это дело, тк ДОСом уже вроде как почти не используется, и приступить к изучению Ассемблера под Win32 ??
Вопрос отправлен: 12.05.2002, 17:37
Отправитель: Dr Genius (drgenius@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Dr Genius!
Я досом лет пять не занимаюсь, забыл уже многое, а вообще решать тебе.
Ответ отправлен: 12.05.2002, 18:39
Отправитель: masquer
Отвечает Топор
Добрый день, Dr Genius!
Имхо, бросать это дело не стоит, потому как DOS может то, чего не может винда, как, впрочем, и наоборот. Да и не всё в программировании для Win32 сводится лишь к вызову APIшных функций, досовские знания тоже крепко пригодятся.
Удачи!
Ответ отправлен: 15.05.2002, 22:22
Отправитель: Топор
Отвечает Blackeye
Здравствуйте, Dr Genius!
Моя точка зрения такова: нужно знать весь дос очень хорошо!
Во-первых это реальный режим (а е защищенный как в Windows) во-вторых Win32ASM это ничто иное как обыкновенная работа с чистыми WinAPI функциями и асма там и не так уже и много. Хотя лично мне Win32Asm очень нравиться. Вот так вот...
Ответ отправлен: 14.05.2002, 18:19
Отправитель: Blackeye
Отвечает Sensey
Доброе время суток, Dr Genius!
Честно, а что такое Асм под Вин? Вызов API под асмом?
Я лично уже 3 года работаю под настоящи асмом, а под Винду и не пытался учить.
Правда я не скажу что я учил асм под ДОС, т.е. под конкретную операционку.
Правильно будет сказать так
Ассемблер учится не под операционку, а под процессор!
То есть под 80х86, 51, Z80, etc.
Потому как ассемблер определяется процессором, а не операционкой!!!
Ассемблер(определение) - язык мнемокоманд машинных инструкций процессора.
Ответ отправлен: 13.05.2002, 10:35
Отправитель: Sensey
Отвечает BlackBeast
Приветствую Вас, Dr Genius!
У меня этот вопрос возник где-то года два назад. Выбор пал на приложения под мастдай. Вроде-бы возможностей больше, код красивее и т.п. Но и старый добрый Дос не забываю.
Ответ отправлен: 14.05.2002, 21:29
Отправитель: BlackBeast
Отвечает Beeblebrox
Доброе время суток, Dr Genius!
Нет такого понятия, как "ассемблер под дос или под вин32", есть просто ассемблер. Его можно изучать всю жизнь, точно знаю, что одного месяца мало :)
Ответ отправлен: 13.05.2002, 10:08
Отправитель: Beeblebrox
Отвечает bin
Дмюоьх делщ, Dr Genius!
Дч пь у ночадм До. Желух, еъйу чък мъамуй цч кеъзф. З йублм ъбупчв, бпм неоесмдупщ лч Win чък леклмжм очлмачпм, лм кмтлм. Ноулфунучйщлмх очцлуфь кетдя DOS у WIN леп (ичи юь лу жмамоуйу). Жйчалме нмлзпщ ъчк кесчлуцк у ноулфун очюмпь. Амммммюше, ъбупчв бпм беймаеи ъеощTцлм цчлукчвшухъз имкнчку мюзцчл цлчпщ чък, дйз нмлукчлуз очюмпь ъуъпекь лч ъчкмк(ля еъйу ле юочпщ ам алукчлуе очюмпя лч яомале почлцуъпмома) луцимк яомале.
P.S. ч нмд WIN дйз лчбчйч йябэе нмнуъчпщ лч ЗАЯ (дч смпщ лч Builder C++) дйз мцлчимкйелуз ъ API
P.P.S лм ыпм беоеачпм нмъйедъпаузку (номжочккуомачлуе лч ЗАЯ). з дм ъус нмо ле кмжя уцючаупъз мп жйянмх мэуюиу пунч :
mov ax, bx+4
смпз ноеиочълм цлчв бпм пчи нуъчпщ лейщцз.
Ответ отправлен: 13.05.2002, 02:16
Отправитель: bin
Отвечает AllAddIn
Доброе время суток, Dr Genius!
Совет: Занимайся параллельно, совершенствуя код для ДОС, изучая и осваивая код под Виндовз.
Ответ отправлен: 12.05.2002, 20:39
Отправитель: AllAddIn
Вопрос № 156 |
Ну ладно с hello разобрались.А кто сделает программу которая выведет полную(например 0dh и 0аh должны выводится как символы) таблицу ascii.
Вопрос отправлен: 12.05.2002, 21:11
Отправитель: TLG (pot@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, TLG!
вот тебе 10 байт без оптимизации...
.model tiny
.code
.186
org 100h
@@start:
xchg si,ax
push 0B800h
pop ES
@@1: stosw
inc ax
jnz @@1
ret
end @@start
Приложение:
Ответ отправлен: 12.05.2002, 23:45
Отправитель: Broken Sword
Отвечает Sensey
Приветствую Вас, TLG!
Так функцией биоса -
Прерывание 10h
ф-ции 0ah
либо 09h
Ответ отправлен: 13.05.2002, 10:41
Отправитель: Sensey
Отвечает Duron750
Доброе время суток, TLG!
Ты хоть сам понял что сказал то ? Это какими же символами должны выводиться перевод строки и возврат карретки ?
Ответ отправлен: 13.05.2002, 13:25
Отправитель: Duron750
Отвечает masquer
Доброе время суток, TLG!
На тебе фрагмент 32бит кода, который запоняет буфер длиной 256 байт. Тут оптимизация по скорости а не по размеру.
Приложение:
Ответ отправлен: 12.05.2002, 21:32
Отправитель: masquer
Отвечает Andy Bitoff
Здравствуйте, TLG!
Это не интересно. У Зубкова есть такая прога, вот она (61 байт):
; Выводит на экран все ASCII-символы без исключения
;
; Компиляция:
; TASM:
; tasm /m biosout.asm
; tlink /t /x biosout.obj
; MASM:
; ml /c biosout.asm
; link biosout.obj,,NUL,,,
; exe2bin biosout.exe biosout.com
; WASM
; wasm biosout.asm
; wlink file biosout.obj form DOS COM
;
.model tiny
.code
org 100h ; Начало COM-файла
start:
mov ax,0003h
int 10h ; Видеорежим 3 (очистка экрана и установка курсора в 0,0)
mov dx,0 ; DH и DL будут использоваться для хранения положения
; курсора. Начальное положение - 0,0
mov si,256 ; SI будет счетчиком цикла
mov al,0 ; Первый символ - с кодом 00h
mov ah,9 ; Номер видеофункции "вывод символа с атрибутом"
mov cx,1 ; Выводится один символ за раз
mov bl,00011111b ; атрибут символа - белый на синем
cloop:
int 10h ; Вывести символ на экран
push ax ; Сохранить текущий символ и номер функции
mov ah,2 ; Номер видеофункции 2 - изменить положение курсора
inc dl ; Увеличить текущий столбец на 1
int 10h ; Переместить курсор
mov ax,0920h ; AH = 09, AL = 20h (ASCII-код пробела)
int 10h ; Вывести пробел
mov ah,2 ; Номер видеофункции 2
inc dl ; Увеличить столбец на 1
int 10h ; Переместить курсор
pop ax ; Восстановить номер функции в ah и текущий символ в al
inc al ; Увеличить AL на 1 - следующий символ
test al,0Fh ; Если AL не кратен 16,
jnz continue_loop ; продолжить цикл,
push ax ; иначе сохранить номер функции и текущий символ
mov ah,2 ; Номер видеофункции 2
inc dh ; Увеличить номер строки на 1
mov dl,0 ; Столбец = 0
int 10h ; Установить курсор на начало следующей строки
pop ax ; Восстановить номер видеофункции и текущий символ
continue_loop:
dec si ; Уменьшить SI на 1, если он не стал нулем - продолжить
jnz cloop ; CX используется внутри цикла, так что нельзя
; использовать команду LOOP для его организации
ret ; Завершение COM-файла
end start
Ответ отправлен: 12.05.2002, 21:41
Отправитель: Andy Bitoff
Вопрос № 157 |
ладно, уточню: надо написать программу в минимальное кол-во байт которая выводит все без исключения 256 ascii символов
Вопрос отправлен: 12.05.2002, 22:13
Отправитель: TLG (pot@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, TLG!
вот тебе 10 байт без оптимизации...
.model tiny
.code
.186
org 100h
@@start:
xchg si,ax
push 0B800h
pop ES
@@1: stosw
inc ax
jnz @@1
ret
end @@start
Ответ отправлен: 12.05.2002, 23:43
Отправитель: Broken Sword
Отвечает Beeblebrox
Здравствуйте, TLG!
Это не формулировка задания. Хорошая формулировка должна занимать как минимум полстраницы текста.
Должен ли вывод быть переназначаемым? Тогда никак не получится вывести ВСЕ 256 символов
Должна ли программа корректно выходить в дос, реагировать на клавиши и командную строку?
Значения регистров при старте?
Контрольный пример?
Ответ отправлен: 13.05.2002, 10:18
Отправитель: Beeblebrox
Вопрос № 158 |
Люди, ко мне не приходят вопросы уже где-то месяц, а рейтинг падает ( по статистике они якобы приходят ), может кто знает из-за чего такое гонево происходит ?
Что делать не знаю...
P.S: приходят только индивидуальные вопросы.
Вопрос отправлен: 12.05.2002, 23:23
Отправитель: V4D
[Следующий вопрос >>] [Список вопросов]
Отвечает bin
Дмюоьх делщ, V4D!
Ле кмжя ъичцчпщ лч 100%, лм ъимоее аъежм жйви а очюмпе памежм кчхй-номачхдеоч. Я келз юьйм кьйм лч softhome.net, пчи з лч лежм очъъьйиу нмйябчй беоец очц, ч пм у оете(пмте ъчкме у ъ амномъчку). Ч имждч цчсмдуй лч "Subscribe.ru : Пеияшуе номюйекь дмъпчаиу", пм softhome.net юьй мдлук уц ъчкьс ъюмхльс ъеоачима. Нмкелза кьйм номюйекь аомде яйчдуйуъщ...нмич :)
Ц.Ь. лчдевъщ ле мюудей лу softhome.net, лу ежм нмйщцмачпейех
Ответ отправлен: 13.05.2002, 02:56
Отправитель: bin
Вопрос № 159 |
а вот так:
mov ah,0B8h
mov es,ax
x:
stosw
inc ax
loop x
ret
9 bytes
Вопрос отправлен: 13.05.2002, 00:27
Отправитель: TLG (pot@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, TLG!
Мне вообще кажеться, что сейчас идти по пути оптимизации размера - порочный путь. Твой код подошел бы лет 8 назад, и то по скорости здесь вопрос спорный, loop - очень медленная команда, на современных процессорах размер кода уже не пропорционален скорости. Кроме того, полагаться на то что на старте программы _ГАРАНТИРОВАННО_ будут находиться какие-то значения в регистрах (кроме IP и SP), имхо, БОЛЬШАЯ ОШИБКА.
За сим откланиваюсь.
Ответ отправлен: 13.05.2002, 01:03
Отправитель: masquer
Отвечает bin
Ноуаепъпаяв Ачъ, TLG!
Иояпм..лм нмбекя 0B800h ч ле 0B000h??? кмтеп я лчъ аудемоетук 7. у нмбекя укеллм ляйеачз ъпочлуфч??? ч бпм дейчпщ еъйу пеияшчз аудемъпочлуфч 1 у аудеммця лчбулчепъз ъ B800h:0FA0h? яаудук кь паму ascii???
Ц.Ь. ле ноулукчх юйуцим и ъеодфя :)
Ответ отправлен: 13.05.2002, 03:02
Отправитель: bin
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (69) C / C++ (36) Perl (12) Delphi (23) Pascal (34) Basic / VBA (19) Java / JavaScript (14) PHP (9) MySQL / MSSQL (7) |
Пользователю Windows 95/98/Me (64) Windows NT/2000/XP (50) "Железо" (56) Поиск информации (22) |
Администратору Windows NT/2000/XP (19) Linux / Unix (11) |
Юристу Гражданское право (20) Уголовное право (5) Семейное право (8) Трудовое право (10) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||