Официальный сайт студ.городка НГТУ
Программирование и БД » Assembler(TASM, MASM)-не могу ассемблировать программу 

#1  31.08.11 22:47

Assembler(TASM, MASM)-не могу ассемблировать программу

Вообщем написал вот такой простой код:

Код::

.MODEL SMALL
.STACK 100h
.DATA

Message DB 'Hello!',13,10,'$'
.CODE

mov ax,@data
mov dx,ax

mov ah,9
mov dx, OFFSET Message
int 21h
mov ah,4ch

int 21h
END

Затем зашел в командную строку и сделал "окружение(это термин такой, когда в папку с ассемблером переходишь)"... ПРограмма называется HELLO

Потом написал следующее:

TASM.exe hello

А в ответ получил - Can't locate file: Hello.asm

Что может быть не так?

Offline

#2  01.09.11 07:58

Re: Assembler(TASM, MASM)-не могу ассемблировать программу

попробуй полный путь до файла указать или скопируй асм в директорию с tasm.exe

Offline

#3  01.09.11 10:30

Re: Assembler(TASM, MASM)-не могу ассемблировать программу

Файл я положил в директорию с TASM(ТОчнее он уже там лежал, когда я создавал топик)... Все равно та же история... Думаю, что дело в текстовом редакторе(я писал в обычном виндовском БЛОКНОТЕ). Причем файл .ASM в папке BIN TASMа создается, но все равно выдает эту ошибку... Кроме того потом его надо будет линковщиком еще собирать, даже не знаю, что там еще ему не понравится:)

Offline

#4  01.09.11 15:17

Re: Assembler(TASM, MASM)-не могу ассемблировать программу

Wanseg, напиши полный путь к файлу, всё-таки. По крайней мере весь текст ошибки об этом очень сильно намекает. Причем здесь может быть текстовый редактор? В пути к файлу русских имен папок нет?
И да

Wanseg написал(а):

Код: asm:

mov ax,@data
mov dx,ax

Может ты всё-таки хочешь настроить сегментный регистр на сегмент данных

Код: asm:

mov ax,@data
mov ds,ax

Исправлено Revenger (01.09.11 15:26)

Offline

#5  02.09.11 08:21

Re: Assembler(TASM, MASM)-не могу ассемблировать программу

Revenger написал(а):

Wanseg написал(а):

Код: asm:

mov ax,@data
mov dx,ax

Может ты всё-таки хочешь настроить сегментный регистр на сегмент данных

Код: asm:

mov ax,@data
mov ds,ax

Кстати да, не заметил - давно на ассемлере не писал ничего :)

Когда-то написал программку, которая еоторая 100% работает. Может  поможет:

Код::

text	segment	'code'
	assume	cs:text,   ds:data

target	proc
	mov 	AX,data
	mov	DS,AX
	
	mov	ah,40h
	mov	bx,1
	mov	cx, length1
	mov	dx,offset str1
	int	21h
	
	mov	ah,40h
	mov	bx,1
	mov	cx, length2
	mov	dx,offset str2
	int	21h

	mov	ah,3Fh
	mov	bx,0
	mov	cx,80
	mov	dx,offset buf
	int	21h

	mov	astlen,ax
	mov	cx, 2
	cmp	astlen, cx
	jz      EMPTY
	
	mov	dx,offset buf
 PRINT:	mov	cx,5000
 TOUT:	push	cx
 	mov	cx,0
 TIN:	loop	TIN
 	pop	cx
 	loop	TOUT
 	mov	ah,40h
	mov	bx,1
	mov	cx,1
	int	21h
	
	add	dx,1
	sub	astlen,1
	jnz 	PRINT
	
	mov	ah,40h
	mov	bx,1
	mov	cx,length5
	mov	dx,offset str5
	int	21h
	
 	mov	ah,40h
	mov	bx,1
	mov	cx,length4
	mov	dx,offset str4
	int	21h
        jmp	EXIT

 EMPTY: mov	ah,40h
	mov	bx,1
	mov	cx, length3
	mov	dx,offset str3
	int	21h

 EXIT:  mov	ah,01h
	int	21h

	mov	ax, 4C00h
	int	21h

target	endp
text	ends

data	segment 
	str1 db "My Target in Assembler applicaton :).",13,10	
	length1 equ $-str1
	str2 db "Print target and press <Enter>, I'll try to do it: "
	length2 equ $-str2
	str3 db "You don't want me to do something. It's your choise. Bye!",13,10	
	length3 equ $-str3
	str4 db 'Have you got satisfaction? :)'	
	length4 equ $-str4
	str5 db ' ',13,10	
	length5 equ $-str5
       	
	buf db 80 dup (0)
	astlen	dw 0
data ends

stck segment stack 'stack'
	db 128 dup(?)
stck ends
	end	target

Исправлено [PAUL] (02.09.11 08:22)

Offline

Программирование и БД » Assembler(TASM, MASM)-не могу ассемблировать программу 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.079 сек.
Выполнено 14 запросов.