Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
kitakun
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 2
1

Проверка на четность первых 15-ти однобайтовых чисел

05.04.2012, 17:06. Просмотров 1275. Ответов 6
Метки нет (Все метки)

Добрый вечер форумчане. Я студент заочник блаблабла... задали задание по ассемблеру, познакомился с ним сегодня и написал такую программу, по моей логике она должна произвести проверку на четность первых 15ти однобайтовых чисел и четные числа вывести через устройство 9,а нечетные через устройство 10(начальный адрес массива 0066). Проверьте пожалуйста и если я где то не прав укажите на ошибку, буду очень благодарен.
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
CSEG segment
org 0066h
 
proga:
 
      mov HL,0066h
      mov cx,15
      
      loopstarter
      
      mov ax, HL
      test ax,1
      jz chet
      out ax,10
      jmp contine
      chet
          out ax,9
          jmp contine
          
      contine
      inc HL
      loop loopstarter
      ender
CSEG ends
end proga
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 17:06
Ответы с готовыми решениями:

Проверка Деления на два (Четность Чисел)
Задача: "Найти в массиве чисел суммы элементов, индексы которых четны и нечетны и вывести эти суммы...

Проверка целых чисел на четность
Добрый день! Написал код, но допустил ошибки. Подскажите, что нужно исправить. #include <stdio.h>...

Проверить на четность сумму первых n членов последовательности Фибоначчи
День добрый. Помогите решить задачу, пожалуйста "Верно ли, что сумма первых n членов...

Определить наибольшее из двух однобайтовых чисел
В регистрах B и C находятся два одно байтовых числа. Определить большее из них и записать в...

Проверка на четность
Есть восьмизначное число, проверить входят ли в запись этого числа четные цифры. Как реализовать...

6
AFP
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
05.04.2012, 17:48 2
Нет такого регистра HL.
У меток нет ":". Смотрите синтаксис.
1
HITMAN
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,783
05.04.2012, 18:30 3
kitakun, проверить чётность числа можно так:
Assembler
1
2
3
4
mov ax,[value]
bt ax,0;если бит 0 не установлен
jc nechet; то нечётное
;чётное
1
alexcoder
1848 / 718 / 150
Регистрация: 03.06.2009
Сообщений: 4,385
Завершенные тесты: 1
05.04.2012, 23:05 4
Вообще все смешалось: кони, люди...
Нет такого регистра HL.
Есть, в i8080, и очень похоже, что задание для этого процессора. В памяти всплыла подобная формулировка и там нужно было именно под древний КР580ВМ80.
Я бы сделал так, ИМХО:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
lxi h,66h
mvi c,15
lp: mov a,m
ani 1
mov a,m
jz m1
out 9
jmp m2
m1: out 10
m2:inx h
dcr c
jnz lp
1
kitakun
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 2
06.04.2012, 12:12 5
Спасибо всем за ответы, маленький вопрос: чем отличаются mvi от простого mov?
Правильно ли я расписал комментарии:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
lxi h,66h; загрузить в HL число 0066h
mvi c,15; запись в c число 15
lp: ;метка цикла
mov a,m ;перенос в A значение из M
ani 1 ;логическая И с числом 1, не очень понял что это
mov a,m ;еще раз записать значение M в A, не очень понял
jz m1 ;если A = 0 переходим к метке m1
out 9 ;вывод числа на 9-е оборудование
jmp m2 ;переход к метке m2
m1: out 10 ;вывод числа на 10-е оборудование
m2:inx h ;прибавить к HL единицу
dcr c ;уменьшить число циклов на 1
jnz lp ;если число циклов > 0, повторить цикл
И что делает этот код:
Assembler
1
2
3
mov a,m
ani 1
mov a,m
Извиняюсь если это элементарно, толком 1 день читал книжку и видимо плохо читал.
0
HITMAN
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,783
06.04.2012, 12:37 6
kitakun, прикрепил файл где хоть какой-то материал по K580.
ani логическое и где приёмником является операнд по умолчанию "a".
После этой команды установятся флаги и снова происходит возврат символа в "a",
для его вывода или перехода к следующему.
Assembler
1
2
3
4
mov a,m ;перенос в A значение из M
ani 1 ;логическая И с числом 1, где приёмник A также устанавливаются флаги
mov a,m ;еще раз записать значение M в A, для вывода если он будет. Данная команда флаги не меняет
jz m1 ;если A = 0 переходим к метке m1 согласно флагам
Как то так.
1
Вложения
Тип файла: rar 11457.rar (25.1 Кб, 11 просмотров)
taras atavin
4207 / 1774 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
06.04.2012, 12:45 7
Цитата Сообщение от AFP Посмотреть сообщение
Нет такого регистра HL.
Есть, но у спектрума, не имеющего регистра ax.
0
06.04.2012, 12:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2012, 12:45

Проверка на четность
Значит задача следующая вывести на экран только четные значения функции. Функцию я задал...

Проверка на четность
Написать программу которая проверяет число на четность

Проверка на четность и нечетность
13. Вычислить y = x^n по следующему правилу: y = ( x^n/2 )^2, если n четное и y = x ^...


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

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

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