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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 158

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-12-18


Вопрос №1877

Доброго времени суток!
У меня возник такой вопрос, при компиляции программы Shell28 возникает ошибка:
keybord.asm(188) Operand types do not match

по этому адресу такая строка:
mov di, Current_dir

пытался разобраться сам, безуспешно.
когда закоментреваю строку, то прога компелиться, но уже переходить по каталогам не может.
заранее извиняюсь если этот вопрос уже был(не нашел).
С уважением krion!

Ответ

Здравствуйте, krion!
"Ошибка не соответствия типов операндов, или неуказаны типы операндов".
Просто измени эту строку на такую и все пойдет как надо:
mov di, word ptr Current_dir


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 25

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1867

Помогите пожалуйста дописать програмку для вывода собственного листинга разноцветными буквами !!!!
P.S. Листинг уже выводит, а разноцвет никак не получается:(

Ответ

Здравствуйте, Shurik!
Попробуй так. Хотя на это существует куча решений - не претендую как на лучший.

Приложение:


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 26

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1878

Привет Всем !
Я тут искал-искал в нете программку, но так и не получилось ее найти. Помогите ? Суть вопроса: записал через тв-тюнер клип в формате avi, хочу теперь вытащить звук в wav, а лучше сразу в mp3. Через поисковики не нашел, но в програмных рассылках видел, что была такая програмка.
Сенкс.

Ответ

Здравствуйте, Илья!
Попробуй VirtualDub


Отправил эксперт: DivX
Эксперт отправил ответов (всего): 85

Экспертная группа: Пользовательская работа с Windows

Вопрос №1878

Привет Всем !
Я тут искал-искал в нете программку, но так и не получилось ее найти. Помогите ? Суть вопроса: записал через тв-тюнер клип в формате avi, хочу теперь вытащить звук в wav, а лучше сразу в mp3. Через поисковики не нашел, но в програмных рассылках видел, что была такая програмка.
Сенкс.

Ответ

Здравствуйте, Илья!
Попробуйте програмку Aviedit. Она сохраняет звук в wav файл и весит около 600 Кб. Русская версия находится здесь:
http://www.am-soft.ru/setupr.exe
С уважением, Евгений!


Отправил эксперт: Evgeny (http://edu.ru.ru - Обучающие программы)
Эксперт отправил ответов (всего): 28

Экспертная группа: Пользовательская работа с Windows

Вопрос №1878

Привет Всем !
Я тут искал-искал в нете программку, но так и не получилось ее найти. Помогите ? Суть вопроса: записал через тв-тюнер клип в формате avi, хочу теперь вытащить звук в wav, а лучше сразу в mp3. Через поисковики не нашел, но в програмных рассылках видел, что была такая програмка.
Сенкс.

Ответ

Здравствуйте, Илья!
Virtual Dub тебе поможет
http://www.virtualdub.org/index


Отправил эксперт: Sheriff
Эксперт отправил ответов (всего): 13

Экспертная группа: Пользовательская работа с Windows

Вопрос №1879

Здраствуйте эксперты!
Пишу работу, скоро надо будет здавать! Но я застрял на кокойто фигне, немогу нечего понять, уже блин на стену лезу не нех*** непойму. Помогите решить проблему пожалусто!
Прислал всю прогу от страха:)


PROGRAM MATRIX;
TYPE MAT= ARRAY [1..15, 1..15] OF REAL;
VAR N: BYTE;

PROCEDURE T(N:BYTE);
VAR COL, LN, COUNT: BYTE; NAMBER: REAL; T:MAT;
BEGIN
NAMBER:=0;
COUNT:=N+2;
FOR COL:=1 TO N DO BEGIN
FOR LN:=1 TO N DO BEGIN
IF ((COL>1) AND ((LN NAMBER:=0;
IF (N DIV COL)<(N/2) THEN COUNT:=COUNT+1;
END;
T[COL, LN]:=EXP(NAMBER*LN(2)); {Вот эта строка не работает я что только не пробовал, но что самое смешное, что когда я ту же строчку пишу в основном теле программы все работает как надо, а тут отказывается, помогите люди добрые, а то я без помоши не разбирусь}
END;
END;
END;

BEGIN
END.

Ответ

Здравствуйте, Alex!
Я тоже не пасквилянт, но если твоя злополучная строка работает везде только не тут, видимо тебе следует переименовать переменную под именем LN - я думаю, паскаль не разберется в твоей строке в параметрах вызова EXP(), что там переменная LN, а что натуральный логорифм LN(). На правильность не претендую. Не проверял - нет паскаля уменя. Попробуй, авось получиться.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 27

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1881

Привет Broken Sword!
Всетаки что то не так. насчет mov ax,data mov ds,ax так было написано у меня в книге и пояснения автора, что так необходимо делать, что это связанно с архитектурой процессора я попробовал написать mov ds,data но tasm выдал ошибку Illegal use of segment register. Насчет db перед namef это моя опечатка кагда я отправля вам письмо моя вина , Далее вы написали после строки code segment должно идти assume cs:code , ds:data вы пробовали как у меня и так как вы написали все компилит нормально и так как уменя было тоже компилил без ошибок ну да ладно это я делал как вы мне написали. Насчет mov ax,data mov ds,ax да вы правы я лоханулся.

Но все равно после исправлений прога которую нужно крякнуть до запуска моего кряка у нее был размер 892Кб а после становится 4636 Кб. Пробовал прокантролировать через Filemon но он выдает все правильно что открыт файл для чтения записи , установка смещения на 00486FF1 , запись одного байта и закрытие файла. Кстати при дезассемблировании тот бай который мне нужно заменить это код (75) команды jne а мне надо поставить код (74) это je. Если еще можете чем нибудь помочь буду благодарен и если не сможите то спасибо что потратили на меня свое драгоценное время.


data segment
whath db "Это crack к программе Kioday! $"
notfound db "Файл не найден $"
namef db "2.exe",0,'$'
crack db "Можете пользоваться $"
nowrite db "Не могу записать в файл $"
noukazf db "Не могу установить указатель в файле  $"
handle dw ?

data ends

code segment
assume cs:code, ds:data

; выводит строку о программе
begin:
mov ax,data
mov ds,ax
mov ah,09h
mov dx,offset whath
int 21h
;****************

;открывает файл для чтения записи
mov ax,3d02h
mov dx,offset namef
int 21h
;*********************

jc Error

mov handle,ax
jmp Write

;если файл не найден
Error:
mov ah,09h
mov dx,offset notfound
int 21h
jmp Exit
;******************

;установка смещения в файле на 00486ff1
Write:
mov bx,handle
mov ah,42h
mov al,00
mov cx,0048h
mov dx,6ff1h
int 21h
jc Error2
;**************************

;запись в файл байта
mov ah,40h
mov bx,handle
mov cx,01
mov dx,74h
int 21h
jc Error3
;***********************

;вывод сообщения что все сделано
mov ah,09h
mov dx,offset crack
int 21h
mov ah,3eh
int 21h
jmp Exit
;***********************

;Если не может установить указатель в файле
Error2:
mov ah,09h
mov dx,offset noukazf
int 21h
mov ah,3eh
int 21h
jmp Exit
;***********************

;если не может записать в файл
Error3:
mov ah,09h
mov dx,offset nowrite
int 21h
mov ah,3eh
int 21h
jmp Exit
;**********************

;выход из программы
Exit:
mov ax,4c00h
int 21h
;*****************

code ends

stk segment stack
db 256 dup (?)
stk ends

end begin

Ответ

Здравствуйте, Дима!
ВОТ МЫ С ТОБОЙ ДВА ЛОШПАКА, ОТВЕЧАЮ! Я ОСОБЕННО ,но ты тоже хорош!!! нада была сразу запускать калькулятор, вводить в hex-е смещение, которое ты высчитал :))) и смотреть что получиться в dec формате... а получается... угадай что??? правильна, 4636Кб!!!!!!!!!!!!!!!
ну ненужен там сегмент НЕНУЖЕН НАФИГ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ПОЗОР.

короче забивай cx нулями а в dx-е оставляй шо есть (6ff1h) (на всякий случай это из той оперы, кода ты тащиш указатель файла на позицию :) )...

