Собственно есть программа (курсак) которая записывает в файл время входа и время выхода юзера (юзер запускает экзешку и прога проверяет - залогинен ли юзер если да - то предлагает выйти из (лог офф) если нет - то предлагает ввести логин)
Вся прога была написана на досовском ассемблере (книга Питер Абель) со стандартными операторами и без привязок под систему.
Так вот эта прога НЕ ПАШЕТ ПОД ДОС и ВИН9х а только пашет под НТ винды (ХР 2000.... и тд). В институте везде стоит вин 9х =(
Не подскажите в чем дело....?!
PS: И еще - работают ли резидентные проги под вин ХР ?
КОД ПРОГИ НИЖЕ:
title h
.model small
.stack 64
.data
.386
;-----------------------FILE---------------------
file db 'D:\log.txt',00h
descr dw ?
fileT db 'D:\temp.txt',00h
descrT dw ?
;------------------------------------------------
ExitMess db 'LOG OFF ? Y/N : ','$'
HelloMess db 'Enter your name to LOG ON: ','$'
;--------------------------LOGIN-----------------
parlist label byte
maxlen db 15
curlen db ?
names db 16 dup (' ')
;--------------Dlya s4itivaniya s klavi---------------------
parlistT label byte
maxlenT db 2
currlenT db ?
temp db 3 dup (' ')
;-----------------------------------------------------
;--------------------------TIME--------------------
yy dw ? ;pole dlya goda
mm db ? ;pole dlya mesyaca
da db ? ;pole dlya dnya
hh db ? ;pole dlya 4asa
mn db ? ;pole dlya minut
;15 znakomest
;-----------------------------------------------------
ost db 13,10
buffer db 4 dup (' ')
Tempnames db 16 dup (' ')
defis db ' - '
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
SlowMouse
Цитата:
дебаггер (td.exe) и сам тасм
Хе, ИМХО уж лучше SoftIce юзать, писать на виндовом ассемблере и не юзать досовских прерываний.
Цитата:
А чем те , например , драйвер звуковушки не резидент ?
В том-то и дело, что драйвер. Насколько я догадываюсь чтобы стать 100% резидентом - нужно пролезть в нулевое кольцо защиты. Под NT обыкновенной программе это зделать не представляется возможным, только под Win9x(через ошибку в защите как положим Win95.CIH), иль я не про то думаю
SlowMouse Спасибо за дебаггер
И еще - кто нибудь знает - корректно ли проходит умножение BCD (упакованных и неупакованных) чисел при использовании команды MUL ????
Добавлено спустя 5 минут, 33 секунды: SlowMouse Странно - дебаггер при открытии ехе файла пишет - "program has no symbol table" - что-то я не понял что энто такое...
Daemon - Так будет ли пахать резидентная прога в ХР (в консоли или в оболочке FAR) написанная как под DOS ?
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
CCCP
Цитата:
Странно - дебаггер при открытии ехе файла пишет - "program has no symbol table" - что-то я не понял что энто такое...
На это - забей, все будет нормально
Цитата:
Daemon - Так будет ли пахать резидентная прога в ХР (в консоли или в оболочке FAR) написанная как под DOS ?
Будет, только будь осторожен, поскольку ntvdm может по этому поводу глючить: долго я промучился с резидентом на свою курсовую год назад - неккоректно работал, а все потому, что ntvdm конфликтовал с триклятым giveio.sys.
Daemon не подскажешь одну вещь (может знаком) - у меня есть время в часах в формате BCD - надо перевести его в минуты - пробовал
множить на 60 (в10ой и в 16ой) но результат оказывался неверным...Как перевести этот долбаный BCD в 16 число ???
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения