Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2012, 13:06   #1
Rok_k
 
Регистрация: 29.05.2010
Сообщений: 4
Вопрос TASM.. Как "закончить" программу?

Доброго времени суток!. Прошу помощи, если такова возможно) Значит, при защите лабораторной работы меня постиг каверзный вопрос от преподавателя, собственно "Чего не хватает у вас в коде, что бы программа завершилась для процессора?". Почитал основные положения, не нашел ничего такого, чего бы у меня не было. Для простоты понимания - использую компилятор TASM, программа представляет собой цикл с условными переходами..для выполнения заданного алгоритма (не суть), листинг программы ниже:

Turbo Assembler Version 4.1 26/11/12 12:39:45 Page 1
a.asm




1 assume CS:code
2 0000 code segment
3 0000 begin:
4
5 0000 B8 0000 mov AX,0000h
6 0003 BB 0005 mov BX,0101b
7 0006 B9 0011 mov CX,0011h
8 0009 BA 0010 mov DX,0010h
9
10 000C label1:
11 000C 3D 0000 cmp AX,0000h
12 000F 7F 0E jg label0
13 0011 48 dec AX
14 0012 3B D3 cmp DX,BX
15 0014 7F F6 jg label1
16 0016 03 C9 add CX,CX
17 0018 81 C9 010A or CX,10Ah
18 001C 43 inc BX
19 001D 7F ED jg label1
20
21 001F label0:
22 001F CD 21 int 21h
23 0021 code ends
24
25 0000 stk segment stack
26 0000 80*(0000) dw 128 dup (0)
27 0100 stk ends
28
29 end begin
Turbo Assembler Version 4.1 26/11/12 12:39:45 Page 2
Symbol Table




Symbol Name Type Value

??DATE Text "26/11/12"
??FILENAME Text "a "
??TIME Text "12:39:45"
??VERSION Number 040A
@CPU Text 0101H
@CURSEG Text STK
@FILENAME Text A
@WORDSIZE Text 2
BEGIN Near CODE:0000
LABEL0 Near CODE:001F
LABEL1 Near CODE:000C

Groups & Segments Bit Size Align Combine Class

CODE 16 0021 Para none
STK 16 0100 Para Stack
Rok_k вне форума Ответить с цитированием
Старый 26.11.2012, 13:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

правильно, говорит, забыли..
Цитата:
Код:
21 001F label0:
22 001F CD 21 int 21h
in 21h - это вызов функции MS DOS.
какая функция нужна - указывается в регистре AH
Вы же вызываете функцию, не указав, какая Вам нужна.

исправьте на такой код:
Код:
        mov ah,4Ch
        int 21h
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2012, 21:32   #3
Rok_k
 
Регистрация: 29.05.2010
Сообщений: 4
По умолчанию

Спасибо Вам огромное, Serge_Bliznykov. Это все моя невнимательность. Благодаря Вам - лабораторную защитил После - перечитал методические указание, и там тоже нашел ответ..правда, не совсем в явной форме)

Последний раз редактировалось Rok_k; 26.11.2012 в 21:35.
Rok_k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
запрос (выйти(завершить программу)) "Y";"N". SKS Паскаль, Turbo Pascal, PascalABC.NET 7 15.01.2009 16:32