|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.03.2008, 12:45 | #1 |
Регистрация: 03.03.2008
Сообщений: 7
|
Сохранение дампа памяти
Помогите плиз!!!
Как сохраненить дамп памяти строки? |
03.03.2008, 13:24 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну я чесно пытался понять что значит " дамп памяти строки" и решил что тебе просто нужно сделать обычный дамп данных, которые как ты считаеш формируют ASCIIZ строку. Ну открой отладчик типа Олли и сдампируй в файл данные.
Еще вариант АртМани.
I'm learning to live...
|
03.03.2008, 13:41 | #3 |
Регистрация: 03.03.2008
Сообщений: 7
|
Мне нужно что-бы не я, апрога сама копировала этот дамп в файл.
|
03.03.2008, 13:44 | #4 |
Регистрация: 03.03.2008
Сообщений: 7
|
Задание такое:
Разработать резедентную программу, которая при инициализации с клавиатуры читает с экрана строку символов, на кот. указывает курсор, ищет в памяти область, содержащую данный текст и выводит в файл дамп памяти определенного размера. |
03.03.2008, 14:55 | #5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Polg, вот Вам информация для размышления:
--------------------------------------------- INT 10 - VIDEO - SET CURSOR POSITION AH = 02h DH,DL = row, column (0,0 = upper left) BH = page number 0 in graphics modes 0-3 in modes 2&3 0-7 in modes 0&1 SeeAlso: AH=03h --------------------------------------------- INT 10 - VIDEO - READ CURSOR POSITION AH = 03h BH = page number 0 in graphics modes 0-3 in modes 2&3 0-7 in modes 0&1 Return: DH,DL = row,column CH = cursor start line CL = cursor end line --------------------------------------------- INT 10 - VIDEO - READ ATTRIBUTES/CHARACTER AT CURSOR POSITION AH = 08h BH = display page Return: AL = character AH = attribute of character (alpha modes) --------------------------------------------- INT 10 - VIDEO - SELECT DISPLAY PAGE AH = 05h AL = display page 0-7 for modes 0 & 1 0-3 for modes 2 & 3 --------------------------------------------- INT 10 - VIDEO - GET CURRENT VIDEO MODE AH = 0Fh Return: AH = number of columns on screen AL = current video mode (see INT 10/AH=00h) BH = current active display page Note: if mode was set with bit 7 set ("no blanking"), the returned mode will also have bit 7 set --------------------------------------------- INT 21 - DOS 2+ - TERMINATE BUT STAY RESIDENT AH = 31h AL = exit code DX = program size, in paragraphs Note: most TSRs can save some memory by releasing their environment block before terminating (see AH=26h) SeeAlso: INT 22, INT 27 --------------------------------------------- INT 21 - DOS 2+ - CREATE A FILE WITH HANDLE (CREAT) AH = 3Ch CX = attributes for file bit 0: read-only 1: hidden 2: system 3: volume label (ignored) 4: reserved, must be zero (directory) 5: archive bit 7: if set, file is shareable under Novell NetWare DS:DX -> ASCIZ filename (may include drive and path) Return: CF set on error AX = error code (03h,04h,05h) (see AH=59h) CF clear if successful AX = file handle Note: if a file with the given name exists, it is truncated to zero length --------------------------------------------- INT 21 - DOS 2+ - OPEN DISK FILE WITH HANDLE AH = 3Dh AL = access mode 00h read only 01h write only 02h read/write AL bits 7-3 = file-sharing modes (DOS 3+) bit 7 = inheritance flag, set for no inheritance bits 4-6 = sharing mode 000 compatibility mode 001 exclusive (deny all) 010 write access denied (deny write) 011 read access denied (deny read) 100 full access permitted (deny none) 111 used internally by SHARE bit 3 = reserved, should be zero DS:DX -> ASCIZ filename Return: CF set on error AX = error code (01h,02h,03h,04h,05h,0Ch) (see AH=59h) CF clear if successful AX = file handle Notes: file pointer is set to start of file file handles which are inherited from a parent also inherit sharing and access restrictions SeeAlso: AH=0Fh,3Ch, INT 2F/AX=1226h --------------------------------------------- INT 21 - DOS 2+ - CLOSE A FILE WITH HANDLE AH = 3Eh BX = file handle Return: CF set on error AX = error code (06h) (see AH=59h) CF clear if successful Note: if the file was written to, the time and date stamps are set to the current time SeeAlso: AH=10h,3Ch,3Dh, INT 2F/AX=1106h,1227h --------------------------------------------- INT 21 - DOS 2+ - WRITE TO FILE WITH HANDLE AH = 40h BX = file handle CX = number of bytes to write DS:DX -> buffer Return: CF set on error AX = error code (05h,06h) (see AH=59h) CF clear if successful AX = number of bytes actually written Notes: if CX is zero, no data is written, and the file is truncated or extended to the current position the usual cause for AX < CX on return is a full disk SeeAlso: AH=28h,3Fh, INT 2F/AX=1109h --------------------------------------------- INT 21 - DOS 2+ - MOVE FILE READ/WRITE POINTER (LSEEK) AH = 42h AL = method 00h offset from beginning of file 01h offset from present location 02h offset from end of file BX = file handle CX:DX = offset in bytes Return: CF set on error AX = error code (01h,06h) (see AH=59h) CF clear if successful DX:AX = new absolute offset from beginning of file SeeAlso: AH=24h, INT 2F/AX=1228h Кроме того, можно воспользоваться тем, что страницы EGA/VGA "лежат" по адресам B000h:0000h через каждые четыре килобайта. (Правда здесь могу ошибиться в цифрах, давно дело было ) Прерывания перехватывать под ДОСом умеете? |
03.03.2008, 14:58 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Не понял. эт че прям для Виндовса или под ДОС нужно?
И что за курсор, мышы что-ли? А еще, если под ДОС то мона прям из видеопамяти считывать, лично мне это больше нравится (под ДОСом).
I'm learning to live...
Последний раз редактировалось Stilet; 03.03.2008 в 15:06. |
04.03.2008, 04:51 | #7 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 29
|
Это ДОСовские функции, а курсор имеется в виду курсор ввода... такая маленькая мигающая полоска А для винды запаришься такое делать, не так то просто залезть в память другого процесса
P.S. B_N - мне почему-то помнится адрес $B800:$0000... Хотя, может, и ошибаюсь
Быстро пойманный эксепшн исключением не считается
|
04.03.2008, 08:22 | #8 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
04.03.2008, 08:29 | #9 |
Регистрация: 03.03.2008
Сообщений: 7
|
Прерывания перехватывать под ДОСом не умею
|
04.03.2008, 08:34 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Пардон, так всетки нужно под ДОСом это делать или в Винде?
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тренажор памяти 0.1 | Манжосов Денис :) | Софт | 4 | 28.07.2008 14:11 |
Чистка памяти | Shouldercannon | Общие вопросы Delphi | 2 | 18.07.2008 11:28 |
Висение в памяти | xTANATOSx | Общие вопросы Delphi | 1 | 29.09.2007 01:02 |
Кол-во оперативной памяти | Квэнди | Win Api | 2 | 25.07.2007 13:27 |