IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Сегменты данных., Пересылка строк побайтно(MOVSB) находящихся в разных сегментах данных.
dron4ik
сообщение 24.10.2009 20:40
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Всем привет. Цель задания: В одном сегменте данных находиться строка из 12 символов к примеру 1,2,3,3,4... и в другом сегменте данных находится др строка из 12 символов к примеру А , В , С , К, П... Нужно переслать их между собой побайтно командой MOVSB.
сделал но программа..что то делает не то..


DAdata1 segment 'Data'
Before db 'Ishodnaia stroka: ',0Ah,0Dh,'$'
After db 'Preobrazovannaia stroka: ',0Ah,0Dh,'$'
Source db '12345678',0Ah,0Dh,'$'

DAdata1 ends
DAdata2 segment 'Data'
Dest db 'ABCDEFGH',0Ah,0Ah,0Dh,'$'
DAdata2 ends

DAstack segment 'Stack' stack
emptyspace dw 0,0,0,0
dw 256 dup(0)
DAstack ends

DAcode segment 'Code'
main proc
StartPoint:
assume cs: DAcode,ss: DAstack,ds: DAdata1,es: DAdata2

mov ax, DAdata1
mov ds, ax
mov ah, 09h
lea dx, Before
int 21h
lea dx, Source
int 21h
mov ax, DAdata2
mov ds, ax
mov ah, 09h
lea dx, Dest
int 21h

mov ax, DAdata1
mov ds, ax
lea si, Source+7
mov ax, DAdata2
mov es, ax
lea di, Dest+7
std ; cld
mov cx,4
rep movsb
mov ah, 09h
lea dx, After
int 21h
lea dx, Source
int 21h
mov ax, DAdata2
mov ds, ax
mov ah, 09h
lea dx, Dest
int 21h

MOV AX, 4C00H
Int 21H

Main EndP
DACode ends
End StartPoint
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
dron4ik
сообщение 24.10.2009 22:33
Сообщение #2


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


std добавить? a второй rep movsb куда нужно добавить?

Добавлено через 1 мин.
извините((ну вот я незнаю как сделать пересылку из второй в первую((

Добавлено через 4 мин.
первую легко во вторую переслать а вот вторую в первую...((

вот что у меня выходит на экране

Добавлено через 3 мин.
я пробовал делать операцию пересссылки второй строки на первую (с точностью наоборот) послеоперации перессылки первой во вторую.. то уменя начинает пищат динамик на пк и какие то не понятные символы выходят..


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 1.08.2025 4:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"