Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
1

TASM, программа сразу закрывается

02.07.2009, 12:05. Просмотров 5278. Ответов 21
Метки нет (Все метки)

начинаю изучать ассемблер (Borland TASM)
из книжки взял исходник Hellow World
откомпилировал, но когда запустил exe-шник он открылся и сразу же закрылся (мнгновенно)
вот код
Assembler
1
2
3
4
5
6
7
8
9
10
.model tiny
.code
org 100h
start:
    lea dx, msg
    mov ah, 9
    int 21h 
    ret
msg     db 'Hello world!$'
end start
я думаю в ДОСе проблема?
подскажети кто знает
заранее спасибо
0
Вложения
Тип файла: txt First.txt (551 байт, 30 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2009, 12:05
Ответы с готовыми решениями:

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

Приложение сразу закрывается: Warning: No Stack
Доброго времени суток, форумчане - коллеги. Столкнулся с проблемой, Warning: No Stack - в...

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

Программа на tasm, стековая адресация
Помогите сделать программу на tasm. Использование передачи параметров через стек и стековой...

Программа вычисления по формуле. Ассемблер, tasm
Можете подсказать, как сделать? Написать программу вычисления по формуле: y= (a+b)/(c-d)^2. Выдать...

21
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:07 2
тут тем подобных - тьма! Юзай поиск. Закрывается, потому что задержки никакой не стоит. Запусти свою прогу из cmd увидишь свой hello world.
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 12:25  [ТС] 3
Vourhey, что значит из cmd?
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:26 4
командная строка
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 12:28  [ТС] 5
Vourhey, из нее и запускал
а как поставить задержку?
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:35 6
ты запускал вручную вводя имя проги в командной строке? По-моему, ты гонишь.

Добавлено через 1 минуту 22 секунды
Vourhey, из нее и запускал
если ты из нее запускал то, что тогда у тебя закрывается?
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 12:38  [ТС] 7
да

Добавлено через 52 секунды
Vourhey, не реагирует

Добавлено через 2 минуты 9 секунд
он всякую чепуху пишет
сначала просто всякие символы а потом
ние для бзового порта вв
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
02.07.2009, 12:39 8
у мну тоже была такая проблема(((
ты как свою прогу компилируеш???
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:40 9
чтобы сделать задержку можно, например, вставить вот такой код перед завершением:
Assembler
1
2
mov ah,01h      
int 21h
хотя, как я понимаю трабла у тебя в другом
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 12:42  [ТС] 10
Nazz, TASM, через командную строку

Добавлено через 31 секунду
Vourhey, а надо убрать ret?
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:42 11
а твое msg разве не нужно в секцию .data засунуть?
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
02.07.2009, 12:43 12
что то код твоей первой програмы очень заплутан

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
    model small
    .data
    tm  db 255,255,255 dup("$")
    testm   db "Entered string: $"
    
    .code
    main    proc
        mov ax,@data
        mov ds,ax
        mov dx,offset tm
        mov ah,0ah
        int 21h
        mov dx,offset testm
        mov ah,09h
        int 21h
        mov dx,offset tm
        add dx,2h
        mov ah,09h
        int 21h
        mov ax,4c00h
        int 21h
    
    main endp
    end main
    code ends
Запусти етот простой код))
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 12:56  [ТС] 13
а еще после выполнения программы выдает ошибку мол
процессор обнаружил невыполнимую инструкцию

Добавлено через 4 минуты 38 секунд
Nazz, чё-то я не понял что она делает

я запустил, она просто выводит на экран что я написал
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 12:57 14
лучше бы в вики пример для тасм посмотрел:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
.MODEL TINY
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 100h
START:
        mov ah,9
        mov dx,OFFSET Msg
        int 21h
        int 20h
        Msg DB 'Hello World',13,10,'$'
CODE ENDS
END START
тут явно указывается. что данные расположены в сегменте кода.

Добавлено через 18 секунд
D@rkD@iver, а тебе че надо, чтобы она выводила?
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 13:00  [ТС] 15
просто hello world!

Добавлено через 43 секунды
Vourhey, а в этом коде разве компелируется не COM файл?
мне нужен exe
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
02.07.2009, 13:02 16
D@rkD@iver, ты же начинае изучать ТАСМ, во тебе явный пример, как выполняется вывод на екран и ввод с клавиатуры.....

P.S.так ты же говорил, что у тя не запускается(((( вот и я те дал пример, который работает)))
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 13:02 17
D@rkD@iver, какая те фиг разница. Ты только учишься.
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 13:08  [ТС] 18
Nazz, дело в том что когда запускаю exe-шник из виндуса он строку считывает, при нажатии Enter прога закрывается
а при запуске из командной строки прога в конце пишет Entered String: ...
почему так?
0
Vourhey
Почетный модератор
6495 / 2270 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
02.07.2009, 13:11 19
Блин, прога закрывается потому что задержки не стоит! Че до тебя как туго доходит. Прога те также пишет Entered String: ... в любом случае. Но не "из виндуса" это называется,а из проводника. Из проводника тебе пишется та же строчка и окно закрывается. С какого фига оно не должно закрываться? там же ничгео нет? Чего ему ждать? в коде вывод строки. Все. Строку вывел и закончил работу. Все там выводится. Я тебе, блин, уже второй раз про задержку пишу. Я тебе даже код привел, который ее поставит...
0
D@rkD@iver
112 / 112 / 13
Регистрация: 01.10.2008
Сообщений: 876
02.07.2009, 13:31  [ТС] 20
Nazz,

как тебе понравится такой код
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
model small
.data 
    mesg     db "Hello World! $"
.code
main proc
    mov ax, @data
    mov ds, ax
    mov dx, offset mesg
    mov ah, 9h
    int 21
    
    mov ah, 1h
    int 21h
 
        mov ax,4c00h
        int 21h
    
 
main endp
end main
code end
есть ли в нм ошибки?
0
02.07.2009, 13:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2009, 13:31

Программа, подсчитывающая количество единиц. Ассемблер, tasm
Напишите программу, подсчитывающую количество единиц в заданном байте или слове: A DB 01101011B

Программа производящая замену одного символа на другой. Ассемблер, tasm
Что нужно изменить в данной программе, чтобы он заменял искомый символ на другой, введенный с...

Программа, выдающая все совпадающие элементы двух массивов. Ассемблер, tasm
Как изменить программу, чтобы можно было компилировать не через com, а через exe в tasm? .model...


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

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

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