Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2012, 16:42   #1
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию Объясните ламеру

Язык ассемблер начал изучать несколько дней назад и ничего еще не понимаю. Сильно не ругайтесь.
У меня вот такой вопрос. По книге написал маленькую программу в debug
и сохранил на диске. Размер программы 13 байт (то, что введено в CS)
Код:
E DS:0000 25 15 00 00
E CS:0100 A0 00 00 D0 E0 F6 26 01 00 A3 02 00 CB
N C:\TRIAL.COM
R CX
CX 0000
D
W
запись 000D байт
Код:
MOV AL,[0000]
SHL AL,1
MUL BYTE PTR [0001]
MOV [0002],AX
RETF

Я никак не могу понять где храняться сами данные. Открыл через IDA, но там только код. Имею ввиду где найти вот эти числа 25 15 00 00 которые вводил в DS?

Последний раз редактировалось lotus1994; 12.02.2012 в 16:46.
lotus1994 вне форума Ответить с цитированием
Старый 12.02.2012, 17:02   #2
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию

В debug дамп памяти можно посмотреть через D DS:0 а как это можно сделать в IDA?
lotus1994 вне форума Ответить с цитированием
Старый 13.02.2012, 04:16   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

lotus1994
Код:
E CS:0100 A0 00 00 D0 E0 F6 26 01 00 A3 02 00 CB
 . . .
запись 000D байт
0D hex=13 dec от A0 до CB 13 байтов, сегмент данных не записался. СОМ-файл содержит только сегмент данных, может быть стоило создать ЕХЕ-файл?
Mikl___ вне форума Ответить с цитированием
Старый 13.02.2012, 12:29   #4
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию

Спасибо Mikl___. Буду пытать что-то делать. Хотя .EXE файлы я еще не умею создавать.
Вообще-то задание было такое что именно в debug нужно было написать небольшую программу и сохранить ее. А вот как правильно это сделать я так и не знаю. Чтобы в ней были и данные и код. На ассемблере я еще не программировал.
Но все равно спасибо за помощь.
lotus1994 вне форума Ответить с цитированием
Старый 15.02.2012, 20:43   #5
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Цитата:
MOV AL,[0000]
SHL AL,1
MUL BYTE PTR [0001]
MOV [0002],AX
RETF
судя по всему, это отрывок функции (которая не будет работать на windows).
Вот что это за адрес AL,[0000]?

AL = *(BYTE*)(0x0000) - жесть... Досами не пользуюсь, они не кчемные .... И отладчики это костели, который без них не может идти человек (повесить отладчик на RenderWare потом я посмотрю как он поможет...

Последний раз редактировалось VintProg; 15.02.2012 в 20:47.
VintProg вне форума Ответить с цитированием
Старый 15.02.2012, 20:46   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
судя по всему, это отрывок функции (которая не будет работать на windows).
видно что это COM-файл, а не Win32PE.
Цитата:
Вот что это за адрес AL,[0000]?
начало сегмента данных(по ds)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.02.2012, 20:48   #7
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

А зачем нужен com файл, а наше время?
VintProg вне форума Ответить с цитированием
Старый 15.02.2012, 20:50   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)учиться основам там проще.
2)еще для многого.
3)это другой вопрос.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.02.2012, 20:56   #9
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

я с таких вешей начинал вроде проще:

Код:
.text:0048DFB0 000 8B 44 24 04                                         mov     eax, [esp+Filename]
.text:0048DFB4 000 8B 4C 24 10                                         mov     ecx, [esp+Mode]
.text:0048DFB8 000 53                                                  push    ebx
.text:0048DFB9 004 56                                                  push    esi
.text:0048DFBA 008 55                                                  push    ebp
.text:0048DFBB 00C 51                                                  push    ecx             ; Mode
.text:0048DFBC 010 50                                                  push    eax             ; Filename
.text:0048DFBD 014 8B 5C 24 1C                                         mov     ebx, [esp+14h+buf]
.text:0048DFC1 014 E8 EA 46 1C 00                                      call    _fopen
.text:0048DFC6 014 89 C6                                               mov     esi, eax
.text:0048DFC8 014 59                                                  pop     ecx
.text:0048DFC9 010 85 F6                                               test    esi, esi
.text:0048DFCB 010 59                                                  pop     ecx
.text:0048DFCC 00C 75 07                                               jnz     short loc_48DFD5
.text:0048DFCE 00C 83 C8 FF                                            or      eax, -1
.text:0048DFD1 00C 5D                                                  pop     ebp
.text:0048DFD2 008 5E                                                  pop     esi
.text:0048DFD3 004 5B                                                  pop     ebx
.text:0048DFD4 000 C3                                                  retn
VintProg вне форума Ответить с цитированием
Старый 15.02.2012, 20:59   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Вы не находите что здесь это не обсуждалось?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ламеру разобратся с RAV отчетом zidane007_06 Компоненты Delphi 0 27.04.2011 15:50
Пмощь ламеру zorins Помощь студентам 3 28.12.2010 20:41
Помогите ламеру с Edit Mozgunov Общие вопросы Delphi 13 20.09.2007 10:58