0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 4
1

Резидентная программа - напоминание

08.06.2011, 17:51. Показов 1278. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Мне надо написать резидентную программу, которая будет выводить сообщение в определенный день недели и время. Ввод производится в ком строке (формат we 12:12:00).

Резидент у меня написан, обработчик командной строки тоже, но когда я вставляю обработку ком строки в резидент, все перестает работать!Делаю через far (tasm /t kurs.asm ; tlink /t kurs.obj)

Скажите, пожалуйста, в чем ошибка...??

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
begin:   
 
; proverka ustanovki
install_possibility:
        mov AX,0B100h ; v AH nomer multi-plex processa (B1), v AL status ustanovki
        int 2Fh ; multi-plex prerivanie
        cmp AL,0FFh
        je inst ; esli ustanovlena
 
; esli kom stroka pusta, to oshibka - vigruzhat nechgo
        cmp byte ptr CS:[80h], 0
                je error
 
;esli ne ustanovlena   
 
 
 
        mov AX,352Fh ; chitaem adres multi-plex prerivaniyaÿ
        int 21h
        mov word ptr old_2Fh,BX ; v ES:BX  hranitsya vektor
        mov word ptr old_2Fh+2,ES
 
        mov AX,252Fh ; 
        mov DX,offset new_2Fh ;   funk zapolneniya vektora prerivanii 2Fh
        int 21h
;---------------------------------------------------
        mov AX,3508h ;  chitaem adres vektora 08h
        int 21h
        mov word ptr old_08h,BX ; v ES:BX  hranitsya vektor prerivanii
        mov word ptr old_08h+2,ES
 
        mov AX,2508h ; zapolnenie vektora prerivanii 08h
        mov DX,offset new_08h 
        int 21h    
 
 
xor CH,CH       
cld
mov si,81h  
 
pr1:
    lodsb 
    cmp al,' '
    jne day
    loop pr1  
 
 
day:  
    cmp al,'m'  
    jne no1 
    lodsb
    cmp al,'o'
    jne mes
    mov p_d,1h    
    jmp pr2
no1:    
    cmp al,'w'
    jne no2 
    lodsb
    cmp al,'e'
    jne mes
    mov p_d,3   
    jmp pr2
no2:     
    cmp al,'f'
    jne no3 
    lodsb
    cmp al,'r'
    jne mes
    mov p_d,5 
    jmp pr2
no3:
    cmp al,'s'
    jne no4 
    lodsb
    cmp al,'u'
    jne m1
    mov p_d,0   
    jmp pr2
m1:
    cmp al,'a'
    jne mes
    mov p_d,6 
    jmp pr2
no4:
    cmp al,'t'
    jne mes 
    lodsb
    cmp al,'u'
    jne m2
    mov p_d,2 
    jmp pr2
m2:
    cmp al,'h'
    jne mes
    mov p_d,4  
    jmp pr2
mes:    
    MOV AH,09h
    lea DX,str1
    int 21h 
    int 20h    
 
pr2:
    lodsb 
    cmp al,' '
    jne ho
    loop pr2  
 
ho:  
    xor dl,dl
   re:
   mov bl,al
    sub bl,'0'
    cmp bl,10
    jnb gp_c 
    mov al,10
    imul dl  
    mov dl,al
    add dl,bl
    lodsb
    jmp re
 
gp_c:
    mov p_c,dl
   ; MOV AH,02h
    ;mov Dl,p_c 
    ;int 21h   
 
min:
    lodsb  
    xor dl,dl
   re1:
   mov bl,al
    sub bl,'0'
    cmp bl,10
    jnb gp_m 
    mov al,10
    imul dl  
    mov dl,al
    add dl,bl
    lodsb
    jmp re1
 
gp_m:
    mov p_m,dl
    ;MOV AH,02h
    ;mov Dx,p_m 
    ;int 21h     
 
sek:
    lodsb  
    xor dl,dl
   re2:
   mov bl,al
    sub bl,'0'
    cmp bl,10
    jnb gp_s 
    mov al,10
    imul dl  
    mov dl,al
    add dl,bl
    lodsb
    jmp re2
 
gp_s:
    mov p_s,dl
    ;MOV AH,02h
    ;mov Dl,p_s 
    ;int 21h         
 
        mov AH,09h
        mov DX,offset msg_inst
        int 21h    
 
        mov DX,offset begin ;   ostavlyaem rezidentom 
        int 27h
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2011, 17:51
Ответы с готовыми решениями:

При нажатии клавиши Prt Sc программа должна записать содержимое экрана в файл (Резидентная программа)
Ребята, в универе задали написать код. Пользуюсь TASM, в ассмблере совсем не разбираюсь. Нужно...

Резидентная COM программа
ругается на LEA DX, OFFSET FINISH что подправить или на что заменить?(TASM) TITLE CODE SEGMENT...

Резидентная программа
Уже несколько дней бьюсь, чтобы ее сделать резидентной. Здесь только код программы, который должен...

Резидентная программа EXE
Здравствуйте! Прошу помощи, на просторах интернета нахожу только резидентные программы model tiny...

1
16 / 16 / 1
Регистрация: 11.06.2011
Сообщений: 35
11.06.2011, 22:38 2
Цитата Сообщение от elenka-111 Посмотреть сообщение
mov DX,offset begin ; ostavlyaem rezidentom
int 27h
при использовании прерывания 27h в памяти остается резидентная часть ДО адреса в паре DS: DX, судя по вашему коду, резидентным не остается ничего, да и самой резидентной части не вижу, она должна перехватывать прерывание (таймера там) и проверять текущую дату/время, и выводить в случае равенства напоминание.

Почитайте у Калашникова про резидентные программы, хорошо написано
0
11.06.2011, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2011, 22:38
Помогаю со студенческими работами здесь

Резидентная программа вирус
Добрый день, попалась тема курсовой : "Резидентная программа вирус, заражающая .exe файлы". У кого...

Нужна рабочая резидентная программа
Кто может скиньте код резидентной программы по ассемблеру) Желательно с комментами, но если без них...

Резидентная программа вывода времени
Хотелось бы рассмотреть резидентные программы на деле. Искал резидентную программу (запускаемую под...

Резидентная программа: перехват int 9h
Добрый вечер, задание было написать .com программу-резидент, которая перехватывает прерывание 9 и...

Резидентная программа.Возврат на консоль.
Доброго времени суток... Может кто подскажет или у кого-нибудь есть подходяший пример ... При...

Резидентная программа, запускающая счетчик времени
Помогите пожалуйста, нужно сделать TSR-программу, которая должна по горячей клавише запускать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru