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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2008, 20:45   #1
qip2005
Пользователь
 
Регистрация: 14.09.2008
Сообщений: 61
По умолчанию не ассемблируется

Вот ща читаю книгу Калашникова.
Там написано, что эта программа
Код:
CSEG segment
org 100h
Begin:
mov ax,0B800h
mov es,ax
mov di,0
mov al,1
mov ah,31
mov cx,2000

Next_face:
mov es:[di],ax
add di,2
loop Next_face

mov ah,10h
int 16h
int 20h
CSEG ends
end Begin
Должна выводить рожицу с прямым отображением в видеобуфер.
в процессе копмиляции выводит: **error** d:\...\...\<24> near jump or call to different CS.....error messeges: 1
С чем это может быть связано?
Компилирую ТАСМом.

Последний раз редактировалось rpy3uH; 01.12.2008 в 08:53.
qip2005 вне форума Ответить с цитированием
Старый 30.11.2008, 23:39   #2
qip2005
Пользователь
 
Регистрация: 14.09.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от mvedro Посмотреть сообщение
надо вставить строку: assume cs:CSEG

CSEG segment
assume cs:CSEG

org 100h
Begin:
mov ax,0B800h
mov es,ax
mov di,0
mov al,1
mov ah,31
mov cx,2000

Next_face:
mov es:[di],ax
add di,2
loop Next_face

mov ah,10h
int 16h
int 20h
CSEG ends
end Begin
Огромное спасибо, я уже понял.

А вот другая проблема в том, что эта прога ничё не выводит, просто чёрный экран и никаких надписей и тем более рисунков нет!
В чём тут трабла?
qip2005 вне форума Ответить с цитированием
Старый 01.12.2008, 04:05   #3
Min
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 239
По умолчанию

скорее всего видеостраница не та...... перейди на 0-видеостраницу вначале
Надо бы избавиться от привычки ставить многоточие.....
Min вне форума Ответить с цитированием
Старый 01.12.2008, 07:39   #4
4foru
Заблокирован
 
Регистрация: 01.12.2008
Сообщений: 2
По умолчанию

видеостраница - та самая. просто надо запускаться из-под DOS-овского приложения (Norton commander'а, например), а не из-под командной строки!!!
4foru вне форума Ответить с цитированием
Старый 01.12.2008, 11:15   #5
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

установите видеорежим вручную перед работой с видео памятью
mov ax,0003h ; установить 3 режим 80х25
int 10h
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 31.01.2009, 22:55   #6
Reign
 
Регистрация: 22.07.2008
Сообщений: 9
По умолчанию

Здравствуйте!Изучаю ассемблер по книге Калашникова и соткнулся с проблемой:Не могу скомпилировать исходный файл на ассемблере.Компилировал MASM 6.12 Выдает ошибки, что файл не найден.Пробовал разными компиляторами.Вот код:
Цитата:
CSEG segment
org 100h

Begin:

mov ah,9
mov dx,offset Message
mov dx,offset Mess2
int 21h
int 20h

Message db 'Hello, world!$'
Mess2 db 'This is I!$'
CSEG ends
end Begin
Пишу в командной строке:
ML.EXE PROG.ASM /AT
И выдает:ML.EXE не является внутренней или внешней командой, используемой программой или пакетным файлом.
Пробовал даже компилировать ASMTool LE - НОЛЬ.
Может кто знает, что нужно делать?
Reign вне форума Ответить с цитированием
Старый 31.01.2009, 23:56   #7
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Нужно либо прописать путь до компилера в глобальных переменных системы, либо компилировать из той директории где компилятор находится
r9m вне форума Ответить с цитированием
Старый 01.02.2009, 10:38   #8
Reign
 
Регистрация: 22.07.2008
Сообщений: 9
По умолчанию

Цитата:
Нужно либо прописать путь до компилера в глобальных переменных системы,
Попробовал прописать путь в переменных средах.
Вот, что выдает командная строка при использовании MASM 6.11
Assembling: PROG.ASM
fatal error A1000: cannot open file : PROG.ASM
Цитата:
либо компилировать из той директории где компилятор находится
Как это?
Reign вне форума Ответить с цитированием
Старый 01.02.2009, 11:39   #9
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

короче, засовывай свой исходник в директорию bin где у тебя ml.exe и прочее, и потом создай тамже bat файл с таким примерно содержанием:

Код:
@echo off
ML.EXE PROG.ASM /AT
где PROG.ASM - имя твоего сореца
r9m вне форума Ответить с цитированием
Старый 01.02.2009, 12:10   #10
Reign
 
Регистрация: 22.07.2008
Сообщений: 9
По умолчанию

Создал бат файл.Исходник навёл на *бат файл, потом ещё раз и появился PROG OBJ.
Разве так должно быть?Поидее должен выйти исполняемый *сом файл?!Что дальше?
С командной сторки запускаю *бат файл высвечивается:
Имя первого файла для сравнения:
Имя второго файла для сравнения:
Параметр :
Не удается найти или открыть файл:
Сравнить другие файлы (Y(да)/(N(нет))

Последний раз редактировалось Reign; 01.02.2009 в 12:44.
Reign вне форума Ответить с цитированием
Ответ


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