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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 08:58   #1
Celestia
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 68
Восклицание Копирование участка памяти

Здравствуйте! Как лучше реализовать копирование участка памяти на ассемблере? Пример: я перехожу в анрил режим, гружу файл с диска в память по адресу 9000h и затем переношу его по адресу 200000h.

mov esi, 9000h ; -откуда
mov edi, 200000h ; -куда
mov ecx, 58 ; -размер
rep movsd

Почему то не работает(

вот код перехода в анрил режим:

http://wiki.osdev.org/Unreal_Mode

вот код тестового бинарника, который загружаю(он работает нормально если запускаю с адреса по которому его загрузил, естественно я меняю на org 9000 перед этим):

Код:
[ORG 0x200000]

[BITS 16]

st:


   
cli
mov ax,cs
mov ds,ax
sti
mov ah,14
xor bl,bl

mov bx,tex
.strt:
mov al,[bx]

test al,al
jz .exit_

inc bx
int 10h
jmp .strt


.exit_:
   mov bx, 0x0f01         ; attrib/char of smiley
   mov eax, 0x0b8000      ; note 32 bit offset
   mov word [ds:eax], bx
cli
jmp $

tex db 0Ah,'TST is working!',0Dh,0

Спасибо)
Celestia вне форума Ответить с цитированием
Старый 21.02.2011, 09:18   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Celestia
А чему равно содержимое ES? Ведь MOVSD это DS:[ESI]->ES:[EDI] EDI=EDI+4 ESI=ESI+4 может быть не там смотришь?
Mikl___ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка участка матрицы random7 Общие вопросы C/C++ 7 23.06.2010 08:13
Паскаль выделение участка массива Brian Spilner Помощь студентам 6 10.05.2010 13:51
узнать время работы отдельного участка программы H'orn Общие вопросы .NET 7 10.03.2010 10:10
Копирование участка текста из Экселя в Ворд Devourer12345 Microsoft Office Excel 3 30.07.2008 08:13