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

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

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

> Структура ехе файла, Где должна находиться точка входа?
dron4ik
сообщение 23.10.2009 12:28
Сообщение #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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
dron4ik
сообщение 23.10.2009 13:29
Сообщение #2


Бывалый
****

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

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


аа..поэтому у меня в конце программы выходит ошибка какая то.

а как определить стек?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 3.07.2025 6:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"