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

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

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

 
 Ответить  Открыть новую тему 
> Com программы и резервирование памяти, Трабла с резервированием памяти
MixRin.RU$
сообщение 26.01.2006 23:00
Сообщение #1


Новичок
*

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

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


Если я резервирую пустую память на 256 байт например, то размер выполняемого фала увеличивается соответственно на 256 байт sad.gif Как-нибудь можно резервировать память, чтобы при этом размер выполняемого .COM файла не увеличивался на размер этой памяти? dry.gif

Я понял как!!! Можно удалить топик и оставить где нибудь это как совет...
Раньше я выделял память так:
Buff db 256 DUP (0)
Но если вместо 0 поставить '?' (неизвестно), то размер файла увеличиватся не будет good.gif
Buff db 256 DUP (?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 27.01.2006 5:30
Сообщение #2


N337
****

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

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


Причём все неинициализированные данные (директивы db, dw и т. п. с ?) должны располагаться либо в конце единственного сегмента, либо в секции .data?:

TEXT	segment
assume cs:TEXT,ds:TEXT

org 100h
startup:
lea dx,msg
mov ah,9
int 21h
mov ax,4C00h
int 21h

;--- Инициализированные переменные ---
msg db 'Hello, World!',13,10,'$'

;--- Неинициализированные переменные ---
dummy dw 256 dup(?)

TEXT ends
end startup


.model tiny

.code
.startup
lea dx,msg
mov ah,9
int 21h
mov ax,4C00h
int 21h

;--- Инициализированные переменные или константы ---
msg db 'Hello, World!',13,10,'$'

;--- Неинициализированные переменные ---
dummy dw 256 dup(?)

end


В случае использования расширенного набора директив определения сегментов, редактор связей сам расположит сегменты оптимальным образом:

.model tiny

;--- Инициализированные переменные ---
.data
msg db 'Hello, World!',13,10,'$'

;--- Неинициализированные переменные ---
.data?
dummy dw 256 dup(?)

.code
.startup
lea dx,msg
mov ah,9
int 21h
mov ax,4C00h
int 21h

end


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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