Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 05.09.2012
Сообщений: 27

Резидент на эмуляторе Windows XP: на других ПК не работает обратный отсчет

23.10.2012, 16:48. Показов 852. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Столкнулся тут с проблемой: Написал резидент на эмуляторе Windows XP , по заданию, он должен через заданное в командной строке количество секунд сначала показать обратный отсчет в правом верхнем углу, а затем вывести сообщение на экран. У меня в Win XP все работает хорошо, но на др компах почему то не ведется обратный отсчет.

P.S. Запускать программу надо через командную строку, сначала вводить кол-во сек, например 4, потом нажимаетм enter, потом f5 и должен вестись обр отсчет.

P.P.S. Прикрепил сам файл KRR.COM , если у кого будет работать корректно - отпишитесь пжл!

P.P.P.S.
Код

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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
;;          ‡ў®*®Є Ї® **¦*вЁо ESC
CODEPR  SEGMENT PARA
                        ASSUME CS:CODEPR  
                         PSP:        ORG  100H                     ; ЋЎ«*бвм PSP
 BEGIN:    JMP   INIT              ; ЏҐаҐе®¤ Є з*бвЁ Ё*ЁжЁ*«Ё§*жЁЁ
 SAVEINT9 DD  ?                       ; ‘®еа**Ґ*ЁҐ бв*а®Ј® ®Ўа*Ў®взЁЄ*
 SAVEINT4A DD ?
 SAVEINT2D  DD  ?                 ; ‘®еа**Ґ*ЁҐ бв*а®Ј® ®Ўа*Ў®взЁЄ*
FLAG DB    0
kolonka db ?
stroka db ?
secsToAdd db 5d
time db 4d
temp db ?
temp2 db ?
tmp DB '0'
hex   db         '0123456789ABCDEF';    
 NEWINT9:
          CLI
          PUSH   AX             ; ‘®еа**Ґ*ЁҐ ЁбЇ®«м§гҐ¬ле ॣЁбва®ў
 ; ‚л§®ў бв*а®Ј® ®Ўа*Ў®взЁЄ*
         PUSH  ES
         PUSH  DS
         PUSH CS
         POP   DS
           ;
         PUSH AX
         PUSH BX
         PUSH CX
          PUSHF
        CALL  CS:SAVEINT9      ; ‚л§®ў бв*а®Ј® ®Ўа*Ў®взЁЄ*       б ў®§ўа*⮬
          MOV AH, 1
          INT   16H
          JZ  PROD
;         Џа®ўҐаЄ* а*биЁаҐ**®Ј® Є®¤*
          CMP AL , 0
          JE   EXT
           CMP AH, 1DH
; „«п зЁбв®Ј® CTRL
           JNE PROD
           MOV AH,00H
          INT 16H
PROD:
          POP CX
          POP BX
          POP AX
          JMP    END9
;        Џа®ўҐаЄ* **¦*вЁп F5
EXT:    CMP AH ,  3FH  ; Љ®¤ F5
           JE PRINT1     
           ; ЏҐз*вм бва®ЄЁ     Ї® F5
; Џа®ўҐаЄ* ўлЈаг§ЄЁ
           CMP AH , 62H       ; Ќ*¦*в* Ctrl + F5
           JNE  PROD
UNLD:
 
; ‚лЈаг§Є*
           PUSH ES
           MOV  DX,OFFSET REZMSG1     ; ‚лў®¤ б®®ЎйҐ*ЁҐ ® §*ўҐаиҐ*ЁЁ
         CALL  PRINT                ; १Ё¤Ґ*в*
         POP ES
;
          PUSH DX
          PUSH ES
 ;
; 9Ќ
        mov AX,2509H    ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ* ЇаҐалў**Ёп 09H
        lds DX,CS:SAVEINT9
        int 21H
; 2DH
        mov AX,252DH    ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ* ЇаҐалў**Ёп 2DH
        lds DX,CS:SAVEINT2D
        int 21H
 ; Ї®«гзЁ¬ Ё§ PSP *¤pҐб б®Ўб⢥**®Ј® ®Єp㦥*Ёп Ё ўлЈpг§Ё¬ ҐЈ®
        MOV     ES,CS:2CH
        MOV     AH,49H
        INT     21H
