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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2008, 12:45   #1
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
Вопрос Сохранение дампа памяти

Помогите плиз!!!
Как сохраненить дамп памяти строки?
Polg вне форума Ответить с цитированием
Старый 03.03.2008, 13:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я чесно пытался понять что значит " дамп памяти строки" и решил что тебе просто нужно сделать обычный дамп данных, которые как ты считаеш формируют ASCIIZ строку. Ну открой отладчик типа Олли и сдампируй в файл данные.
Еще вариант АртМани.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2008, 13:41   #3
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
По умолчанию

Мне нужно что-бы не я, апрога сама копировала этот дамп в файл.
Polg вне форума Ответить с цитированием
Старый 03.03.2008, 13:44   #4
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
По умолчанию

Задание такое:
Разработать резедентную программу, которая при инициализации с клавиатуры читает с экрана строку символов, на кот. указывает курсор, ищет в памяти область, содержащую данный текст и выводит в файл дамп памяти определенного размера.
Polg вне форума Ответить с цитированием
Старый 03.03.2008, 14:55   #5
B_N
Новичок
Джуниор
 
Регистрация: 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 через каждые четыре килобайта. (Правда здесь могу ошибиться в цифрах, давно дело было ) Прерывания перехватывать под ДОСом умеете?
B_N вне форума Ответить с цитированием
Старый 03.03.2008, 14:58   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не понял. эт че прям для Виндовса или под ДОС нужно?
И что за курсор, мышы что-ли?

А еще, если под ДОС то мона прям из видеопамяти считывать, лично мне это больше нравится (под ДОСом).
I'm learning to live...

Последний раз редактировалось Stilet; 03.03.2008 в 15:06.
Stilet вне форума Ответить с цитированием
Старый 04.03.2008, 04:51   #7
Vincent
Пользователь
 
Аватар для Vincent
 
Регистрация: 02.02.2007
Сообщений: 29
По умолчанию

Это ДОСовские функции, а курсор имеется в виду курсор ввода... такая маленькая мигающая полоска А для винды запаришься такое делать, не так то просто залезть в память другого процесса
P.S. B_N - мне почему-то помнится адрес $B800:$0000... Хотя, может, и ошибаюсь
Быстро пойманный эксепшн исключением не считается
Vincent вне форума Ответить с цитированием
Старый 04.03.2008, 08:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это ДОСовские функции,
Во-первых я понял, а во-вторых не все.
Цитата:
а курсор имеется в виду курсор ввода
Ну откуда мне было знать, то я и те и те задачи видел, вот и подумал что мало ли что нужно автору.
Цитата:
не так то просто залезть в память другого процесса
Не так уж и сложно. Вспомни хотябы АртМани.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.03.2008, 08:29   #9
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
По умолчанию

Прерывания перехватывать под ДОСом не умею
Polg вне форума Ответить с цитированием
Старый 04.03.2008, 08:34   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пардон, так всетки нужно под ДОСом это делать или в Винде?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тренажор памяти 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