kitakun
1

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

05.04.2012, 17:06. Показов 2043. Ответов 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
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2012, 17:06
Ответы с готовыми решениями:

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

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

Проверка чисел на чётность или наоборот, дальнейший вывод
Написать программу, в которой вводятся 3 числа: А,В,С. Если среди них имеется хотя бы одно четное...

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

6
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
05.04.2012, 17:48 2
Нет такого регистра HL.
У меток нет ":". Смотрите синтаксис.
1
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
05.04.2012, 18:30 3
kitakun, проверить чётность числа можно так:
Assembler
1
2
3
4
mov ax,[value]
bt ax,0;если бит 0 не установлен
jc nechet; то нечётное
;чётное
1
1778 / 756 / 153
Регистрация: 03.06.2009
Сообщений: 5,834
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
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 день читал книжку и видимо плохо читал.
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
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 согласно флагам
Как то так.
Вложения
Тип файла: rar 11457.rar (25.1 Кб, 11 просмотров)
1
4202 / 1794 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.04.2012, 12:45 7
Цитата Сообщение от AFP Посмотреть сообщение
Нет такого регистра HL.
Есть, но у спектрума, не имеющего регистра ax.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2012, 12:45
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru