Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 06.10.2016, 00:35   #1
Miruha007
Новичок
 
Регистрация: 06.10.2016
Сообщений: 1
Репутация: 10
Сообщение Помогите разобраться.

Добрый день! Нужно написать программу на ассемблере для с 51 микроконтроллера, которая будет решать уравнение вида:
y= x4*x3*(не x1)+ (не х4)*х1*(не х2)*(не х3)+х1*(не х2)*х3+(не х3)*х2*(не х1);
Программа должна решаться табличным методом. Есть исходник программы, но не могу сообразить как исправить программу:


Код:

portA equ 0f0h; адрес порта вывода ППА со светодиодами 
PortR equ 0f3h; адрес регистра управления ППА К580ВВ55
Timer equ 0e0h; адрес таймера 
Т0 TimerU equ 0e3h; адрес регистра управления таймера К580ВИ53 
; описание переменных 
org 1a00h 
x db 0001; x-переменная типа байт (содержит зн-е 0000x4x3x2x1) 
t ds 2; t-переменная типа слово 
;таблица истинности функции 
tabl db 01h,01h,01h,01h,0,0,0,01h,0,01h,0,0,0,01h,01h,01h 
org 1900h; начальный адрес программы 
nach: mvi a,8bh; инициализация режимов работы портов ППА 
out PortR; 
mvi a,30h; инициализация режимов работы таймера 
out TimerU; 
mvi a,0ffh; загрузка в таймер константы 0FFFFh 
out Timer; и запуск таймера на вычитание 
out Timer 
; табличный метод 
lxi h,tabl; в HL адрес таблицы истинности 
lda x; чтение из х в А значения переменных х4х3х2х1 
ani 0Fh; выделение младшей тетрады 
mvi d,0; формирование в паре DE 2-байтного смещения 
mov e,a dad d; получение в HL суммы смещения и адреса таблицы 
mov a,m; чтение значения по адресу HL из таблицы 
cma out porta; выдача результата на светодиоды 
sub a; останов таймера 
out TimerU 
Kon: lxi h,t; чтение 2-х байтного значения из таймера 
in Timer; 
mov m,a; сохранение его в ячейке t (мл. байт значения) 
in Timer 
inx h 
mov m,a; сохранение его в ячейке t+1 (cт. байт значения) 
jmp 2020h; останов программы, переход на Монитор 
end

Помогите пожалуйста, кому не сложно.

Последний раз редактировалось Аватар; 06.10.2016 в 11:34.
Miruha007 вне форума   Ответить с цитированием
Старый 06.10.2016, 10:50   #2
alexcoder
Участник клуба
 
Регистрация: 31.05.2009
Сообщений: 739
Репутация: 410

skype: alexcoder1
По умолчанию

Вообще-то это код для процессора 8080
__________________
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума   Ответить с цитированием
Старый 12.10.2016, 07:04   #3
Nif-naf
Пользователь
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 28
Репутация: 10
По умолчанию

Вы пишите c51- а это Си компилятор. Для 8051 надо Asm51. В топике для Си и публекуйте тему.
__________________
Немного о GoAsm.
Nif-naf вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться! Виталик124 Паскаль 3 08.02.2014 16:07
Помогите разобраться Proof БД в Delphi 13 19.05.2008 10:59
Помогите разобраться! Holodok Помощь студентам 12 02.05.2008 18:13


10:23.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru