Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
beresnevvitaliy
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
1

Приложение сразу закрывается: Warning: No Stack

06.12.2012, 22:50. Просмотров 1181. Ответов 2
Метки нет (Все метки)

Доброго времени суток, форумчане - коллеги.

Столкнулся с проблемой, Warning: No Stack - в правильности программы уверен, после создания .ехе файла он открывается и сразу закрывается. В чём проблема? Кто сможет скажите, или помогите скомпилировать .ехе


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
code segment
assume cs:code, ds:code, ss:code
org 100h
start:  jmp init
 
tic db 0
f db 0
int_1c proc far
    push ax
    inc cs:tic
    cmp cs:tic, 91
    jne @@1
    mov cs:tic, 0
    inc cs:f
    cmp cs:f, 3
    jne @@1
    mov cs:f, 0
@@1:    cmp cs:f, 0
    jne not_mask
    in al, 21h
    or al, 2
    out 21h, al
    jmp quit
not_mask:
    in al, 21h
    and al, 11111101b
    out 21h, al
    
quit:   pop ax
    iret
int_1c endp
 
oldint dd ?
int_09 proc far
    push ax
    push di
    push es
    sti
    cmp cs:f, 2
    je begin
    pop es
    pop di
    pop ax
    jmp cs:oldint
begin:  in al, 60h
    cmp al, 57
    jne block
    pop es
    pop di
    pop ax
    jmp cs:oldint
block:  in al, 61h
    mov ah, al
    or al, 80h
    out 61h, al
    mov al, ah
    out 61h, al
    cli
    mov al, 20h
    out 20h, al
    pop es
    pop di
    pop ax
    iret
int_09 endp
 
init:
    push cs 
    pop ds
    mov ax, 251ch
    mov dx, offset int_1c
    int 21h
    mov ax, 3509h
    int 21h
    mov word ptr oldint, bx
    mov word ptr oldint+2, es
    mov dx, offset int_09
    mov ax, 2509h
    int 21h
    mov dx, offset init
    int 27h
code ends
end start
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 22:50
Ответы с готовыми решениями:

TASM, программа сразу закрывается
начинаю изучать ассемблер (Borland TASM) из книжки взял исходник Hellow World откомпилировал, но...

Задача закрывается сразу после старта
Очень прошу помочь разобраться с задачей. Требуется нарисовать прямоугольник и сделать, чтобы он...

Перевод курсора, при запуске exe-файла окно сразу закрывается
Добрый день. Есть код программы которая (по идее) должна, при нажатии в правом нижнем углу окна,...

Программа сразу закрывается
Программа сразу закрывается, что делать? .model tiny .code ORG 100h start: MOV AH,2 MOV DL,41h...

OllyDbg при попытке открыть прогу сразу закрывается
Пытаюсь открыть прогу. Все время при попыкке хотя бы открыть ее в Ольке- трижды вылазит окно с...

2
Ant1971on
267 / 262 / 11
Регистрация: 24.12.2010
Сообщений: 328
07.12.2012, 09:22 2
Цитата Сообщение от beresnevvitaliy Посмотреть сообщение
открывается и сразу закрывается
Вообще-то это резидент, с периодичностью 5 сек блокирующий и разблокирующий клавиатуру, так что увидеть его работу можно, вводя что-нибудь с нее. А ошибка в том, что com-программу линкуешь как exe. Здесь и не может быть стекового сегмента. В com-программах на все выделяется единственный сегмент, и на код, и на стек, и на данные.
0
beresnevvitaliy
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 11:54  [ТС] 3
Создал я ком посредством /t но программа не будет работать или что?

Добавлено через 17 минут
Спасибо за наводку. А как можно сделать так, чтобы в начале программы присутствовал системный таймер ?

нечто похожее на таймер есть в коде:

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
.model small  ; модель памяти   
.stack 100h
.data
per dw 0
txt1    db 0ah,0dh,"Tekuchee vremia $"
txt2    db ":$"
txt3    db 0ah,0dh,"Programma ostanovlena $"
.code   
MAIN PROC FAR       
    
    mov ax,@data    
    mov ds,ax   
 
    mov bp,03Bh
A2:
    mov AH,2CH
    INT   21H
    xor dl,dl
    mov bl,cl
    mov cl,8h
    shr dx,cl
    mov cl,bl
    mov si,dx
    mov ax,bp
    sub ax,si
    ;lea    di,[per]
    ;mov    bx,[di]
    cmp ax,per
    je  A2
    mov per,ax
 
MOV  AH,2   ;функция установки курсора
MOV  BH,0   ;номер страницы
MOV  DX,0   ;координаты 0,0
INT  10H    ;устанавливаем курсор
 
 
 
 
 
    mov ah,9
    mov dx,offset txt1
    int 21h
 
    xor ax,ax
    mov al,ch   
    CALL VIVOD
    mov ah,9
    mov dx,offset txt2
    int 21h
 
 
    xor ax,ax
    mov al,cl   
    CALL VIVOD
    mov ah,9
    mov dx,offset txt2
    int 21h
 
    mov ax,si   
    CALL VIVOD
 
 
MOV  AH,0BH ;номер функции
INT  21H
cmp al,0ffh
je A1
jmp A2
A1:
 
    mov ah,9
    mov dx,offset txt3
    int 21h
    
    MOV  AH,0CH 
    MOV  AL,1   
    INT  21H    
 
mov ax,4c00h    
int 21h
main    endp
VIVOD PROC NEAR
    MOV bx, 0Ah
    XOR DX, DX
    DIV bx
    mov di,dx
    mov dl,al
    mov     ah,02h
    add     dl,30h
    int     21h
    mov dx,di
    mov     ah,02h
    add     dl,30h
    int     21h
RET
VIVOD ENDP 
end main
Добавлено через 30 минут
Нужно чтобы таймер не останавливался при нажатии любой клавиши
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 11:54

Консольное приложение сразу же закрывается
сделал программу в console жму Build Solution потом Start Debugging и открывается консоль и...

Почему приложение не закрывается сразу?
Есть код using System; using System.Windows.Forms; class New { public static void...

Консольное приложение сразу закрывается
Вот простая программка: static void Main(string args) { int x; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru