Сейчас на форуме: vsv1, _MBK_ (+3 невидимых)

 eXeL@B —› Вопросы новичков —› помотрите листинг плиз
Посл.ответ Сообщение

Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 12:11
· Личное сообщение · #1

Тут все такие уьные вопросы задают, но хотелось все же узнать, что за хрень вот тут:
Open segments: Microsoft (R) Macro Assembler Version 5.10 8/16/7
Page 1-1



CODE . . . . . . . . . . . . . .
Microsoft (R) Macro Assembler Version 5.10 8/16/7
Page 1-1


0000 code segment
assume CS: code
0000 start:
0000 BB 0133 mov bx, 133h
0003 C7 07 636E mov dword ptr [bx],'jcnj'
12.ASM(5): warning A4057: Illegal size for operand - вот тут
0007 8B DA mov bx, dx
0009 B4 09 mov ah,9h
000B CD 21 int 21h
000D B4 10 mov ah, 10h
000F CD 16 int 16h
0011 CD 20 int 20h
end start
Open segments:
CODE . . . . . . . . . . . . . .
Microsoft (R) Macro Assembler Version 5.10 8/16/7
Symbols-1


Segments and Groups:

N a m e Length Align Combine Class

CODE . . . . . . . . . . . . . . 0000 PARA NONE

Symbols:

N a m e Type Value Attr

START . . . . . . . . . . . . . L NEAR 0000 CODE

@CPU . . . . . . . . . . . . . . TEXT 0101h
@FILENAME . . . . . . . . . . . TEXT _12
@VERSION . . . . . . . . . . . . TEXT 510


12 Source Lines
12 Total Lines
7 Symbols

46972 + 440160 Bytes symbol space free

1 Warning Errors
1 Severe Errors

почему это иллегал сайз, другие не подходят вроде бы(




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 16 августа 2007 12:59
· Личное сообщение · #2

Not defined пишет:
0003 C7 07 636E mov dword ptr [bx],'jcnj'

регистр 16 бит, а адрес 32..

-----
invoke OpenFire




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 15:05
· Личное сообщение · #3

спасибо, особенно за оперативность



Ранг: 21.1 (новичок)
Активность: 0.030
Статус: Участник

Создано: 16 августа 2007 15:07 · Поправил: Satyr
· Личное сообщение · #4

Ice-T пишет:
регистр 16 бит, а адрес 32..


mov dword ptr [bx],'jcnj' ;в данном случае в bx содержится только указатель, а не сама переменная, так что дело наверно в размере константы?




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 16 августа 2007 15:20
· Личное сообщение · #5

16 битные регистры нельзя эзоть с 32 битными адресаме (c) masm32

-----
invoke OpenFire




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 15:31
· Личное сообщение · #6

так, теперь еще вопрос:

code segment
assume CS: code
start:

mov ah, 9h
mov dx, offset String
int 21h

mov ah, 10h
int 16h

mov ax, 4c00h
int 21h

String db 'asfjl...$'

code ends
end start
Собственно, почему кроме сообщения еще какая-то фигня выдается?



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 15:33
· Личное сообщение · #7

Вот, собственно, проблема

427b_16.08.2007_CRACKLAB.rU.tgz - 13.EXE




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 16 августа 2007 15:39
· Личное сообщение · #8

Not defined бросьте вы, изучайте win32

-----
invoke OpenFire




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 15:54
· Личное сообщение · #9

Не, просто интересно, чуть не убил себя апстену, да и начинать все-равно с дос нужно, думаю



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 16:03
· Личное сообщение · #10

ЕПТ, Забыл указать, что это ком файл, тогда он спокойно работает, сорри



Ранг: 75.0 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 16 августа 2007 17:00
· Личное сообщение · #11

Not defined пишет:
Собственно, почему кроме сообщения еще какая-то фигня выдается?


А что, ноль уже отменили?
String db 'asfjl...$',0




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 16 августа 2007 17:19
· Личное сообщение · #12

Rush пишет:
String db 'asfjl...$',0

Жжошь. Это ком, терминатор не ноль, а $.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 16 августа 2007 17:20
· Личное сообщение · #13

Not defined
Млин, а слабо после int 21h вызвать еще int 20h? Ессесно, программу не завершил и удивляешься, почему хня выдается.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 16 августа 2007 17:31
· Личное сообщение · #14

Crawler пишет:
Млин, а слабо после int 21h вызвать еще int 20h

тоже жжошь))

-----
invoke OpenFire





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 16 августа 2007 17:44
· Личное сообщение · #15

Ice-T
Я не жгу, ибо так и есть.
Вот эта хня:
String db 'asfjl...$'
Если нет int 20h, она исполняется как код. Не веришь, загрузи, открой какой-нибудь турбодебаггер и проверь.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 16 августа 2007 18:16
· Личное сообщение · #16

Crawler
Not defined пишет:
ЕПТ, Забыл указать, что это ком файл, тогда он спокойно работает, сорри


-----
invoke OpenFire





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 16 августа 2007 20:43
· Личное сообщение · #17

Ice-T
Хм... Видимо, вы все же незнакомы с данным видом программирования, как и автор ).

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 16 августа 2007 21:20
· Личное сообщение · #18

Очередной флудотопег с выяснением отношений? ;)

-----
Security through obscurity is just an illusion




Ранг: 1.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 августа 2007 21:26
· Личное сообщение · #19

Могу порекомендовать В.И.Юров Assembler

Не флудите, посмотрите луче сюда http://www.exelab.ru/f/action=vthread&forum=5&topic=9681



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 августа 2007 08:21
· Личное сообщение · #20

автор действительно очень и очень слабо знаком программированием на асме, поэтому и спрашивал.
Crawler пишет:
Not defined
Млин, а слабо после int 21h вызвать еще int 20h? Ессесно, программу не завершил и удивляешься, почему хня выдается.

А разве нельзя использовать
mov ax, 4c00h
int 21h
а то при двадцатом прерывании иногда какая-то фигня получается




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 17 августа 2007 08:23
· Личное сообщение · #21

Crawler нам просто влом компелировать 16 битную программу и смотреть что там происходет с данными.. но если вы откомпелировале и убедились, что дело обстоит именно так, как вы говорите, то не стану спореть с ваме... практека все же решает..

-----
invoke OpenFire





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 17 августа 2007 15:30 · Поправил: Crawler
· Личное сообщение · #22

Вот как я потестил, чтобы не компилировать всяким отстоем:
cmd->debug

-a 0100
13A7:0100 mov ah,9
13A7:0102 mov dx, 0109
13A7:0105 int 21h
13A7:0107 int 20h
13A7:0109 db 'asfjl...$'

-rcx
CX 0000
:12
-n xep.com
-w
Запись 00012 байт
-g
asfjl...
Программа завершилась нормально


-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 17 августа 2007 15:37
· Личное сообщение · #23

А если написать так, как автор хотел, и пройтись затем по t, то станет ясно, что данные интерпретируются как код. Вот и вся ботва.

Not defined пишет:
А разве нельзя использовать
mov ax, 4c00h
int 21h


Хм =) Я слишком молод, чтобы помнить все возможности 21-ого прерывания )). Я 20-м всегда пользовался.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 18 августа 2007 02:17
· Личное сообщение · #24

> чтобы не компилировать всяким отстоем:

-a 100
DEAD:0100 push ax
DEAD:0101 push eax
^ ошибка

> Not defined пишет:
> А разве нельзя использовать

Можно разумеется. Обычно так и делают, сразу отдавая код возврата. А в com прогах вообще можно за один байт вернуццо.

-----
The one derivative you manage is the one I abhore (c) Slipknot



 eXeL@B —› Вопросы новичков —› помотрите листинг плиз
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати