Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2013, 21:42   #1
dosha1302
 
Регистрация: 09.12.2012
Сообщений: 4
По умолчанию разница между использованием model small и segment/assume

Подскажите,пожалуйста,в чем принципиальная разница между использованием упрощенных директив сегментации(.code, .stack, .data) и между использованием стандартных директив(segment/assume)?интересует больше то,что касается выделения памяти под сегменты при использовании этих директив для одной и той же программы.Вот карты памяти.Если видите разницу,то напишите,а то не могу разобраться с этими картами памяти.
Это через model small
Код:
Start Stop Length Name Class

00000H 000D9H 000DAH _TEXT CODE
000E0H 000FDH 0001EH _DATA DATA
00100H 00355H 00256H STACK STACK


Detailed map of segments

0000:0000 0046 C=CODE S=_TEXT G=(none) M=LABA112.ASM ACBP=48
0000:0046 0094 C=CODE S=_TEXT G=(none) M=LABA122.ASM ACBP=48
000E:0000 001E C=DATA S=_DATA G=DGROUP M=LABA112.ASM ACBP=48
000E:001E 0000 C=DATA S=_DATA G=DGROUP M=LABA122.ASM ACBP=48
000E:0020 0256 C=STACK S=STACK G=DGROUP M=LABA122.ASM ACBP=74

Address Publics by Name

0000:0057 INPUT
0000:0046 NEWSTR
0000:00A6 OUTPUT
0000:00AB PROCEDURE

Address Publics by Value

0000:0046 NEWSTR
0000:0057 INPUT
0000:00A6 OUTPUT
0000:00AB PROCEDURE

Program entry point at 0000:0000
Это через segment и assume
Код:
Start Stop Length Name Class
00000H 0001DH 0001EH CDATA DATA
00020H 00103H 000E4H CCODE CODE
00110H 0020FH 00100H CSTACK STACK

Detailed map of segments

0000:0000 001E C=DATA S=CDATA G=(none) M=LABA11.ASM ACBP=68
0002:0000 0046 C=CODE S=CCODE G=(none) M=LABA11.ASM ACBP=68
0002:0050 0094 C=CODE S=CCODE G=(none) M=LABA12.ASM ACBP=68
0011:0000 0100 C=STACK S=CSTACK G=(none) M=LABA12.ASM ACBP=74




Address Publics by Name

0002:0061 INPUT
0002:0050 NEWSTR
0002:00B0 OUTPUT
0002:00B5 PROCEDURE

Address Publics by Value

0002:0050 NEWSTR
0002:0061 INPUT
0002:00B0 OUTPUT
0002:00B5 PROCEDURE

Program entry point at 0002:0000
dosha1302 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разница между компами новая Компьютерное железо 1 20.11.2011 12:33
В чем разница между С и С++? Freddy Krjuger Общие вопросы C/C++ 1 14.11.2009 21:23
Разница между временем asd48 Microsoft Office Excel 1 05.06.2009 23:44
Разница между датами kykysya Общие вопросы Delphi 8 26.03.2009 18:22
Разница между датами deenka БД в Delphi 3 31.01.2008 13:21