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

Посмотрите,пожалуйста, верна ли часть программы ? - Assembler

12.11.2013, 20:25. Просмотров 312. Ответов 2
Метки нет (Все метки)

суть: выводить в порт вывода значения, лежащие в интервале. На порт 3 приходят значения. В регистре Е сидит значение верхней границы интервала, в D-нижней границы.

Assembler
1
2
3
4
5
6
7
M1: IN A,3 ; опросили порт 
      CMP A,E ; сравнили и верхней границей 
      JNC M1 ; если нет переноса, то М1(число большей верхней границы) 
      CMP A,D ; сравнили с нижней границей 
      JC M1 ; если есть перенос(число меньше нижней границы) 
      OUT 1,A ; вывести в порт 1 
      JMP M1 ; снова идем в порт 3 за новым значением
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 20:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Посмотрите,пожалуйста, верна ли часть программы ? (Assembler):

Ошибка в коде, посмотрите пожалуйста
задание : Заполнить экран произвольной информацией. Перехватить прерывание 1Ch,...

Не могу найти ошибку в коде, посмотрите пожалуйста
задача :Ввести с клавиатуры строку. Преобразовать все малые буквы в большие....

Что делает даная часть программы??
Что делает даная часть прогармы??:- a3: xor edx,edx ...

Не работает часть программы формирующая на экране монитора изображение флага
Не работает часть программы формирующая на экране монитора изображение флага,...

Объясните код программы!!! Пожалуйста!!
Непонятности возникают начиная с кода ассемблера. Нашел в интернете инфу на все...

Написать комментарии для программы, пожалуйста)
.model tiny .stack 100h .data outStr db '0000$' .code translByte proc...

2
Mikl___
Автор FAQ
11379 / 5922 / 535
Регистрация: 11.11.2010
Сообщений: 10,939
13.11.2013, 04:28 #2
Arakktur2013,
а это программа для какого микропроцессора?
0
Arakktur2013
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 4
13.11.2013, 13:54  [ТС] #3
i8080
непрерывно производить измерения с помощью униполярного восьмиразрядного АЦП и в каждой серии из 100 измерений в порт вывода выводить результаты, лежащие в диапазоне значений от Uвх1 до Uвх2, где Uвх1 и Uвх2 вводятся через два других униполярных АЦП, либо через тот же АЦП, что и контролируемое напряжение, но путем коммутации каналов через аналоговый коммутатор с цифровым управлением. Причем не обязательно, что Uвх1 < Uвх2.

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
_MAIN:      ; основная программа
IN A, 1     ; опрос первого граничного значения
MOV B, A    ; сохранение значения регистра A в регистр B
IN A, 2     ; опрос второго граничного значения
MOV C, A    ; сохранение значения регистра A в регистр C
MVI D, 100  ; D – счётчик цикла, D = 100
CMP A, B    ; сравниваем граничные значения
JP _SWAP    ; переходим на метку M1, если установлен флаг неотр. рез.
JMP _LOOP   ; иначе переходим на метку _ LOOP
 
_SWAP:      ; меняем места значения регистров B и C
MOV C, B    ; помещаем в регистр C значение B
    MOV B, A    ; помещаем в регистр B значение A
 
_LOOP:      ; цикл, опрашивает 100 раз АЦП
    IN A, 3     ; опрашиваем 3-й АЦП
    CMP A, C    ; сравниваем значения регистров A и С
    JM _NEXT    ; если уст. Флаг отриц. рез то переходим к метке _NEXT
    CMP A, B    ; сравниваем значения регистров A и B
    JP _NEXT    ; если уст. Флаг неотриц. Рез то переходим к метке _NEXT
OUT 4, A    ; выводим в порт 4 значение регистра A
 
_NEXT:      ; метка для перехода, к след итерации 
DCR D       ; декрементируем счётчик цикла и устанавливаем флаги
    JNZ _LOOP   ; если установлен флаг ненул. рез то переходим к метке _ LOOP
JMP _MAIN   ; переход к основной программе
Верен код?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 13:54
Привет! Вот еще темы с решениями:

Проверьте, пожалуйста, код программы и исправьте, если нужно
Рассматривая байт как набор логических значений x7 x6 x5 x4 x3 x1 x0 (true -1,...

Помогите пожалуйста уважаемые программисты найти решение программы на Assembler
1. Дан массив целых чисел, состоящий из 15 элементов. • найти удвоенную сумму...

Не понятны некоторые строки программы(массивы, наименьшее число массива),посмотрите пожалуйста
вот код программы: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Посмотрите пожалуйста задание и код программы. Подскажите, что изменить, запускается, работает, но не правильно
Вот задание. Дан текст, содержащий от 2 до 40 слов, в каждом из которых от 1 до...


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

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

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