p.s. Как сказал бы Painbringer, "чего то ты там намудил" опять с записью в файл байта. у тебя dx равно 74h (это то что ты хочишь записать?) а должен содержаться АДРЕС с этим самым 74h!!!!!!! в первой проге у тебя было больше похоже на правду, я только имел ввиду что 74h и 74 - это не одно и то же!!!!!!!! больше я не смотрел, если ты там от себя ниче не привнес нового, то вроде ДОЛЖНО 100% РАБОТАТЬ!


Отправил эксперт: Broken Sword (http://www.implozia.ru/imp/music/zemfira-traffic.mp3 - незнаю, зачемто вплел)
Эксперт отправил ответов (всего): 256

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1882

Kgm вот я чайник:)) точно, надо же было так ступить... .
Да если нужен Паскакаль я тебе могу выслать! Сам вчера вечерком скачал, всего 1,5 метра. Да темболее я там такую чуш написал шас сяду все переделаю! Биг сенкс:))

Ответ

Здравствуйте, Alex!
Рад, что получилось. За паскаль спасибо, я им не пользуюсь. А старые знания о нем еще, видимо, не все забылись.
Всего...


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 28

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1881

Привет Broken Sword!
Всетаки что то не так. насчет mov ax,data mov ds,ax так было написано у меня в книге и пояснения автора, что так необходимо делать, что это связанно с архитектурой процессора я попробовал написать mov ds,data но tasm выдал ошибку Illegal use of segment register. Насчет db перед namef это моя опечатка кагда я отправля вам письмо моя вина , Далее вы написали после строки code segment должно идти assume cs:code , ds:data вы пробовали как у меня и так как вы написали все компилит нормально и так как уменя было тоже компилил без ошибок ну да ладно это я делал как вы мне написали. Насчет mov ax,data mov ds,ax да вы правы я лоханулся.

Но все равно после исправлений прога которую нужно крякнуть до запуска моего кряка у нее был размер 892Кб а после становится 4636 Кб. Пробовал прокантролировать через Filemon но он выдает все правильно что открыт файл для чтения записи , установка смещения на 00486FF1 , запись одного байта и закрытие файла. Кстати при дезассемблировании тот бай который мне нужно заменить это код (75) команды jne а мне надо поставить код (74) это je. Если еще можете чем нибудь помочь буду благодарен и если не сможите то спасибо что потратили на меня свое драгоценное время.


data segment
whath db "Это crack к программе Kioday! $"
notfound db "Файл не найден $"
namef db "2.exe",0,'$'
crack db "Можете пользоваться $"
nowrite db "Не могу записать в файл $"
noukazf db "Не могу установить указатель в файле  $"
handle dw ?

data ends

code segment
assume cs:code, ds:data

; выводит строку о программе
begin:
mov ax,data
mov ds,ax
mov ah,09h
mov dx,offset whath
int 21h
;****************

;открывает файл для чтения записи
mov ax,3d02h
mov dx,offset namef
int 21h
;*********************

jc Error

mov handle,ax
jmp Write

;если файл не найден
Error:
mov ah,09h
mov dx,offset notfound
int 21h
jmp Exit
;******************

;установка смещения в файле на 00486ff1
Write:
mov bx,handle
mov ah,42h
mov al,00
mov cx,0048h
mov dx,6ff1h
int 21h
jc Error2
;**************************

;запись в файл байта
mov ah,40h
mov bx,handle
mov cx,01
mov dx,74h
int 21h
jc Error3
;***********************

;вывод сообщения что все сделано
mov ah,09h
mov dx,offset crack
int 21h
mov ah,3eh
int 21h
jmp Exit
;***********************

;Если не может установить указатель в файле
Error2:
mov ah,09h
mov dx,offset noukazf
int 21h
mov ah,3eh
int 21h
jmp Exit
;***********************

;если не может записать в файл
Error3:
mov ah,09h
mov dx,offset nowrite
int 21h
mov ah,3eh
int 21h
jmp Exit
;**********************

;выход из программы
Exit:
mov ax,4c00h
int 21h
;*****************

code ends

stk segment stack
db 256 dup (?)
stk ends

end begin

Ответ

Здравствуйте, Дима!
Ниже код, который нормально заменяет байт по адресу 00486ff1h на 074h.
Проверено на 11Мб фале. Размер файла не меняется. Поищи изменения и внимательней читай доки!

Приложение:


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 29

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1885

Очень и очинь нужен пример и описание интерфейса перепрограммирования FLASH BIOS для написания программы перешивки BIOS'a

Ответ

Здравствуйте, werewolf!
Боюсь универсального кода перепрошивки BIOS для любых мат.плат нет.
Для каждого производителя и может даже для каждой модели этот код будет разным. Если рассматрировать модель конкретного производителя (или какую-то модель), можно дезассемблировать код его прошивальщика BIOS, а там есть все и как надо делать.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 30

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1879

Здраствуйте эксперты!
Пишу работу, скоро надо будет здавать! Но я застрял на кокойто фигне, немогу нечего понять, уже блин на стену лезу не нех*** непойму. Помогите решить проблему пожалусто!
Прислал всю прогу от страха:)


PROGRAM MATRIX;
TYPE MAT= ARRAY [1..15, 1..15] OF REAL;
VAR N: BYTE;

PROCEDURE T(N:BYTE);
VAR COL, LN, COUNT: BYTE; NAMBER: REAL; T:MAT;
BEGIN
NAMBER:=0;
COUNT:=N+2;
FOR COL:=1 TO N DO BEGIN
FOR LN:=1 TO N DO BEGIN
IF ((COL>1) AND ((LN NAMBER:=0;
IF (N DIV COL)<(N/2) THEN COUNT:=COUNT+1;
END;
T[COL, LN]:=EXP(NAMBER*LN(2)); {Вот эта строка не работает я что только не пробовал, но что самое смешное, что когда я ту же строчку пишу в основном теле программы все работает как надо, а тут отказывается, помогите люди добрые, а то я без помоши не разбирусь}
END;
END;
END;

BEGIN
END.

Ответ

Здравствуйте, Alex!
Во первых, у тебя строка
IF ((COL>1) AND ((LN NAMBER:=0;
неправильная-ты ее не докопировал, ая не понял,что там надо дописать...
Но грубая ошибка-ты объявляешь в процедуре переменную LN, и у тебя функция LN в той самой строке и не вызывается!!!
Просто, но бывает...
Удачи!


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 234

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1891

Привет всем!!!
Такая конструкция:
STRUC aaa
x dw ?
y dw ?
ENDS aaa
И такая конструкция:
STRUCT Taaa METHOD {}
x dw ?
y dw ?
ENDS Taaa
Вопрос № 1. В чем их принципиальная разница? В памяти различий я че то не увидел…Каким образом TASM понимает что то объект , а то структура? Ключевое слово METHOD ведь не компилируется, в памяти, я так понял, они выглядят одинаково…Надеюсь понятно спросил.
Вопрос № 2. С какой версии TASM появилось ключевое слово METHOD? Что-то я в своем справочнике не нахожу (до TASM 3.2). Где про него можно почитать?
Вопрос № 3. (“Философский”). Стоит ли вообще связываться с объектным программированием на ассемблере? Помимо трудностей с ручным конструированием виртуальных таблиц и инициализацией регистров, какие тут еще подводные камни. Короче говоря, может я зря сюда полез, присобачил бы сишные объектики, да и все...
Спасибо!С уважением Вал.Ик.
З.Ы. Broken Swordu: Ну это ты зря! Я бы про нелюбимых экспертов не писал. А по профу я – программист-электронщик, а также наладчик промышленной электронной техники. Да вот после того как меня вчерась на подстанции током шантарахнуло, думаю плюнуть на эти глупые занятия и уйти в газетчики:)))))))))))))))))))

Ответ

Здравствуйте, Вал.Ик.!


Ключевое слово METHOD показывает, что вы используете расширенную форму директивы STRUC и определяете объект с именем Taaa.

Ключевое слово METHOD указывает на вызов метода. За ним следует описаний процедур метода для данного объекта. Если список методов занимает более одной строки, описания заключаются в фигурные скобки ({ }).

Каждая запись состоит из имени метода, двоеточия, размера указателя на процедуру метода (WORD для ближних процедур, DWORD для дальних процедур). Далее следует символ равенства, имя процедуры и вызов этого метода.

Это я взял из описания на TASM 3.0 - полный русский перевод.
Кому надо - выложу на сайте (в течении суток).


Отправил эксперт: Артём Шегеда (shegeda.chat.ru - Личная страничка - ничего особенного)
Эксперт отправил ответов (всего): 12

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1868

Всем огр-р-ромный привет!
И за ранее sorьки за оффтопик!
Препод сегодня втирал нам про рекурсии и привел очень интересный пример который я ну не как несмог осмыслить долбался, долбался, долбался, долбался, долбался но всеровно не въехал. Да еше и компилятора для Паскакаля нету, проверить негде:(( Думаю остается последний шанс спросить экспертов:))
Вот эта процедура сможет перевести из 10-чной в 2-ицную систему исчесления (см. ниже):
procedure p (m:word);
begin
if m<>1 then p(m div 2);
write (m mod 2);
end.
Вот я понимаю что эта рекурсия (чоб еЈ...) будет наризать круги, но когда m=1 она выведет только одно число (mod 2). А препод утверждает что она еше вернется на верх и опять вниз и опять выведет еше одно число..., во как!
Буду благодарен за любой ответ...!
P.S. Вал.Ик тебе надо писать хронику рассылки=)
P.S.S. За ранее примного благодарен!

Ответ

Здравствуйте, Alex!

Все правильно. Покажу на примере перевода числа 10:

1. p (10) -> m = 10
-------------------
1.1 m <> 1? Да. Вызываем p (10 div 2) = p (5).

2. p (5) -> m = 5
-----------------
2.1 m <> 1? Да. Вызываем p (5 div 2) = p (2).

3. p (2) -> m = 2
-----------------
3.1 m <> 1? Да. Вызываем p (2 div 2) = p (1).

4. p (1) -> m = 1
-----------------
4.1 m <> 1? Нет. Ничего не делаем.
4.2 Печатаем m mod 2 = 1 mod 2 = 1.
4.3 Выходим из процедуры.

3.2 Печатаем m mod 2 = 2 mod 2 = 0.
3.3 Выходим из процедуры

2.2 Печатаем m mod 2 = 5 mod 2 = 1.
2.3 Выходим из процедуры

1.2 Печатаем m mod 2 = 10 mod 2 = 0.
1.3 Выходим из процедуры.

Все.

Надеюсь, теперь понятно?


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 119

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1880

Забыл..., та прога должна выводить матрицу вида, я немогу ее некак зделать на этом Паскакале (я его вообше не знаю), а не Сях запретили :(

|01 02 04 08 16|
|00 01 02 04 00|
|00 00 01 00 00|=T
|00 01 02 04 00|
|01 02 04 08 16|

P.S. Буду рад любой помоши:))

Ответ

Здравствуйте, Alex!

Попробуйте вот эту программу...

Приложение:


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 120

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1893

Здравствуйте.
Я уже задавал этот вопрос (1806), но повторюсь.
---------------------------------------------------
Имеется Shareware версия универсального DOS-овского просмотрщика/проигрывателя QuickView Pro Ver. 2.46 (тянет даже DivX). (Если кому интересно можно скачать здесь: http://multimediaware.com/qv/). Может у кого есть кряк или кейген к нему или хоть к версии 2.45?
----------------------------------------------------
Эксперт x-gn ответил:
Сходи на CRACK.RU
Там есть все
----------------------------------------------------
Да был я там и ещЈ много где лазил - всего там как раз и нету.
Тут есть небольшая путаница, существуют 2 вида софта с одинаковым названием "QuickView".
Одно - HEX-гляделка/редактор.
Другое - это просморщик (под DOS) графических файлов, видео (в том числе DivX) и аудио (WAV, MP3).
Меня интересует, как раз, взлом последнего.
Михаил

Ответ

Здравствуйте, Михаил!
Значит так, эта гляделка есть в пятом Нортоне для Вин95. Там ее регить не надо. Если же тебя интересует именно твоя версия, ну попробуй сам пошарится по нужным сайтам. :)))
Сходи сяда http://www.astalavista.box.sk и попробуй здесь.

ЗЫ: А вообще, по-моему, эксперты не обязаны отвечать на вопросы, где доставать кряки. Они могут только помочь крякнуть. :))))))


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 13

Экспертная группа: Пользовательская работа c DOS

Вопрос №1889

Всем привет.
Прошу вашой помощи. Вы не подскажите как запустить Soft Ice под
Windows XP ? И ещё у меня вылетает компьютер с закрытым корпусом,
а если его открыть то всё нормально.
Система Athlon XP 1600+/Soltek SL-75DRV2/DDR 256MB Micron/Dragon Orb3,
а температура при закрытом корпусе после игр 55градусов процессора и
38 чипсета. А при открытом корпусе 49/33.Термопасты нету. Подскажите
в чём дело. Зарание всем большое спасибо.

Ответ

Здравствуйте, Андрей!
С Soft Ice, боюсь, придется ждать от NuMega соответствующей версии под XP. Даже если удасться запустить SoftIce для Win2000 под XP это мало что даст, поскольку информационная часть SofIce о системе очень зависит от самой системы и отладчик ища информацию по структурам системы Win2000 будет натыкаться на несколько измененные или новые объекты и будет врать и спотыкаться. Такая ситуация была у меня при попытке запустить SoftIce для Win NT4 в Win2000.
Правильнее будет сейчас уже заняться поиском версии под XP, она скорее всего уже существует - NuMega имеет (во всяком случае имела) партнерские отношения с Microsoft.
А комп попробуй заземлить.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 31

Экспертная группа: Дизассемблеры

Вопрос №1894

Здраствуйте!
Кто-нибудь знает комбинацию клавиш в Винде9х для сворачивания окна на панель задач, еси таковой нет, какая WinAPI-функция за это отвечает. Еси можно приблизительное ее описание и фрагмент кода на асме. Зарание благодарен!

Ответ

Здравствуйте, remix!
пуск+м - свернуть окна
пуск+d - Оналогична кнопке "свернуть все окна"
пуск+е - Вызвать проводник
пуск+r - Вызвать окно запуска программы
пуск+f - Найти все файлы (можно и F3)


Отправил эксперт: Digger (www.digger-mib.chat.ru/freeware.htm - Мой софт :))
Эксперт отправил ответов (всего): 23

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1896

Здравствуйте, эксперты! При загрузке Win98SE после запуска всех программ из реестра и автозагрузки курсор секунд 10 остается в режиме ожидания(часики).Как исправить ситуацию (винду только проинсталлил)? Заранее благодарен, EraSer.

Ответ

Здравствуйте, EraSer!
Пуск->выполнить->msconfig ->
Автозагрузка
Убрать SysTray и смирится с потерей
регулятора громкости (поставить альтернативный)


Отправил эксперт: Sheriff
Эксперт отправил ответов (всего): 14

Экспертная группа: Пользовательская работа с Windows

Вопрос №1896

Здравствуйте, эксперты! При загрузке Win98SE после запуска всех программ из реестра и автозагрузки курсор секунд 10 остается в режиме ожидания(часики).Как исправить ситуацию (винду только проинсталлил)? Заранее благодарен, EraSer.

Ответ

Здравствуйте, EraSer!
Запусти прогу msconfig (пуск->выполнить) иди в автозагрузку и посмотри чего у тебя там грузится, убери лишнее...


Отправил эксперт: змей
Эксперт отправил ответов (всего): 149

Экспертная группа: Пользовательская работа с Windows

Вопрос №1897

Здравствуйте эксперты!
Свою первую(!) собственную от начала до конца программу, котороая практически ничего особенного не делает, а была написана просто для закрепления пройденного материала.:-))) Очень бы хотелось, чтоб вы высказали свою замечания по поводу программы, как ее можно оптимизировать, все узкие места, если они там могут быть, которые недопустимы и т.д. Желательно чтоб вы как можно сильней ее попинали, мне от этого только польза будет!:-)

Ответ

Здравствуйте, ILYA D.!

Эту программу можно сократить раза в два по меньшей мере.
Зачем значения вводятся для каждой функции в отдельности, когда можно это ввести в основной функции?

Непонятно назначение функции hexcode. зачем из строки делать значение?
Сейчас короче все переделаю.

Вот короче. может оптимизацией позанимаемся? давно не баловались... :)
Было 592 байт стало 276.

