![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
dron4ik |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет. Линкую программу в формат ехе и у меня выходит ошибка 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 сек. По чаще надо оказывается лекции открывать ![]() Добавлено через 3 мин. По крайней мере программа должна демонстрировать работу строковых операций.. |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 3:42 |