Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для Windows/Dos > Спасайте не работает простой код


Автор: Snik 24.11.2006, 09:00
Делаю:

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


D:\TASM>TASM.EXE prog04 (Enter)
Turbo Assembler  Version 4.1  Copyright © 1988, 1996 Borland International

Assembling file:   prog04.ASM
**Error** prog04.ASM(32) Near jump or call to different CS
Error messages:    1
Warning messages:  None
Passes:            1
Remaining memory:  418k


Почему не работает? Как мне заставить работать подобные проги? 

Автор: gwest 24.11.2006, 16:18
могу предположить что пример написан под masm... когда изучал асм по Калашникову проблем с кодом небыло

Автор: Akina 24.11.2006, 18:06
В твоей программе 22 строки - считая пустые. Компилер ругается на строку 32...

Автор: Snik 25.11.2006, 10:34
Да там сверху просто много коментариев не вижу смысла их писать здесь

Автор: dumb 25.11.2006, 11:01
Цитата(Snik @  25.11.2006,  10:34 Найти цитируемый пост)
Да там сверху просто много коментариев не вижу смысла их писать здесь 

тогда следовало точно указать строку, на которую ругается компилятор.
Код

CSEG segment
assume cs:CSEG
org 100h
...


ps. пользуйся кнопкой "Код", когда код программы вставляешь.

Автор: Snik 27.11.2006, 15:04
Урок понял ! Получилось! Спасибо!

Автор: Frekenbok 12.12.2006, 03:40
Кстати, о Калашникове... Как мне сделать именно com-файл? У меня TASM. Когда пишу просто 
>tasm myprog.asm
>tlink myprog.obj

получается EXE-шник. А ему надо сначала COMы. В его статьях почему-то не вижу  smile  Надо какой-то ключ добавлять в командной строке?

Автор: spin2 12.12.2006, 12:16
Чтобы получался com:
tlink -t prog.obj

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)