Здрасте все =) Я тут книжку читаю: А.Панов "Ассемблер. Экспресс-курс". Там есть исходник Hello World проги. Я пробую её откомпиллировать, всё нормально, а при линковки ругается: Fatal: No program entry point Вроде перепечатал исходник верно, раз 10 перепроверил: Код (Text): code segment assume CS:code, DS:data mov ax,data mov ds,ax mov dx, offset mes mov ah,9 int 21h mov ah,10h int 16h mov ax,4C00h int 21h code ends data segment mes db 'Hello, world!',13,10,'$' data ends end Линкую и компиллирую как в книжке написано: tasm /l hello tlink hello Помогите, кто чем может...
_Poly_Glot_ Копмилятор тебе говорит, что у тебя не указана точка входа в программу. Как я понимаю, нужно указать этот адрес. Код (Text): code segment start: бла-бла-бла .... code ends ... end start
tender_swallow Спасибо, ты был прав. Правда потом линковщик ещё ругался, что нету сегмента стека, пришлось ещё добавить stack segment stack db 256 dup (?) stack ends и заработало. =) Я не понимаю таких людей, которые, как автор, в книжках пишут листинги с ошибками/недочётами... С вопросом разобрался, считаю вопрос закрытым
Здрасьте ещё раз =) Щас пытался, как в этой же книжке приведён исходник скомпилировать и слинковать один экзэшник из двух .asm, но при линковке выскакивает непонятная ошибка: Error: Fixup overflow at MCODE:0003, target = DISPLAYA in module DISPL.ASM Error: Fixup overflow at MCODE:0008, target = DISPLAYA in module DISPL.ASM Error: Fixup overflow at MCODE:000D, target = DISPLAYA in module DISPL.ASM Error: Fixup overflow at MCODE:0010, target = KEYBIN in module DISPL.ASM У мну два файла: displ.asm и mylib.asm, их содержание такое: displ.asm: Код (Text): mcode segment assume CS:mcode extrn displayA:near extrn keybin:near go: mov dl,'a' call displayA mov dl,'b' call displayA mov dl,'c' call displayA call keybin mov ah,10h int 16h ret mcode ends stak segment stack db 250 dup (?) stak ends end go mylib.asm: Код (Text): subr segment public displayA, keybin assume CS:subr displayA proc mov ah,2 int 21h ret displayA endp keybin proc mov ah,1 int 21h ret keybin endp subr ends end Батник такой: tasm displ tasm mylib tlink mylib+displ pause Всё делаю по книжке, так что если вдруг чё не так, сильно пожалуйста не пинайте. Подскажите из-за чего ошибка происходит, хотя, вроде всё правильно P.S. Написано, что должен появиться DISPL.EXE , появляется MYLIB.EXE, тока она нихрена не работает =(
_Poly_Glot_ Блин замени во вотором примере сегмент на из subr segment и subr ends на mcode segment и mcode ends и попробуй слинковать или extrn displayA:near extrn keybin:near на extrn displayA:far extrn keybin:far
JAPH Спасибо, а я мучился =) З.Ы. В книжке А.Панова: "Ассемблер. Экспресс курс" небось каждый третий исходник с ачипятками...