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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 11:12   #1
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию критическая ошибка при выполнении программы

Всем привет!
Героическая эпопея нубного меня продолжается...

Дело в том что это:

Код:
	page 60,132
TITLE	pract	
	.MODEL	SMALL
MYSTACK	SEGMENT	PARA	'StACK'
	DW	32 DUP(0)
MYSTACK	ENDS

MYDATA	SEGMENT	 PARA	'Data'
HEAD1	DB	'InterTech'
HEAD2	DB	9 DUP('*'),'$'
MYDATA	ENDS

MYCODE	SEGMENT 	PARA	'Code'
MAIN	PROC	FAR
             ASSUME SS:MYSTACK,DS:MYDATA,CS:MYCODE
	MOV	AX,@DATA
	MOV	DS,AX

	MOV	AX,0600H
	MOV 	BH,17H
	MOV	CX,0000H
	MOV	DX,184FH
	INT 	10H
	
	MOV	AH,09H
	LEA	DX,HEAD2
	INT 	21H

	MOV	AH,09H
	LEA	DX,HEAD1
	INT 	21H

MAIN	ENDP
MYCODE	ENDS
	END	MAIN
вроде бы и верно... Только при выполнении выдает окошко

16-разрядая подсистема MS-DOS

Процессор NTVDM обнаружил недопустимую инструкцию

CS:058e IP:0036 OP:65 63 68 2a 2a
Нажми "закрыть"(ну рядом "пропустить" есть)

Код написан наполовину из головы, посему тут какая-то очень смешная ошибка, вот только какая (
По Авелю смотрел - не увидел ошибки.
Единственное что у него вывод на экран в СОМе и все объявлено через
.CODE .DATA
Оно-то работает,но именно тут я написал не так а вот так(см.код)
Если честно, я вообще не понял как объявить стек Содрал из книги(см.код)

По сути проблемы две...
Сия ошибка и что делать со стеком,т.к. при сборке ЭТОГО(см.код) мне сообщили что стек сегмента вообще нет.(варнинг)
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Старый 18.11.2009, 12:31   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

ошибки
Код:
MYSTACK	SEGMENT	PARA STACK 'stack'
...
MYCODE	SEGMENT 	PARA	'Code'
             ASSUME SS:MYSTACK,DS:MYDATA,CS:MYCODE
MAIN	PROC	FAR
...
завершить программу забыл
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 18.11.2009, 12:33   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Ошибка во время выполнения из-за того, что нет выхода из программы и после нее начинает выполняться мусор.
Да и пишите так v оно же так ИМХО понятнее.
Код:
	page 60,132
	title	PRACT	
.model	small
.stack 100H
	
.data
	head1	db	'iNTERtECH'
	head2	db	9 dup('*'),'$'
	
	
.code
main:
	assume ss:@stack,ds:@data,cs:@code
	mov	ax,@data
	mov	ds,ax
	
	mov	ax,0600h
	mov 	bh,17h
	mov	cx,0000h
	mov	dx,184fh
	int 	10h
	
	mov	ah,09h
	lea	dx,head2
	int 	21h
	
	mov	ah,09h
	lea	dx,head1
	int 	21h
	
	mov ax,4c00h
	int 21h
	
end	main
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 18.11.2009, 16:51   #4
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

Получилось))
Спасибо ребят))
Гудвин, мне этот вариант записи намного больше нравится))) набить бы руку и норм)))

Получется, ассемблер выполнял у меня "мусор" вне end main?
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка и падение (выход) Excel при выполнении сложной программы на VBA Serge_Bliznykov Microsoft Office Excel 6 13.08.2008 16:50
Ошибка при Выполнении Insert nimf БД в Delphi 2 27.11.2007 18:16
Странная ошибка при выполнении okolobaxa Общие вопросы Delphi 2 03.07.2007 00:47
Ошибка при выполнении запроса Elena БД в Delphi 3 14.06.2007 15:13
Ошибка при выполнении запроса Elena БД в Delphi 2 25.05.2007 16:19