; ўлЈpг§Ё¬ ⥯Ґpм б*¬г Їp®Јp*¬¬г
        PUSH    CS
        POP              ES
        MOV     AH,49H
        INT     21H
; Љ®¤ ў AL ¤«п гбЇҐи*®© ўлЈаг§ЄЁ
          MOV AH,00H
         INT 16H
;
          POP  ES
        POP DX
          POP CX
          POP BX
          POP AX
;
          POP DS
          POP ES
          POP AX
          STI
          IRET
 
 ;    ‚лў®¤ 楯®зЄЁ F5
           PRINT1:
           
        ;®зЁбвЄ*
        MOV AH,0
        MOV AL,2
        INT 10H   
           
    PUSH ES
    MOV AH,07H
    INT 1AH
    
    MOV AH,02H
    INT 1AH
    
    ADD DH,1
    
    MOV AH,06H
    INT 1AH
    
    mov bl,secsToAdd
    mov temp2,bl
               ;;;;;;;;;;;;;;;;;;;;;;
         POP ES
; ЋзЁбвЄ* ЎгдҐа* Є«*ўЁ*вгал
          PUSH ES
        MOV AX , 40H
        MOV ES , AX
         MOV BX , ES:1AH
          MOV  ES:1CH , BX
;
           POP ES
          JMP PROD
  ;
END9:
            POP DS
            POP ES
            POP AX
            STI
          IRET
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
 NEWINT4A PROC FAR
 PUSH AX ; ‘®еа**Ґ*ЁҐ ЁбЇ®«м§гҐ¬ле ॣЁбва®ў
PUSH CX
PUSH BX
PUSH DX
 
;®зЁбвЄ*
MOV AH,0
MOV AL,2
INT 10H
 
 
mov ah,2     ;‡*Їа®б ** гбв**®ўЄг Єгаб®а*
    mov bh,0     ;ќЄа** 0
        mov dh,2     ;*®¬Ґа бва®ЄЁ
        mov dl,69    ;*®¬Ґа бв®«Ўж*
        int 10h      ;ЏҐаҐ¤*з* гЇа*ў«Ґ*Ёп ў BIOS
        
 
cmp secstoadd,0
je lf
 
            
            
    MOV AH,07H
    INT 1AH
            
    MOV AH,02H
    INT 1AH
    
    ADD DH,1
    
    MOV AH,06H
    INT 1AH
    
    mov dl,secstoadd
    call trans1
    
    dec secstoadd
    jmp lnf
 
lf: 
    MOV AH,07H
    INT 1AH 
    
    mov ah,2     ;‡*Їа®б ** гбв**®ўЄг Єгаб®а*
    mov bh,0     ;ќЄа** 0
        mov dh,0     ;*®¬Ґа бва®ЄЁ
        mov dl,0   ;*®¬Ґа бв®«Ўж*
        int 10h      ;ЏҐаҐ¤*з* гЇа*ў«Ґ*Ёп ў BIOS
    
    mov bl,temp2
    mov secsToAdd,bl
    
    
    mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    
            
    mov al,'‡'
    int 10h
    call cursor_sdvig
    mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'‚'
    int 10h
    call cursor_sdvig
        mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'Ћ'
    int 10h
    call cursor_sdvig
        mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'Ќ'
    int 10h
 
    call cursor_sdvig
        mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'Ћ'
int 10h
    call cursor_sdvig
        mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'Љ'
    int 10h
call cursor_sdvig
    mov AH,09h
    mov cx,1
    mov bh,0h
    mov bl,7h
    mov al,'!'
    int 10h
    call cursor_sdvig
lnf:                        
;MOV  DX,OFFSET REZMSG2     ; ‚лў®¤ б®®ЎйҐ*Ёп, Ї®зҐ¬г *Ґ Ё¤Ґв?
;        CALL  PRINT 
; ‚®ббв**®ў«Ґ*ЁҐ ॣЁбва®ў Ё ўл§®ў бв*а®Ј® ®Ўа*Ў®взЁЄ* ЎҐ§ ў®§ўа*в*
POP CX
POP BX
POP AX
POP DX
JMP CS:SAVEINT4A ; ‚л§®ў бв*а®Ј® ®Ўа*Ў®взЁЄ*
IRET
NEWINT4A ENDP
 
PUTCH PROC 
MOV AH, 09H
mov cx,1
mov bh,0h
mov bl,7h
INT 10H
RET
PUTCH ENDP
 
 PRINT   PROC
            PUSH DI
            PUSH  AX
            PUSH CX
            PUSH  DX
            PUSH  BX
         MOV     DI,DX
;   Џ®§ЁжЁп Єгаб®а* ў **з*«Ґ
         MOV     AH,03H
         MOV     BH,00H
         INT     10H
;
          MOV  CX , 70
 
; жЁЄ« ўлў®¤* Ё Їа®ўҐаЄЁ бЁ¬ў®«®ў бва®ЄЁ
LOOP1:   MOV     AL,DS:[DI]
         CMP     AL,'$'      ; Љ®*Ґж бва®ЄЁ ¤«п ўлў®¤*
         JE      FIN
;        ЏҐз*вм бЁ¬ў®«* ** нЄа**
           INC  DI
         MOV     BH,0
         MOV     AH,0AH
         PUSH CX
         MOV     CX,0001H
         INT     10H
         POP CX
; Ќ®ў*п Ї®§ЁжЁп Єгаб®а*
NEXT4:   MOV     AH,02H
           INC   DL
         MOV     BH,00H
         INT     10H
         JMP     LOOP1
;  Љ®*Ґж жЁЄ«* ўлў®¤*
FIN:
            POP BX
            POP DX
            POP CX
            POP AX
            POP  DI     ; ‚®ббв**®ў«Ґ*ЁҐ б⥪*
         RET
PRINT   ENDP
 
 cursor_position proc
push ax 
push bx 
push dx
mov ah,03h 
mov bh,00h 
int 10h
 
mov stroka,dh 
mov kolonka,dl
 
pop dx 
pop bx 
pop ax 
ret
 
cursor_position endp
;;;
cursor_sdvig proc
push ax
call cursor_position 
inc kolonka 
call print_position
 
pop ax 
ret
 
cursor_sdvig endp
;;
print_position proc
push ax 
push dx
mov ah,02h 
mov dh,stroka 
mov dl,kolonka 
int 10h
 
pop dx 
pop ax 
ret 
print_position endp
;;;
 
NEWINT2D  PROC FAR
                     CLI
                     PUSH DS
;
                   PUSH CS
                     POP   DS
                CMP AH, 0EEh   ; б®Ўб⢥**л© Є®¤
                JE  MY_OBR
                JMP OLD_OBR
; Ќ®ўл© ®Ўа*Ў®взЁЄ
MY_OBR:    CMP AL , 1  ; Џа®ўҐаЄ* **«ЁзЁп
                   JE  EXIT_2F
                       CMP  AL, 2   ; ‚лЈаг§Є*
                       JE UNLOAD
                  ;;;;;;;;;
 EXIT_2F:  MOV AL, 0FFH ; …бвм ў Ї*¬пвЁ
                      STI
                      POP DS
                      IRET
 ;
 UNLOAD:
 ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ®ў
           PUSH CS
           POP   DS
           MOV  DX,OFFSET REZMSG1     ; ‚лў®¤ б®®ЎйҐ*ЁҐ ® §*ўҐаиҐ*ЁЁ
;        CALL  PRINT                ; १Ё¤Ґ*в*
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         PUSH DX
         PUSH ES
 
; 9Ќ
        mov AX,2509H    ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ* ЇаҐалў**Ёп 09H
        lds DX,CS:SAVEINT9
        int 21H
; 2DH
        mov AX,252DH    ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ* ЇаҐалў**Ёп 2DH
        lds DX,CS:SAVEINT2D
        int 21H
        
; 4AH
        mov AX,254AH    ; ‚®ббв**®ў«Ґ*ЁҐ ®Ўа*Ў®взЁЄ* ЇаҐалў**Ёп 4ЂH
        lds DX,CS:SAVEINT4A
        int 21H
 ; Ї®«гзЁ¬ Ё§ PSP *¤pҐб б®Ўб⢥**®Ј® ®Єp㦥*Ёп Ё ўлЈpг§Ё¬ ҐЈ®
        MOV     ES,CS:2CH
        MOV     AH,49H
        INT     21H
; ўлЈpг§Ё¬ ⥯Ґpм б*¬г Їp®Јp*¬¬г
        PUSH    CS
        POP              ES
        MOV     AH,49H
        INT     21H
; Љ®¤ ў AL ¤«п гбЇҐи*®© ўлЈаг§ЄЁ
        MOV AL, 0FFH
        POP DX
        STI
        POP ES
        POP DS
          IRET
 
OLD_OBR:  MOV AL, 0   ; **и १Ё¤Ґ*в *Ґ гбв**®ў«Ґ*
            STI
            POP DS
        JMP     CS:SAVEINT2D      ; ‚л§®ў бв*а®Ј® ®Ўа*Ў®взЁЄ*   2FH
NEWINT2D  ENDP
 
REZMSG1 db 'TSR ўлЈа㦥** (Ctrl+F5 - TSR part)!','$'
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; —*бвм Ё*ЁжЁ*«Ё§*жЁЁ
 
INIT:    CLI                ; ‡*ЇаҐв ЇаҐалў**Ё©
; “бв**®ўЄ* DS
         PUSH CS
         POP DS
 ; Їа®ўҐаЄ* Ї*а*¬Ґва®ў
         MOV AL ,   CS:80H
         CMP AL, 0
         JNE INIT_UND               ; …бвм Ї*а*¬Ґвал
; Џа®ўҐаЄ* ў Ї*¬пвЁ
INIT1:         PUSH CS
                     POP DS
                MOV AH, 0EEh
                MOV AL, 1   ; Џа®ўҐаЄ* **«ЁзЁп
                INT 2Dh
                CMP  AL, 0FFh
                JNE INIT2   ; ЇҐаҐе®¤ Ґб«Ё १Ё¤Ґ*в *Ґ(!) ў Ї*¬пвЁ (** §*Јаг§Єг)
;  ‘®®ЎйҐ*ЁҐ  ® ⮬, з⮠㦥 §*Ја㦥*
         MOV AH , 09H
         MOV DX, OFFSET MSG_INMEM
         INT    21H
         ; ‚л室 Ё§ Їа®Ја*¬¬л   ЎҐ§ гбв**®ўЄЁ १Ё¤Ґ*в*
EXITTSR:
        MOV AL, 0
        MOV AH, 4CH
        STI
        INT 21H
 ; ‚л§аг§Є*    Ё«Ё бЇа*ўЄ*
 INIT_UND:
 ; …бвм Ї*а*¬Ґвал
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      а*§Ў®аЄ* Ї*а*¬Ґва®ў
       MOV SI ,  OFFSET ( PSP + 81H)
       LODSB            ; ЇҐаўл© Їа®ЎҐ«
       LODSB
       CMP    AL , '/'
       JNE     ERR_PAR
       LODSB              ; бЁ¬ў®« Ї*а*¬Ґва*
       CMP   AL , '?'
       JE    INIT_HELP
       CMP   AL , 'U'
       JE    INIT_UND1
       CMP   AL , 'u'
       JE    INIT_UND1
       JMP  ERR_PAR
 ; ‚лЈаг§Є*       १Ё¤Ґ*в*
 INIT_UND1:
        MOV AH , 0EEH
        MOV AL,2
        INT 2Dh
        CMP AL , 0FFH
        JE  INIT3
 ;      ‘®®ЎйҐ*ЁҐ ® ⮬ зв® *Ґв ўлЈаг§ЄЁ
        MOV AH , 09H
         MOV DX, OFFSET MSG_NOUNLD
         INT    21H
         JMP    EXITTSR
  ; ‘®®ЎйҐ*ЁҐ ® ўлЈаг§ЄҐ
 INIT3:
        MOV AH , 09H
         MOV DX, OFFSET MSG_UNLD
         INT    21H
         JMP    EXITTSR
