Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сегментация в МАСМ

1.6K
07 июля 2007 года
Shtirlitz
145 / / 31.07.2006
Я попробовал запустить в masm следующий код:
.model small
.data
message db 'Bla-bla-bla! $'
.code
start:
mov ax,@data
mov ds,ax
mov ah,9
mov dx, offset message
int 21h
mov ax,4c00h
int 21h
end start
И никак не могу понять что здесь может быть не правильно! Я где-то читал, что в masm есть отличия от tasm... Вобщем прошу всех кто знает в чем дело отозваться и помочь! Заранее благодарен.
22K
07 июля 2007 года
Pastor
43 / / 16.05.2007
может
.stack 200h
...
lea dx, message
245
08 июля 2007 года
~ArchimeD~
1.4K / / 24.07.2006
я тоже не могу понять. на первый взгляд, проде верно. поконкретнее напиши, на чем спотыкаешься.
разве что может
.model flat,stdcall
???
и ещё неплохо перед end start поставить ret
1.9K
08 июля 2007 года
disasm
232 / / 06.02.2006
Скорее всего тут загвоздка в
mov ax,@data
ret перед концом ставить бессмысленно, т.к. перед ним идет завершение программы с помощью прерываний
1.6K
08 июля 2007 года
Shtirlitz
145 / / 31.07.2006
К сожалению lea dx,message и .stack 200h не помогает. Model flat- это уже плоская модель памяти, а мне бы хотелось попробовать model small. По поводу mov ax,@data могу сказать , что во многих местах так настраивают регистр ds на сегмент данных в masm.
Ассемблер при создании .obj файла выдаёт следующее:
C:\my.asm(6): error A2006: undefined symbol: DGROUP
C:\my.asm(13): warning A4023: with/coff switch, leading underscore required for start address: srart
Может быть это как-то проясняет ситуацию. Просто я этого не понимаю, т.е. не понимаю почему это происходит.
260
08 июля 2007 года
Ramon
1.1K / / 16.08.2003
Так то лучше, а то - "Не работает, помогите...", что происходит не пишем.

Необходимо ключик "/omf" добавить компилятору и линковать DOS'овым линкером, иначе обломится на этапе линковки.

PS: Соурс изначально верный.
1.6K
08 июля 2007 года
Shtirlitz
145 / / 31.07.2006
А почему masm для этого не подходит? И вот ещё вопрос тут возникает. Я скачат tasm5plus, там файл tasm32.exe-я так понимаю он только с 32 разрядными прогами может работать. А где можно найти tasm для 16-разрядных прог?
260
08 июля 2007 года
Ramon
1.1K / / 16.08.2003
А кто сказал что MASM не подходит?...
261
08 июля 2007 года
ahilles
1.5K / / 03.11.2005
Цитата: Shtirlitz
А где можно найти tasm для 16-разрядных прог?


там же!
в папке BIN есть файлы tlink и tasm они для 16 битных прог, а файлы tlink32 и tasm32 для 32 битных прог.

1.6K
10 июля 2007 года
Shtirlitz
145 / / 31.07.2006
А вот и нет в tasm5plus tasm.exe и tlink.exe. В tasm5 Таковые имеются, а вот в tasm5plus-нет. Может быть они конечно по другому называются там...
1.9K
10 июля 2007 года
disasm
232 / / 06.02.2006
А обычный тасм скачать траффик не позволяет?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог