Посл.ответ |
Сообщение |
Ранг: 1.1 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 июля 2006 19:53 · Личное сообщение · #1
подскажите пожалуйста где я сдесь сдурачил.
(только начинаю изучать, с другими языками тоже не знаком)
lesson segment
org 100h
mov cx, 5
start:
mov ah,9
mov dx, offset string
int 21h
loop start
jmp start2
start2:
int 20h
string db 'hello, WORLD!!!$'
lesson ends
end start2
end start
Вот примерно так.
| Сообщение посчитали полезным: |
|
 Ранг: 251.8 (наставник), 17thx Активность: 0.12↘0 Статус: Участник Seeker
|
Создано: 01 июля 2006 19:58 · Поправил: =TS= · Личное сообщение · #2
life4hack пишет:
int 21h
Вызовы прерываний доса и биоса могут изменять регистры...
поэтому лучьше
start:
push cx
mov ah,9
mov dx, offset string
int 21h
pop cx
loop start
life4hack пишет:
jmp start2
это лишнее
----- DREAMS CALL US | Сообщение посчитали полезным: |
Ранг: 1.1 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 июля 2006 20:07 · Личное сообщение · #3
я не знаю что делают операторы push и pop/
| Сообщение посчитали полезным: |
Ранг: 203.3 (наставник) Активность: 0.22↘0 Статус: Участник UPX Killer -d
|
Создано: 01 июля 2006 20:09 · Личное сообщение · #4
life4hack, кладут и достают данные из стэка. Тебе явно нужен справочник.
----- Я медленно снимаю с неё UPX... *FF_User* | Сообщение посчитали полезным: |
Ранг: 1.1 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 июля 2006 20:14 · Личное сообщение · #5
так, ясно а где его взять??? на это сайте есть? я очень многое скачал именно с него.
| Сообщение посчитали полезным: |
 Ранг: 71.8 (постоянный) Активность: 0.03↘0 Статус: Участник
|
Создано: 01 июля 2006 20:41 · Личное сообщение · #6
life4hack
wasm.ru http://wasm.ru
Здесь куча всего смотри. Справочник поищи  , есть Юров в цифровом виде.
| Сообщение посчитали полезным: |
Ранг: 1.1 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 июля 2006 21:05 · Личное сообщение · #7
lesson segment
org 100h
mov cx, 5
start:
push cx
mov ah,9
mov dx, offset string
int 21h
pop cx
loop start
int 20h
string db 'hello, WORLD!!!$'
lesson ends
end start
так будет выглядеть исходный код?
| Сообщение посчитали полезным: |
Ранг: 1.1 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 июля 2006 21:14 · Поправил: life4hack · Личное сообщение · #8
 выдает предупреждение что смещение будет не 100 как задано в программе, а почему не понятно. вообщем показано на скрине.
1aaa_01.07.2006_CRACKLAB.rU.tgz - fi4a.GIF
| Сообщение посчитали полезным: |
Ранг: 158.4 (ветеран), 123thx Активность: 0.14↗0.49 Статус: Участник
|
Создано: 01 июля 2006 22:35 · Личное сообщение · #9
lesson segment
org 100h
start:
mov cx, 5
printloop:
push cx
mov ah,9
mov dx, offset string
int 21h
pop cx
loop printloop
int 20h
string db 'hello, WORLD!!!$'
lesson ends
end start
| Сообщение посчитали полезным: |
 Ранг: 251.8 (наставник), 17thx Активность: 0.12↘0 Статус: Участник Seeker
|
Создано: 01 июля 2006 23:06 · Личное сообщение · #10
rmn пишет:
org 100h
start:
mov cx, 5
Угу, я внимания не обратил, что инструкция была выше метки начала программы...
life4hack
Почитай учебники Зубкова, Юрьева или Финогенова...
----- DREAMS CALL US | Сообщение посчитали полезным: |
Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник
|
Создано: 01 июля 2006 23:21 · Поправил: Bitfry · Личное сообщение · #11
life4hack
Рекомендую:
- Сразу писать под FASM, это удобно и просто для таких примеров.
- Комментируй каждую строку в исходнике для лучшего понимания.
- Не забивай себе голову командой loop, логику циклов через неё понять трудно. Кроме того, на практике от loop почти отказались.
FASM брать здесь: flatassembler.net/
Компилить пример из командной строки: "fasm loop1.asm".
Вот как может выглядеть этот пример под FASM:
1bce_01.07.2006_CRACKLAB.rU.tgz - loop1.asm
----- Всем привет, я вернулся | Сообщение посчитали полезным: |
Ранг: 271.5 (наставник), 12thx Активность: 0.15↘0 Статус: Участник Packer Reseacher
|
Создано: 01 июля 2006 23:21 · Поправил: theCollision · Личное сообщение · #12
life4hack
Настоятельно рекомендую купить Ю.Магда "Ассемблер для процессоров Intel Pentium" На многое откроет глаза.
1м делом Скачать и читать рассылку "Низкоуровневое программирование это просто" - [url=http://www.wasm.ru
]www.wasm.ru
[/url]
2м делом читать Зубкова, но я читал Питера Абеля, одну из них комбинировал с Робертом Джордейн www.ya.ru http://www.ya.ru знает таких людей и книги выдаст ихние
А вообще, купи\скачай отладчик Самый лучший учитель
ЗЫ:
Вопрос тебе "На черта надо ставить org 100h ?"
----- My love is very cool girl. | Сообщение посчитали полезным: |
Ранг: 450.1 (мудрец) Активность: 0.26↘0 Статус: Участник
|
Создано: 02 июля 2006 00:27 · Личное сообщение · #13
это не вопрос по программированию, в сочетании с реверсингом тем более
тема закрыта
| Сообщение посчитали полезным: |