Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: i8080/8085/KP580
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Ligeros
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 87
1

(К1810ВМ86) Циклический сдвиг 4-х байтного кода

15.12.2015, 23:19. Просмотров 795. Ответов 7
Метки нет (Все метки)

Здравствуйте, столкнулся с ЭВМ УМПК-86. Было дано задание создать алгоритм, но как-то с машинным кодом не бум бум у меня. Помогите чем сможете, пожалуйста. Задание таково: Произвести циклический сдвиг четырехбайтного кода, находящегося по адресу 00500h. Сдвигать на число разрядов, записанное в дополнительном коде по адресу 00504h. Положительное число сдвигов означает направление сдвигов – влево; отрицательное число сдвигов обозначает направление сдвигов – вправо. Результат записать по адресу 00600h. Заранее спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2015, 23:19
Ответы с готовыми решениями:

Циклический сдвиг masm32
Как с помощью циклического сдвига из 3333h получить 2222h? Ведь 3333h = 11001100110011, а 2222h =...

Циклический сдвиг элементов массива
Нужна помощь! Задача легкая могу реализовать на паскале или С++, но нужно на ассемблере Данный...

Циклический сдвиг элементов массива
Данный массив размера N и число к (0 < к < 5, к < "N)." Осуществить циклический сдвиг элементов...

Циклический сдвиг на Ассемблере микропроцессора КР580ВМ80А
Здравствуйте! Пожалуйста, помогите с задачей на Ассемблере! Содержание такое: "X - 8-битный код,...

Циклический сдвиг влево на один разряд
Здравствуйте, помогите пожалуйста разобрать задачу на Ассемблере. Содержание таково: Произвести...

7
alexcoder
2012 / 721 / 150
Регистрация: 03.06.2009
Сообщений: 4,518
Завершенные тесты: 1
16.12.2015, 13:34 2
Пишите на любом ассемблере, компилируете как сом-файл и готово.
0
Ligeros
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 87
16.12.2015, 22:37  [ТС] 3
alexcoder, Я до этого тоже работал с циклическим сдвигом на 8080 процессоре.
Использовал данный код
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
lxi h,0900
  lda 0a00
  mov c,a
  dcr c
  mvi b,00
  dad b
  inr c
  push h
  xra a
Label1:
  mov a,m
  ral
  mov m,a
  dcx h
  dcr c
  jnz Label1
  pop h
  mov a,m
  aci,00
  mov m,a
у меня же получается тоже сделать и для циклического сдвига вправо, только обозначив если будет отрицательное число сдвигов?

Добавлено через 7 часов 34 минуты
А можете кинуть пример, пожалуйста? Просто так сложилось, что наш курс ассемблера оказался несколько укороченным, в сравнении с тем, что хотят и я просто много не знаю
0
alexcoder
2012 / 721 / 150
Регистрация: 03.06.2009
Сообщений: 4,518
Завершенные тесты: 1
16.12.2015, 23:08 4
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
.model tiny
.code
.startup
    mov ax,ds:[500h]
    mov ds:[600h],ax
    mov ax,ds:[502h]
    mov ds:[602h],ax
    mov cl,ds:[504h]
    mov ch,0
    test al,al
    js right
    jcxz ex
l1: mov ax,ds:[600h]
    rcl ax,1
    rcl word ptr ds:[602h],1
    rcl word ptr ds:[600h],1
    loop l1
    jmp ex
right:  neg cx
l2: mov ax,ds:[600h]
    rcr ax,1
    rcr word ptr ds:[602h],1
    rcr word ptr ds:[600h],1
    loop l2
ex: ret
 
end
1
16.12.2015, 23:08
Ligeros
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 87
16.12.2015, 23:17  [ТС] 5
alexcoder, Спасибо огромное

Добавлено через 2 минуты
alexcoder, А не подскажите еще на каком компиляторе ее лучше запустить? TurboAssembler подойдет?
0
alexcoder
2012 / 721 / 150
Регистрация: 03.06.2009
Сообщений: 4,518
Завершенные тесты: 1
16.12.2015, 23:18 6
Пардон, досмотрел ошибку
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
.model tiny
.code
.startup
    mov ax,ds:[500h]
    mov ds:[600h],ax
    mov ax,ds:[502h]
    mov ds:[602h],ax
    mov cl,ds:[504h]
    mov ch,0
    test cx,cx
    js right
    jcxz ex
l1: mov ax,ds:[600h]
    rcl ax,1
    rcl word ptr ds:[602h],1
    rcl word ptr ds:[600h],1
    loop l1
    jmp ex
right:  neg cx
l2: mov ax,ds:[600h]
    rcr ax,1
    rcr word ptr ds:[602h],1
    rcr word ptr ds:[600h],1
    loop l2
ex: ret
 
end
да, подойдет
1
Ligeros
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 87
17.12.2015, 10:45  [ТС] 7
alexcoder, спасибо большое

Добавлено через 11 часов 23 минуты
alexcoder, прошу прощения, но у меня видимо дико кривые руки. Пытаюсь сделать COM файл, но после сборки программы он не создается, хотя делаю все, что нужно
0
Ligeros
1 / 1 / 0
Регистрация: 06.11.2013
Сообщений: 87
19.12.2015, 19:43  [ТС] 8
На случай, если кому-то понадобится именно машинный код

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
0100     A1 00 05   mov ax, ds:[500h]
 
0103     A3 00 06   mov ds:[600h], ax
 
0106     A1 02 05   mov ax,ds:[502h]
 
0109     A3 02 06   mov ds:[602h],ax
 
010С     8A 0E 04 05    mov cl,ds:[504h]
 
0110     B5 00  mov ch,0
 
0112     85 C9  test cx,cx
 
0114     78 14  js right
 
0116     E3 23  jcxz ex
 
0118     A1 00 06   l1: mov ax,ds:[600h]
 
011B     D1 D0  rcl ax,1
 
011D     D1 16 02 06    rcl word ptr ds:[602h],1
 
0121     D1 16 00 06    rcl word ptr ds:[600h],1
 
0125     E2 F1  loop l1
 
0127     EB 12  jmp ex
 
0129     90        NOP
 
012A   F7 D9    right:  neg cx
 
012C     A1 00 06   l2: mov ax,ds:[600h]
 
012F    D1 D8   rcr ax,1
 
0131    D1 1E 02 06 rcr word ptr ds:[602h],1
 
0135    D1 1E 00 06 rcr word ptr ds:[600h],1
 
0139     E2 F1  loop l2
 
013B     C3       ex: ret
0
19.12.2015, 19:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2015, 19:43

ассемблерная вставка в Delphi Циклический сдвиг элементов в массиве.
задание: написать ассемблерную вставку для Delphi программы циклический сдвиг элементов в массиве.

Произвести циклический сдвиг вправо 8-байтового кода
Доброго времени суток! Дали вот такое задание "Произвести циклический сдвиг вправо 8-байтового...

Циклический сдвиг
Осуществите циклический сдвиг компонент заданного вектора A(N) вправо на две позиции, то есть...


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

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

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