Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› Вопросы по ассемблеру |
Посл.ответ | Сообщение |
|
Создано: 22 октября 2006 01:53 · Личное сообщение · #1 Hello всем.Нуждаюсь в помощи.Только сильно не ругайте за тупые вопросы.Спасибо: 1)Зачем сообщение для вывода(любая строка ) мы не пишем перед прерыванием int 20h(всё-таки ВЫХОД)? 2)Почему CSEG ends пишется не после end Start(CSEG segment до Start? 3)Не работает,вернее работает,но не так,как нужно(один чёрный экран!), прога,которая выводит в верхний левый угол экрана веселую рожицу на синем фоне: CSEG segment org 100h Start: mov ax,0B800h mov es,ax mov di,0 mov ah,31 mov al,1 mov es:[di],ax mov ah,10h int 16h int 20h CSEG ends end Start Пользуюсь я MASM'ом 6.12! 4)А как из .com файла сделать .exe ,потому что OllyDbg компилятор у меня не обнаруживает .com! 5)Пользуюсь также MASM 5.1 Для ассемблирования набираю masm.exe имя_файлa.asm, но выдаётся вот эта фигня: Object filename [Название.obj]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]: Что не пишу(а я не знаю ,что писать),появляется: error A2062:Missing or unreachable CS 47152 + 446396 Bytes symbol space free Как линковать тоже не расскажете? 6)Как узнать,есть ли в файле,объём которого я хочу узнать,символы Unicode? 7)Я недавно прочитал: "Когда компы были 16-битными,процессор не мог работать с памятью размером более 64 килобайт (максимум,что можно записать в 2 байта)"-видимо здесь имеется в виду адресация.А как она работает? 8)My_string db 'Строка!$' Здесь db-регистр? 9)Что это за ошибка-fatal error LNK1190: invalid fixup found, type 0*00001(на MASM32)? 10)В ASCII таблице 256 символов(от 0 до 255) и каждому символу выделяется по 1 байту(от 0 до 255 значений).Вышло случайно,что значение в скобках ОДНО И ТОЖЕ? 11)Какоe IDE использовать,и простите за LamerOffский вопрос: Какой .bat файл надо создать и как вообще он создаётся? |
|
Создано: 22 октября 2006 02:00 · Личное сообщение · #2 |
|
Создано: 22 октября 2006 02:08 · Личное сообщение · #3 TOR пишет: Здесь db-регистр? Аццки жжешь См. тут http://exelab.ru/pro/asm.php ----- Nulla aetas ad discendum sera |
|
Создано: 22 октября 2006 02:11 · Личное сообщение · #4 |
|
Создано: 22 октября 2006 02:24 · Личное сообщение · #5 >1)Зачем сообщение для вывода(любая строка ) мы не пишем перед прерыванием int 20h(всё-таки ВЫХОД)? Ты хоть следишь за логикой программы? CSEG segment ; сегмент кода org 100h ; для .com программ Start: ;точка входа в программу mov ax,0B800h ; адресс начала видео буффера mov es,ax ; es -> ax mov di,0 ;di -> 0 mov ah,31 ;ah ->31 код символа mov al,1 ;al -> 1 подсветка mov es:[di],ax ;вывод символа прямой записью в видео буффер. mov ah,10h ; int 16h ; уже не помню int 20h ; выход из .com программы CSEG ends ;конец сегмента кода end Start ; конец нашей программы 4)А как из .com файла сделать .exe ,потому что OllyDbg компилятор у меня не обнаруживает .com! Нихуя у тебя не получиться!Иди читай на wasme эту статью : wasm.ru/article.php?article=1022001 5-11 туда же! |
|
Создано: 22 октября 2006 02:35 · Поправил: Flint · Личное сообщение · #6 |
|
Создано: 22 октября 2006 08:30 · Личное сообщение · #7 code segment assume cs:code,ds:code,es:code - указатель компилятору где что находиться(error A2062:Missing or unreachable CS) org 100h - чтобы было можно сделать сом позже start: code ends - закрытие сигмента кода end start -закрытие процедуры start mov ah,10h int 16h - если по памяти, то ввод символа(для задержки видимо) ввобще всё что инт 16 это клава )) пользуй Tasm file Tlink file.obj /t/x - com |
|
Создано: 24 октября 2006 08:20 · Личное сообщение · #8 |
|
Создано: 24 октября 2006 12:32 · Личное сообщение · #9 |
|
Создано: 24 октября 2006 12:35 · Личное сообщение · #10 |
|
Создано: 25 октября 2006 03:50 · Поправил: Vitek · Личное сообщение · #11 |
|
Создано: 25 октября 2006 07:27 · Личное сообщение · #12 |
|
Создано: 26 октября 2006 11:40 · Личное сообщение · #13 |
|
Создано: 27 октября 2006 22:57 · Личное сообщение · #14 Xtreme "рожица" не появляется, т.к. ДОС-окно в Виндах имеет другой видео-режим - не текстовый. Добавь mov al,3 int 10 Отлаживать ДОС проги можно, либо ДОС-овыми отладчиками, типа турбо-дебаггера, либо debug.exe - он кстати автоматом видео-режим устанавливает. Про CS тебе уже сказали, в 5.1 надо было в конце ; поставить Превращение com в exe не спасет, т.к. все равно не PE будет и олли не возьмет. А в PE B800 , INT 16 и INT 20 - нонсенс. |
|
Создано: 28 октября 2006 03:45 · Личное сообщение · #15 |
|
Создано: 28 октября 2006 19:09 · Личное сообщение · #16 |
|
Создано: 29 октября 2006 00:24 · Личное сообщение · #17 MACKLIA я же сказал com2exe d2cf_29.10.2006_CRACKLAB.rU.tgz - com2exe.rar ----- Nulla aetas ad discendum sera |
|
Создано: 29 октября 2006 05:13 · Личное сообщение · #18 |
|
Создано: 30 октября 2006 05:32 · Личное сообщение · #19 |
eXeL@B —› Программирование —› Вопросы по ассемблеру |