IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Структура ехе файла, Где должна находиться точка входа?
сообщение
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Всем привет. Линкую программу в формат ехе и у меня выходит ошибка No program entry point. перевел на русский значит что точку входа не обнаружило. посоветуйте где писать эту точку входа.




CODE    SEGMENT 

ASSUME CS:CODE,DS:CODE,ES:CODE

EXBYTE LABEL BYTE

EXWORD LABEL WORD

EXBYTE1 LABEL BYTE

EXWORD1 LABEL WORD

Main proc

LODS EXBYTE ; Загрузка AL из DS:SI

LODS EXWORD ; Загрузка AX из DS:SI

LODSB ; Загрузка AL из DS:SI

STOS EXBYTE ; Сохранение AL в ES:DI

STOS EXWORD ; Сохранение AX в ES:DI

STOSW ; Сохранение AX в ES:DI

REP STOSB ; Сохранение AL в ES:DI в цикле CX раз



MOVS EXBYTE1, EXBYTE ; Пересылка байта [ES:DI] <- [DS:SI]

MOVS EXWORD1, EXWORD ; Пересылка слова [ES:DI] <- [DS:SI]

MOVSB ; Пересылка байта [ES:DI] <- [DS:SI]


REP MOVSW ; Пересылка CX слов [ES:DI] <- [DS:SI]



SCAS EXBYTE1 ; Сравнение AL с [ES:DI]

REPE SCASB ; Сравнение AL с [ES:DI] пока равно

REPNE SCASW ; Сравнение AX с [ES:DI] пока не равно



CMPS EXWORD, EXWORD1 ; Сравнение слова [DS:SI] с [ES:DI]

REPE CMPSW ; Сравнение слов [DS:SI] с [ES:DI] пока

; равно в цикле CX раз
REPNE CMPSB ; Сравнение байт [DS:SI] с [ES:DI] пока

; не равно в цикле CX раз
Main endp
CODE ENDS

END


Добавлено через 13 мин.
Удивительно,но вроде сделал сам1)

Добавлено через 49 сек.
Надеюсь вход сделал правильно..




CODES    SEGMENT  'CODE'

ASSUME CS:CODES,DS:CODES,ES:CODES

EXBYTE LABEL BYTE

EXWORD LABEL WORD

EXBYTE1 LABEL BYTE

EXWORD1 LABEL WORD

Main proc

LODS EXBYTE ; Загрузка AL из DS:SI

LODS EXWORD ; Загрузка AX из DS:SI

LODSB ; Загрузка AL из DS:SI

STOS EXBYTE ; Сохранение AL в ES:DI

STOS EXWORD ; Сохранение AX в ES:DI

STOSW ; Сохранение AX в ES:DI

REP STOSB ; Сохранение AL в ES:DI в цикле CX раз



MOVS EXBYTE1, EXBYTE ; Пересылка байта [ES:DI] <- [DS:SI]

MOVS EXWORD1, EXWORD ; Пересылка слова [ES:DI] <- [DS:SI]

MOVSB ; Пересылка байта [ES:DI] <- [DS:SI]


REP MOVSW ; Пересылка CX слов [ES:DI] <- [DS:SI]



SCAS EXBYTE1 ; Сравнение AL с [ES:DI]

REPE SCASB ; Сравнение AL с [ES:DI] пока равно

REPNE SCASW ; Сравнение AX с [ES:DI] пока не равно



CMPS EXWORD, EXWORD1 ; Сравнение слова [DS:SI] с [ES:DI]

REPE CMPSW ; Сравнение слов [DS:SI] с [ES:DI] пока

; равно в цикле CX раз
REPNE CMPSB ; Сравнение байт [DS:SI] с [ES:DI] пока

; не равно в цикле CX раз
Main endp
CODES ENDS

END Main


Добавлено через 49 сек.
По чаще надо оказывается лекции открывать smile.gif

Добавлено через 3 мин.
По крайней мере программа должна демонстрировать работу строковых операций..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Спасибо большое тебе xds)) попробую щас разобраться))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
dron4ik   Структура ехе файла   23.10.2009 16:28
xds   Еще не определил стек. После загрузки образа будет…   23.10.2009 17:12
dron4ik   аа..поэтому у меня в конце программы выходит ошибк…   23.10.2009 17:29
xds   В полной нотации (с директивами segment) в tasm вр…   23.10.2009 18:05
dron4ik   вроде так.. но есть ошибка..*Warning* 40.asm(66) R…   23.10.2009 18:43
xds   а как можно избавиться от произвольного затирания…   23.10.2009 18:51
xds   Это не ошибка, а предупреждение. Если мешает, назо…   23.10.2009 18:46
dron4ik   Спасибо)   23.10.2009 18:51
dron4ik   спасибо.) а в роли входных данных может быть строк…   23.10.2009 18:53
xds   Какая-нибудь цепочка байтов — «строка» в терминах …   23.10.2009 19:10
dron4ik   хм...щас я пытаюсь сделать определение строки по п…   23.10.2009 19:12
dron4ik   вот вроде бы все..проверьте кому не лень :) …   23.10.2009 21:01
xds   Не инициализировал DS и ES. В момент запуска они у…   23.10.2009 21:32
dron4ik   ну вот надеюсь финальная версия... :) …   23.10.2009 21:33
xds   Не. Где загрузка значений в DS и ES?   23.10.2009 21:35
dron4ik   xds..я совсем запутался((не пойму где и чего не хв…   23.10.2009 21:38
xds   Не хватает копирования значения CS в DS и ES. Данн…   23.10.2009 21:45
volvo   Это тебе лучше знать. Что оно ДОЛЖНО делать - ты н…   23.10.2009 21:46
dron4ik   программа должна демонстрировать работу со строков…   23.10.2009 21:49
xds   Как это у тебя реализуется? [b]Добавлено через …   23.10.2009 21:57
dron4ik   т.е. показать в отладчике как работают строковые к…   23.10.2009 21:59
xds   Ясно. А ты разбираешься, как самому себе показать…   23.10.2009 22:01
dron4ik   можно сказать фундамент, элемементарные операции с…   23.10.2009 22:01
xds   Не, не. Я про то, чтоб ты сам проверил: работает и…   23.10.2009 22:05
dron4ik   я в теории не плохо знаю как работает..а так если …   23.10.2009 22:08
xds   Разбирай по-порядку по одной команде. Когда с одно…   23.10.2009 22:15
dron4ik   блин..ниче не правильно да?   23.10.2009 22:24
xds   Короче, не туда поставил инициализацию сегментов :…   24.10.2009 1:30
dron4ik   http://podgoretsky.com/ftp/docs/Asm/AsmBra...4-8-1…   24.10.2009 1:44
xds   Это не законченная программа, которая что-то демон…   24.10.2009 14:09
dron4ik   Спасибо большое тебе xds)) попробую щас разобратьс…   24.10.2009 15:35


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 13:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name