; ‘Їа*ўЄ*
INIT_HELP:
         MOV AH , 09H
         MOV DX, OFFSET MSG_Help
         INT    21H
         JMP    EXITTSR
ERR_PAR:
         MOV AH , 09H
         MOV DX, OFFSET MSG_Param
         INT    21H
         JMP    EXITTSR
; Џ®«гзҐ*ЁҐ *¤аҐб* бв*а®Ј® ®Ўа*Ў®взЁЄ*        9
 
; €*ЁжЁ*«Ё§*жЁп
INIT2:           
        ;;;;;
                        CLI
                         MOV    AH, 35H   ;
                         MOV    AL, 09H   ;
                         INT 21H
                         MOV    WORD  PTR  SAVEINT9 , BX   ;
                         MOV     WORD  PTR  SAVEINT9+2 , ES   
                         MOV    AH,25H   ;
                         MOV    AL, 09H   ;    
                         MOV    DX, OFFSET   NEWINT9
                         INT       21H
                         
                         
                         ; Џ®«гзҐ*ЁҐ *¤аҐб* бв*а®Ј® ®Ўа*Ў®взЁЄ*
MOV AH, 35H
MOV AL, 4AH ; Ќ®¬Ґа ЇаҐалў**Ёп
INT 21H
; ‘®еа**Ґ*ЁҐ *¤аҐб* бв*а®Ј® ®Ўа*Ў®взЁЄ*
MOV WORD PTR SAVEINT4A, BX
MOV WORD PTR SAVEINT4A + 2 , ES
; “бв**®ўЄ* *®ў®Ј® ®Ўа*Ў®взЁЄ* ў ўҐЄв®а ЇаҐалў**Ёп
MOV AH, 25H
MOV AL, 4AH ; Ќ®¬Ґа ЇаҐалў**Ёп
MOV DX, OFFSET NEWINT4A
INT 21H
            
; Џ®«гзҐ*ЁҐ *¤аҐб* бв*а®Ј® ®Ўа*Ў®взЁЄ*        2D
         MOV    AH, 35H
         MOV    AL, 2DH    ; Ќ®¬Ґа ЇаҐалў**Ёп
         INT 21H
;  ‘®еа**Ґ*ЁҐ *¤аҐб* бв*а®Ј® ®Ўа*Ў®взЁЄ*
         MOV     WORD  PTR  SAVEINT2D , BX
         MOV     WORD  PTR  SAVEINT2D +2 , ES
;  “бв**®ўЄ* *®ў®Ј® ®Ўа*Ў®взЁЄ* ў ўҐЄв®а ЇаҐалў**Ёп            2D
         MOV     AH,25H
         MOV     AL, 2DH   ; Ќ®¬Ґа ЇаҐалў**Ёп
         MOV     DX, OFFSET   NEWINT2D
         INT     21H
         
        ;®зЁбвЄ*
        MOV AH,0
        MOV AL,2
        INT 10H
        
         call inputsecs 
        call cursor_sdvig
; ‚лў®¤ б®®ЎйҐ*Ёп ® §*Јаг§ЄҐ १Ё¤Ґ*в*
         MOV AH , 09H
         MOV DX, OFFSET MSG
         INT    21H
            
 
                
                         ;;;;;;;
                         
                         MOV     AX, 3100H
                         MOV     DX, (init - begin +10FH)/16    
                         STI
                         INT       21H
                         
     inputSecondsMsg DB 'Џ®¦*«г©бв*, ўўҐ¤ЁвҐ зЁб«® ᥪг*¤, §*¤*о饥 ®Ўа*в*л© ®вбзҐв в*©¬Ґа*', 10, 13, '$'
 
InputSecs PROC
 
push AX
push DX
 
mov AH, 09h
mov DX, offset inputSecondsMsg
int 21h
 
pop DX
pop AX
 
mov AH, 02h
mov DL, '>'
int 21h
mov DI, 0
 
