Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Vitalikkk
0 / 0 / 0
Регистрация: 13.09.2015
Сообщений: 11
1

Пересылка элементов исходного массива

14.01.2016, 14:56. Просмотров 284. Ответов 4
Метки нет (Все метки)

Доброго времени суток!
нужна программа, похожую, к сожалению, не нашел, которая осуществляет пересылку элементов
исходного массива (символьной строки s1) в другую область памяти
(второй символьной строки s2), изменяя их порядок.
Порядок элементов в строке s2 по отношению к строке s1:
3-2-1-8-7-6-5-4
То есть, предусматривается перенос 1-го элемента строки s1 в 3-й
элемент строки s2, 2-й - в 2-й, 3-й - в 1-й и т.д.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 14:56
Ответы с готовыми решениями:

Пересылка элементов из одного массива в другой
Задание: Написать программу пересылки массива байтов длиною 256 элементов к...

Построить новый массив, элементы которого равны разности максимума и элементов исходного массива
Дан массив целых чисел: 17, -5, 3, -12, 24, 78, 61, 73, -9, 13. По данному...

Пересылка элементов массива
Добрый вечер. Задача: Дан одномерный массив A(n).Переслать в массив B(n) его...

Пересылка массива слов. Ассемблер, tasm
Изменить данную программу в программу для пересылки массива слов. sseg...

Построить массив В путем вычитания максимального значения исходного массива А из соответветствующего элемента этого массива
идет экзаем очень нужно... дан одномерный массив А из N элементов. По данному...

4
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
14.01.2016, 18:40 2

Не по теме:


мне тоже нужно определить серийник принтера


..где твои попытки?
0
Vitalikkk
0 / 0 / 0
Регистрация: 13.09.2015
Сообщений: 11
15.01.2016, 15:00  [ТС] 3
Нету, поскольку не знаю как ее сделать(
поэтому обратился сюда за помощью, хоть какой то
может какие-то похожие примеры есть, чтобы я посмотрел и может дальше сам сделал
0
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,511
Записей в блоге: 5
15.01.2016, 16:58 4
Пример окна:
Код
Create array: 9871234567890000
Result......: 7890000987654321
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
ORG 100h
JMP start
 
mess0   DB  13,10,'Create array: $'
mess1   DB  13,10,'Result......: $'
input   DB  80,0,80 DUP(0)     ; входной буфер
output  DB  80 DUP(0)          ; выходной буфер
 
start:
   MOV   AH,9              ;
   MOV   DX,mess0          ;
   INT   21h               ;
   MOV   AH,0Ah            ; сохраняем массив
   MOV   DX,input          ;
   INT   21h               ;
   MOV   AH,9              ;
   MOV   DX,mess1          ;
   INT   21h               ;
 
   MOV   CX,3              ; сохраняем первые/три элемента
   MOV   SI,input+4        ; источник
   MOV   DI,output         ; приёмник
@1:
   MOV   AL,BYTE[SI]       ; берём байт из SI
   MOV   BYTE[DI],AL       ; записываем его в DI
   DEC   SI                ; уменьшаем источник
   INC   DI                ; увеличиваем приёмник
   LOOP  @1                ;
 
   XOR   CX,CX             ;
   MOV   CL,[input+1]      ; длина массива в CX
   ADD   SI,CX             ; перемещаемся в конец массива
   SUB   CX,3              ; уменьшаем длину на 3
@2:
   MOV   AL,BYTE[SI]       ;
   MOV   BYTE[DI],AL       ; записываем все байты в DI
   DEC   SI                ;
   INC   DI                ;
   LOOP  @2                ;
 
   MOV   SI,output         ; подготовка к выводу..
@3:
   LODSB                   ; берём байт из SI
   OR    AL,AL             ; последний элемент выходного массива?
   JE    exit              ;
   INT   29h               ; выводим символ на экран
   JMP   @3                ;
 
exit:
   XOR   AX,AX             ; полный аборт!
   INT   16h
   INT   20h
0
Constantin Cat
2979 / 1113 / 375
Регистрация: 28.02.2015
Сообщений: 2,451
Завершенные тесты: 1
15.01.2016, 17:00 5
Как-то так:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
model tiny
.code
org 100h
start:  mov di,1
    mov si,-1
    mov bx,1
    mov cx,3
    call    move
    mov di,2
    mov si,-2
    mov bx,5
    mov cx,5
    call    move
    mov ah,9
    lea dx,dbOut1
    int 21h
    mov ah,9
    lea dx,dbOut2
    int 21h
    xor ax,ax
    int 16h
    ret
move:   mov al,mas1[bx+si]
    mov mas2[bx+di],al
    inc si
    dec di
    loop    move
    ret
dbOut1  db  10,13
mas1    db  '12345678'
    db  '$'
dbOut2  db  10,13
mas2    db  8 dup(' ')
    db  '$'
    ret
    end start
0
15.01.2016, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2016, 17:00

Сформировать новый массив из нечетных элементов исходного, программа зацикливается
задать с Клавиатуры массив из 10 целых положительных чисел.Разрядность...

Написать процедуру преобразования исходного массива в массив с упакованным BCD форматом. Помогите!
Помогите с задачкой. в понедельник сдавать надо. Задан байтовый массив из n...

Сформировать новый массив, включив в него все неповторяющиеся элементы исходного массива
Сформировать новый массив, включив в него все неповторяющиеся элементы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru