Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

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.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
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)

Отправить вопрос всем экспертам выбранной рассылки.




be number one SUPERTOP Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное