Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

самое начало asm подскажите новечку (

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> самое начало asm подскажите новечку (
Имя
Сообщение << Старые топики   Новые топики >>
самое начало asm подскажите новечку ( - 2008-04-03 00:29:10.390000   
Bir

Сообщений: 40
Оценки: 0
Присоединился: 2007-08-25 15:57:43.236666
Заранее прошу прощения за назойливость и тупые вопросы (
У меня возможно самая тупая проблема в истории ассамблера ( начав читать самоучитель по асм вроде все понятно достаточно просто )) но вот какая проблема приведены примеры скажем самый простой:
CSEG segment
org 100h

Begin:
    mov ah,9
    mov dx,offset Message
    int 21h

    int 20h

 Message db 'Hello, world!$'
 CSEG ends
 end Begin

должен якобы вывести надпись "привет мир" но вот проблема то что после компиляции он этого неделает (открывая окно командной строки и все) и вот такой вопросик : это неправельный код глюченый компилятор или еще что ?? подскажите пожалуйста ?? Заранее спасибо!
Post #: 1
RE: самое начало asm подскажите новечку ( - 2008-04-03 00:44:39.223333   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
послушай совета…. чтоб не наступать на грабли….
ставишь се виртуальную машину с досом 6,22 и там проводишь все свои эксперименты….

quote:

CSEG segment
org 100h

Begin:
mov ah,9
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin


а нахрена там 20е прерывание?
отставить…..
все правильно…..
пробуй кампилять и стартовать с чистого доса…

файл вроде комовский… ща лень справочник рыть .. а так не помню … мож ключик для комовского нужен…
Post #: 2
RE: самое начало asm подскажите новечку ( - 2008-04-03 01:02:46.370000   
Bir

Сообщений: 40
Оценки: 0
Присоединился: 2007-08-25 15:57:43.236666
спасибо большое ))) а вот етот пример скопировон полностью из книжки 0странно что там неправельно )) хотя в наше время…..
Post #: 3
RE: самое начало asm подскажите новечку ( - 2008-04-03 01:09:48.593333   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
да я же сказал вроде праильно…
если до затря сам не разберёсси вечером стучи в асю вместе "забадаем" твой трабл…
ща некада работы до задницы…
Post #: 4
RE: самое начало asm подскажите новечку ( - 2008-04-03 03:15:08.920000   
VViskas =[O_o]=

Сообщений: 145
Оценки: 0
Присоединился: 2008-01-01 02:25:50.893333
Под дос эмулом все норм прет!

ЗЫ: Юзаю - DOSBox v0.70
Post #: 5
RE: самое начало asm подскажите новечку ( - 2008-04-03 03:20:55.906666   
VViskas =[O_o]=

Сообщений: 145
Оценки: 0
Присоединился: 2008-01-01 02:25:50.893333
[delete]
Post #: 6
RE: самое начало asm подскажите новечку ( - 2008-09-12 01:30:47.673333   
GamerPro

Сообщений: 12
Оценки: 0
Присоединился: 2008-07-06 21:04:45.466666
надо же…не тебе одному такой пример попался)один и тот же мануал видимо юзаем…у мню кста тож не запускалося(
Post #: 7
RE: самое начало asm подскажите новечку ( - 2008-09-12 08:42:22.963333   
mactep.Black

Сообщений: 6065
Оценки: 678
Присоединился: 2008-02-28 13:01:19.656666
а какой ман юзаете то?
Post #: 8
RE: самое начало asm подскажите новечку ( - 2008-09-12 19:26:04.343333   
adex111

Сообщений: 102
Оценки: 0
Присоединился: 2008-07-22 06:18:43.256666
непонял вопрс
Post #: 9
RE: самое начало asm подскажите новечку ( - 2008-10-13 06:12:18.666666   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
Думаю, ты неправильно собираешь исходник.


оффтоп

На NASM все проще

org 100h    mov ah,9    mov dx,message    int 21h    ret message db 'Hello, world!$'
nasm -o hello.com hello.asm
Post #: 10
RE: самое начало asm подскажите новечку ( - 2008-10-14 22:23:28.276666   
Sunzer

Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
Это пример для доса, вот для винды:
ps есть лишние подключенные модули убирать впадлу =)

.586 .model flat, stdcall option casemap :none include \MASM32\INCLUDE\windows.inc include \MASM32\INCLUDE\kernel32.inc include \MASM32\INCLUDE\shell32.inc include \MASM32\INCLUDE\masm32.inc include \MASM32\INCLUDE\user32.inc includelib \MASM32\LIB\kernel32.lib includelib \MASM32\LIB\shell32.lib includelib \MASM32\LIB\user32.lib includelib \MASM32\LIB\masm32.lib .DATA od db ":)" .CODE START: invoke MessageBox,0,ADDR odin,NULL,64 invoke ExitProcess,0 END START
Post #: 11
RE: самое начало asm подскажите новечку ( - 2008-10-14 22:26:34.870000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
+, не путайте ASM досовский и виндовский
Post #: 12
RE: самое начало asm подскажите новечку ( - 2008-10-14 22:42:05.486666   
Sunzer

Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666

quote:

ORIGINAL: Pashkela

+, не путайте ASM досовский и виндовский


асм и в африке асм, не нужно путать синтаксис, а так же в досе прерывания а в винде api
Post #: 13
RE: самое начало asm подскажите новечку ( - 2008-10-15 16:40:55.016666   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
а вообще нахера изучать досовские функции?!
получаете стандратные указатели i/o и работаете с консолью
Post #: 14
RE: самое начало asm подскажите новечку ( - 2008-11-01 09:26:49.726666   
ZoAs

Сообщений: 10
Оценки: 0
Присоединился: 2008-10-31 09:25:31.133333
Проблема думаю не решена ещё? Приветствие выводится, но окно сразу после этого закрывается.
Используем функцию 10h прерывания 16h (ожидание нажатия клавиши).

CSEG segment org 100h Begin: mov ah,9 mov dx,offset Message int 21h mov ah,10h int 16h ; в этом месте DOS будет ждать клавишу, и лишь затем закончит программу int 20h Message db 'Hello, world!$' CSEG ends end Begin
quote:

а какой ман юзаете то?

Судя по тексту программы, этот: http://www.kalashnikoff.ru/Assembler/
Post #: 15
RE: самое начало asm подскажите новечку ( - 2008-11-01 09:48:01.500000   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
Объясните мне где сейчас применяется ассемблер под дос? Имхо не практично - лишняя трата времени. Если решили изучать асм прогайте сразу под win32 и api
Post #: 16
RE: самое начало asm подскажите новечку ( - 2008-11-01 10:22:08.670000   
ZoAs

Сообщений: 10
Оценки: 0
Присоединился: 2008-10-31 09:25:31.133333
Может быть. Кто как материал освоить может…
Мне кажется очень полезным программирование под дос.

Большинство одноклассников в школе (да почти все) не могли понять как программировать в QBasic и TurboPascal, а их родители на собраниях жаловались: "Зачем их заставляют учить такие старые языки, когда есть намного продвинутей"…

Нужно уметь программировать под простыми ОС, тогда легче видеть её структуру и принципы работы. А в ассемблере это важно (хотя может только для меня?).
Post #: 17
RE: самое начало asm подскажите новечку ( - 2008-11-01 10:24:27.890000   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
quote:

Объясните мне где сейчас применяется ассемблер под дос?

в самодельных САУ.

quote:

Нужно уметь программировать под простыми ОС, тогда легче видеть её структуру и принципы работы. А в ассемблере это важно (хотя может только для меня?).

мое ИМХО - вышеозвученное -> истина.
Post #: 18
RE: самое начало asm подскажите новечку ( - 2008-12-03 06:46:28.346666   
MiXALbI4

Сообщений: 20
Оценки: 0
Присоединился: 2008-01-28 03:13:01.290000


;для Tasm'а под Win все просто:

.model    small  ;модель памяти
.stack    256    ;cмещение
.386               ;проц
.data              ;объявление переменных (начало сегмента данных)
message db "Hello, World!",10,13,"$" ;10,13 - перевод каретки, $ - символ
                                                 ;конца строки
.code                    ;начало сегмента кода
main:                    ;точка входа
    mov ax, @data   ;настройка ds на начало сегмента данных
    mov ds, ax         ;как высчитывается адрес @data - до сих пор не
                           ;понимаю, никак до гугла не долезу :-)
    lea dx,  message ; в dx записываем адрес начала строки
    mov ah, 9          ;9 - подфункция 21го прерывания, кот. отвечает за
                           ;вывод cтроки на экр. при условии, что dx содержит
                           ;ее адрес
    int 21h              ;вызов 21го прерывания
    mov ah, 4ch       ; 4c - подфункция 21го прерывания, кот. отвечает за
                           ; выход программы
    int 21h              ;вызов 21го прерывания
end main



Post #: 19
RE: самое начало asm подскажите новечку ( - 2009-05-06 19:19:17.663333   
Coolzoom

Сообщений: 40
Оценки: 0
Присоединился: 2008-11-05 02:32:34.956666
ЭЭЭ я тоже пока только новичек в асме… кто нить дайте ссыль на мануал в котором по подробнее описываются рагистры флагов, сегментрые регистры, условные переходы типа jc, jnc,jz и т.д. только чтоб не на буржуйском и не особо длинно (не растекаясь мысль по древу)
Post #: 20
RE: самое начало asm подскажите новечку ( - 2009-06-17 20:06:56.710000   
Meliborn

Сообщений: 294
Оценки: 0
Присоединился: 2009-06-17 16:06:59.840000
wasm.ru Лучшего вроде пока не находил.
Post #: 21
RE: самое начало asm подскажите новечку ( - 2009-06-21 12:01:26.616666   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333

quote:

ORIGINAL: Meliborn

wasm.ru Лучшего вроде пока не находил.

http://www.insidepro.com/kk/144r.shtml
Post #: 22
RE: самое начало asm подскажите новечку ( - 2009-07-24 17:23:05.713333   
ashvin

Сообщений: 10
Оценки: 0
Присоединился: 2009-07-24 15:54:31.073333
По асму достаточно мануала на criticalhack.net.
Post #: 23
RE: самое начало asm подскажите новечку ( - 2009-07-24 18:20:46.843333   
ashvin

Сообщений: 10
Оценки: 0
Присоединился: 2009-07-24 15:54:31.073333
Ты всего скорее слинковал .exe файл.А для эксешника одного сегмента мало.

Ассемблирование и линковка .COM файла для TASM:
C:\BORLANDC\BIN>tasm hello.asm
C:\BORLANDC\BIN>tlink hello.obj /t

.COM файл для MASM:
C:\BORLANDC\BIN>masm hello.asm /AT
Post #: 24
RE: самое начало asm подскажите новечку ( - 2009-07-27 18:48:46.046666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: ZoAs

Нужно уметь программировать под простыми ОС, тогда легче видеть её структуру и принципы работы


простота не означает качества, а (Q)DOS = Quick and Dirty OS, что как бы намекает,- и это кроме, собственно, некрофилии

для учебных целей есть прекрасный Minix - живой, документированный и стандартный; на поиграться с низкоуровневым программированием есть MIX (MMIX) Кнута
Post #: 25
Страниц:  [1]
Все форумы >> [Прочее] >> самое начало asm подскажите новечку (







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.