Приложение:


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 217

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1896

Здравствуйте, эксперты! При загрузке Win98SE после запуска всех программ из реестра и автозагрузки курсор секунд 10 остается в режиме ожидания(часики).Как исправить ситуацию (винду только проинсталлил)? Заранее благодарен, EraSer.

Ответ

Здравствуйте, EraSer!Что-то у Вас грузится, а посмотреть что можно из Msconfig


Отправил эксперт: Franchik
Эксперт отправил ответов (всего): 7

Экспертная группа: Пользовательская работа с Windows

Вопрос №1894

Здраствуйте!
Кто-нибудь знает комбинацию клавиш в Винде9х для сворачивания окна на панель задач, еси таковой нет, какая WinAPI-функция за это отвечает. Еси можно приблизительное ее описание и фрагмент кода на асме. Зарание благодарен!

Ответ

Здравствуйте, remix!
Работает это следующим образом. Сначало используем API функцию
EnumWindowsProc - которая перечислит нам все окна. Далее мы найдем
окно и просто получим его handle. После этого можно с окном делать, что душе угодно, при помощи посылки ему сообщения.

С Ув. stan


Отправил эксперт: extremity
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1899

Здраствуйте эксперты !!!

Это по большей части просьба, а не вопрос.
Ктото из вас заикался, что может выслать TechHelp. Мне он очень нужен !!! Просьба не говорить, что его можна достать на каком-то сайте(просто у меня нету Интернета, пишу я через друга). И если у кого-то есть интересная литература по Ассемблеру в електронном виде, пожалуйста вышлите.

Присылайте сюда: Nakr@Dotes.West.Energy.gov.ua. Буду очень признателен!

ЗЫ: Присылайте не стесняйтесь, это действительно ящик моего друга, а он согласен. А то в вопросе №1858 АртЈм Шегеда что-то очень подозрительным стал Ж-)

С уважением, Gush !!!

Ответ

Здравствуйте, Gush!

Выслал.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 218

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1900

У меня такая небольшая проблема что ли. Небольшая но мозги парит. Как можно избавиться от смены дисков в WIN9X при добавлении нового жесткого диска. Жду ответа. А то достало постоянно перегружаться и в SETUPe отключать второй HDD/

Ответ

Здравствуйте, Stas!
Че то я тебя непонял, какой смены? что менять??
ну добовил определил в БИОСе и что тебя достает?


Отправил эксперт: змей
Эксперт отправил ответов (всего): 150

Экспертная группа: Пользовательская работа с Windows

Вопрос №1899

Здраствуйте эксперты !!!

Это по большей части просьба, а не вопрос.
Ктото из вас заикался, что может выслать TechHelp. Мне он очень нужен !!! Просьба не говорить, что его можна достать на каком-то сайте(просто у меня нету Интернета, пишу я через друга). И если у кого-то есть интересная литература по Ассемблеру в електронном виде, пожалуйста вышлите.

Присылайте сюда: Nakr@Dotes.West.Energy.gov.ua. Буду очень признателен!

ЗЫ: Присылайте не стесняйтесь, это действительно ящик моего друга, а он согласен. А то в вопросе №1858 АртЈм Шегеда что-то очень подозрительным стал Ж-)

С уважением, Gush !!!

Ответ

Здравствуйте, Gush!

Не работает твой почтовый адрес.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 219

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1900

У меня такая небольшая проблема что ли. Небольшая но мозги парит. Как можно избавиться от смены дисков в WIN9X при добавлении нового жесткого диска. Жду ответа. А то достало постоянно перегружаться и в SETUPe отключать второй HDD/

Ответ

Здравствуйте, Stas!
Поставь все 4 Auto-и будет все пучком


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 235

Экспертная группа: Пользовательская работа с Windows

Вопрос №1899

Здраствуйте эксперты !!!

Это по большей части просьба, а не вопрос.
Ктото из вас заикался, что может выслать TechHelp. Мне он очень нужен !!! Просьба не говорить, что его можна достать на каком-то сайте(просто у меня нету Интернета, пишу я через друга). И если у кого-то есть интересная литература по Ассемблеру в електронном виде, пожалуйста вышлите.

Присылайте сюда: Nakr@Dotes.West.Energy.gov.ua. Буду очень признателен!

ЗЫ: Присылайте не стесняйтесь, это действительно ящик моего друга, а он согласен. А то в вопросе №1858 АртЈм Шегеда что-то очень подозрительным стал Ж-)

С уважением, Gush !!!

Ответ

Здравствуйте, Gush!

По поводу подозрительности - это я с бодуна... %[
Sensey подтвердит.
Хотя, кто сказал, что ранее сказанное мной - неправда?

Для скачки файлов из i-net'а нужно пльзоваться услугой www4mail (дам отправную точку: http://www.kabissa.org/www4mail/ или http://www4mail.org/). Элементарно простая вещь! Нужно только наличие электронного почтового ящика. Достаточно просто оттолкнуться от начальной страницы сайта - и ты забываешь, с чего начал.
Хорошенькая примочка для всего этого - FileByE-Mail. Но у них там сейчас проблемы (злостные вирусмейкеры постарались), посему - ждите...

А пока просто отправь писмецо на адрес: "www4mail@kabissa.org"
с темой: "XView help system"
и одной-единственной строкой в теле письма: "http://www.shegeda.chat.ru/XVIEW.zip"


Отправил эксперт: Артём Шегеда (www.shegeda.chat.ru - Пристанище неодинокого программиста)
Эксперт отправил ответов (всего): 13

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1900

У меня такая небольшая проблема что ли. Небольшая но мозги парит. Как можно избавиться от смены дисков в WIN9X при добавлении нового жесткого диска. Жду ответа. А то достало постоянно перегружаться и в SETUPe отключать второй HDD/

Ответ

Здравствуйте, Stas!
Гы! Ну если на втором винте раздел разбит как primary (см. fdisk), то никак. Только переделав его в "дополнительный".


Отправил эксперт:
Эксперт отправил ответов (всего): 1

Экспертная группа: Пользовательская работа с Windows

Вопрос №1897

Здравствуйте эксперты!
Свою первую(!) собственную от начала до конца программу, котороая практически ничего особенного не делает, а была написана просто для закрепления пройденного материала.:-))) Очень бы хотелось, чтоб вы высказали свою замечания по поводу программы, как ее можно оптимизировать, все узкие места, если они там могут быть, которые недопустимы и т.д. Желательно чтоб вы как можно сильней ее попинали, мне от этого только польза будет!:-)

Ответ

Здравствуйте, ILYA D.!
Все вроде ничего, но великовата она... call-ов много чето. Куда не плюнь - одни сплошные call-ы! Ну кое где они действительно нужны но у тебя прямо call на call-е, call-ом погоняет! ) Я как то сходу могу втыкнуть, у меня уже в башке отладчик, я как вижу call - сразу делаю джамп (сохраняя старый адрес в стеке мозга :) , а человеку постороннему вообще говоря будет довольно трудно втыкнуть!!!
Ты на вес тока посмотри! Сам же написал что она ничерта не делает, тока жрет и спит :) - а 600 байт тянет!! Вот я например думаю, сходу напишу точно такую же, тока меньше чем в 300 байт...

p.s. сам просил обругать прогу, так что не обижайся, но это правда все!


Отправил эксперт: Broken Sword (ОНПУ, ИКС, АС-991 - )
Эксперт отправил ответов (всего): 258

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1897

Здравствуйте эксперты!
Свою первую(!) собственную от начала до конца программу, котороая практически ничего особенного не делает, а была написана просто для закрепления пройденного материала.:-))) Очень бы хотелось, чтоб вы высказали свою замечания по поводу программы, как ее можно оптимизировать, все узкие места, если они там могут быть, которые недопустимы и т.д. Желательно чтоб вы как можно сильней ее попинали, мне от этого только польза будет!:-)

Ответ

Здравствуйте, ILYA D.!
Полностью не рассматривал, но первое что боросилось в глаза - куча калов (call) - конечно в твоей проге это не критично (но с другой стороны писал бы тогда на БАСИКЕ). Т.е. конечно если тебя в первую очередь интересует размер проги то да, но по скорости выполнения то у тебя вместо 2 команд выполняется 4!


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 272

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Управляющий рассылкой,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


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

В избранное