lInpt:
mov AH, 08h
int 21h
cmp AL, 13
je lDone
cmp Al, '9'
ja lInpt
cmp Al, '0'
jb lInpt
mov AH, 02h
mov DL, AL
int 21h
sub AL, '0'
xor AH, AH
mov CX, AX
mov AX, DI
mov BX, 10
mul BX
add AX, CX
mov DI, AX
jmp lInpt
mov AX, DI
lDone:
mov AX, DI
mov secsToAdd,AL
 
ret
InputSecs ENDP
 
;ЇҐаҐў®¤ ў ¤ҐбпвЁз*
TRANS1 proc
mov al,dl
mov tmp,al
;push bx
lea bx,hex
shr al,4
shl al,4
sub tmp,al
shr al,4
 
xlat hex
;mov dl,al
;pop bx
call PUTCH
lea bx,hex
int 10h
mov al,tmp
xlat hex
;mov dl,al
call PUTCH
int 10h
ret
TRANS1 endp
        
;  „***лҐ з*бвЁ Ё*ЁжЁ*«Ё§*жЁЁ
MSG      DB '‘в*ав TSR Їа®Ја*¬¬л!', 10,13,'$'
MSG_INMEM DB  'TSR 㦥 ў Ї*¬пвЁ!', 10,13,'$'
MSG_UNLD  DB  'TSR was unloaded (Init part)!', 10,13,'$'
MSG_NOUNLD     DB  'TSR *Ґ ў Ї*¬пвЁ!', 10,13,'$'
MSG_Help     DB  'Ђўа*¬гЄ „.Њ.,1 ў*аЁ**в, €“5-51, 2012', 10,13,'Parameters: /? - help , /U or /u - unload TSR ', 10,13,'€*¤®*¬*¦рЇп!',10,13,'$'         ; Џ®б«Ґ¤*Ё© ⥪бв "€*д®а¬*жЁп" - ўўҐ¤Ґ* ў Є®¤Ґ ASCII!!!
MSG_Param     DB  'Error - command line parameters!', 10,13,'$'
        
CODEPR  ENDS
            END     BEGIN
Вложения
Тип файла: rar KRR.rar (1.0 Кб, 10 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2012, 16:48
Ответы с готовыми решениями:

Обратный отсчет
Есть на сайте счетчик который зациклен на работу на неделю. Проблема в том что с пн-суб работает нормально и правильный идет отсчет до...

Обратный отсчет.
Производим серию последовательных пусков космических аппаратов (в действительности так обычно не делают). Для каждого космического...

Обратный отсчёт
Смотрите, у меня есть кнопка Enter, по нажатию на которою должен происходить обратный отсчёт (ну, или секундомер). Если обратный отсчёт...

2
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
23.10.2012, 21:50
У меня на чистом ДОСе отсчет не ведется, но выводится сообщение "ЗВОНОК".
Возможно причина в эмуляторе или в БИОСе материнской платы.
0
0 / 0 / 2
Регистрация: 05.09.2012
Сообщений: 27
23.10.2012, 22:51  [ТС]
Так почему же у меня все правильно работает? И кстате, была инфа что на досе не работает прерывание системнго таймера 4Ah, так что тестить лучше на XP , и блин, на моем то эмуляторе работает, так что код по сути правильный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2012, 22:51
Помогаю со студенческими работами здесь

Обратный отсчет
Хочу сделать таймер обратного отсчёта. Как на пыхе получить время до назначенной даты?

Обратный отсчет
Сначала число уменьшается на единицу, а потом на большую величину. Подскажите, в чем может быть проблема. <!DOCTYPE html> ...

Обратный отсчет
Reversed не работает с int. Подскажите как правильно сделать. import time time_count = int(input('Время до запуска: ')) ...

Обратный отсчет
Подскажите пожалуйста, как вывести в форму таймер времени, который будет отсчитывать обратное время. Ну например: До конца лицензии...

Обратный отсчёт
Можете объяснить как работает %d в данной программе roc = int(input()) t = 1 sec= 1 while t <= roc: for i in...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru