Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Ну, у меня "то-в-чем-делаем-лабы" запустилась на КореДуба с Выньдос_7.
КиберКот
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Если точно такая для 51-го, давайте сделаю без проблем, если другая, то скажите какая?Lina_Inverse писал(а):ну и еще аналогичная задачка на 48 и 51 процессорах
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
А у меня нет, говорит , что не совместима с 64-битной версией. Судя по описанию, вообще хочет MS DOS 3.3.ewgeny7 писал(а):Ну, у меня "то-в-чем-делаем-лабы" запустилась на КореДуба с Выньдос_7.
Последний раз редактировалось IM1 Чт апр 19, 2012 11:25:21, всего редактировалось 1 раз.
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Странно... проверил и при "вводе от руки" и при вводе скомпилированного в *.hex...
при пошаговом исполнении куда пошлеш, туда и прыгает (win_xp/pIII-800).
НО - программный код действителен только для области 0x0000-0x01FF то-ли это "демка"(если объём кодв превысит этот диапазон запишется ерунда), то-ли связано с увязкой с внешним аппаратным блоком, а как перестроить...ить... информации нету...
по сему пользовательская программа не должна выходиь за рамки 0x0000-0x01FF , в то же время обращения к остальной области памяти (загрузить/считать ячейку) выполняются верно.
не пинайте ногами симулятор..!
у меня перед вызовом программы "по умолчанию" "EN" включен
а DOS-программы с кодировкой ... ОЙ... (С=C)
при пошаговом исполнении куда пошлеш, туда и прыгает (win_xp/pIII-800).
НО - программный код действителен только для области 0x0000-0x01FF то-ли это "демка"(если объём кодв превысит этот диапазон запишется ерунда), то-ли связано с увязкой с внешним аппаратным блоком, а как перестроить...ить... информации нету...
по сему пользовательская программа не должна выходиь за рамки 0x0000-0x01FF , в то же время обращения к остальной области памяти (загрузить/считать ячейку) выполняются верно.

не пинайте ногами симулятор..!
у меня перед вызовом программы "по умолчанию" "EN" включен
а DOS-программы с кодировкой ... ОЙ... (С=C)
-
petrenko
- Друг Кота
- Сообщения: 5321
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Что-то TopickStarter ничего не пишет, наверное всё исключительно понятно и успешно заработало ?
Если да, то по какому из алгоритмов, разскажите нам, пожалуйста !
Если да, то по какому из алгоритмов, разскажите нам, пожалуйста !

< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Ох, было дело было... даже собрал свою схему на Z80 с ЖК-индикатором вручную переводя с ассемблера в машинные коды. Последний вариант позволял вводить коды прямо в ОЗУ и выполнять программу. Работала схема с ЖК индикатором 8 строк по 20 символов в каждой.
А что касается перевода BIN-BCD то среди команд есть команда двоично-десятичной коррекции, которая позволяет из байта сделать BCD и наоборот и установить признак переноса если число больше 100.
Где-то даже видел алгоритм с использованием этой команды для многобайтных чисел. Но это довольно сложно для понимания.
Гораздо же проще для маленьких чисел делать это в лоб: на входе нам дается число N которое надо перевести - организуем цикл на N итераций и прибавляем внутри счетчик в нужной системе - двоичной или BCD, в конце концов он насчитает ровно N.
А что касается перевода BIN-BCD то среди команд есть команда двоично-десятичной коррекции, которая позволяет из байта сделать BCD и наоборот и установить признак переноса если число больше 100.
Где-то даже видел алгоритм с использованием этой команды для многобайтных чисел. Но это довольно сложно для понимания.
Гораздо же проще для маленьких чисел делать это в лоб: на входе нам дается число N которое надо перевести - организуем цикл на N итераций и прибавляем внутри счетчик в нужной системе - двоичной или BCD, в конце концов он насчитает ровно N.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
IM1, да, задача та же самая, ну то есть перевод двоично-десятичного двухбайтного числа в двоичное...
Посмотрела предложенные варианты решения поставленной задачи - больно круто, думаю, и для нашего препода))) всё у нас пишется коряво, практика обходится без подпрограмм, почему-то...
З.Ы. сегодня по дисциплине Микроконтроллерные средства в измерительной технике снова проходили МК 8080)) ладно, по фиг, был на третьем курсе курсовой на ассемблере применительно к КР580ВМ80, но зачем сейчас снова это старьё изучать?.... повторно, к тому же))
Посмотрела предложенные варианты решения поставленной задачи - больно круто, думаю, и для нашего препода))) всё у нас пишется коряво, практика обходится без подпрограмм, почему-то...
З.Ы. сегодня по дисциплине Микроконтроллерные средства в измерительной технике снова проходили МК 8080)) ладно, по фиг, был на третьем курсе курсовой на ассемблере применительно к КР580ВМ80, но зачем сейчас снова это старьё изучать?.... повторно, к тому же))
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Вот еще нашла кое-что...
Вырвано из курсача (наш инст) ))
Задача, решаемая в курсовом, состоит из 4-х байтных чисел. в листинге я нашла подпрограмму преобразования 2-10 4-х байтного числа в двоичное. Как бы только эту часть листинга оставить, ну, понятно, что с записью куда-нить исходных по моей лабораторной задаче 2-х байтных чисел...
Собственно, условие задачи и сам листинг
1. Функция (х1*х2)/х3;
2. Тип микропроцессора КР580ВМ80;
3. Рабочая частота – 2 МГц;
4. Исходные числа целые, положительные, 4-х байтовые, двоично-десятичные;
Листинг решения задачи вообще
Приложение А
Листинг программы
; Программа вычисления функции y=(x1*x2)/x3
org 0000h
Start:
lxi sp,Stack
lhld x1L ; копирование [x1] в [p1]
shld p1L ;
lhld x1H ;
shld p1H ;
call ToBIN ; преобразование x1 в двоичный вид в [p2]
lhld p2L ; копирование [p2] в [p3]
shld p3L ;
lhld p2H ;
shld p3H ;
lhld x2L ; копирование [x2] в [p1]
shld p1L ;
lhld x2H ;
shld p1H ;
call ToBIN ; преобразование x2 в двоичный вид в [p2]
; умножение двух 4-х байтных чисел, результат 7-и байтный
; [p4]=[p2]*[p3] (=x1*x2)
lxi h,p4 ; обнуление результата [p4]
mvi b,7 ;
call Zero ;
mvi c,32 ; счетчик бит множителя (32)
mpl1:
lxi h,p4 ; сдвиг влево результата [p4]
mvi b,7 ;
call RalN ;
lxi h,p3L ; сдвиг влево множителя [p3]
mvi b,4 ;
call RalN ;
jnc mpl2 ; бит множителя равен 1?
; прибавление множимого к результату
xra a ; сброс признака переноса
; сложение первых четырех байт
lxi h,p2L ; адрес множимого
lxi d,p4 ; адрес результата
call Add4 ;
; учет переноса в следующие три байта
mvi b,3 ; счетчик байт
add3lp:
mov a,m ; сложение с переносом
aci 0 ;
mov m,a ;
inx h ; увеличение адреса
dcr b ; уменьшение счетчика
jnz add3lp
mpl2:
dcr c
jnz mpl1
lhld x3L ; копирование [x3] в [p1]
shld p1L ;
lhld x3H ;
shld p1H ;
call ToBIN ; преобразование x3 в двоичный вид в [p2]
; деление 7-и байтного числа на 4-х байтное,
; результат 7-ми байтный
; [p5]=[p4]/[p2]
lxi h,p5 ; обнуление результата [p5]
mvi b,7 ;
call Zero ;
lxi h,0 ; обнуление остатка [p3]
shld p3L ;
shld p3H ;
mvi c,56 ; счетчик бит делимого (8*7=56)
divlp:
lxi h,p4 ; сдвиг делимого [p4] влево
mvi b,7 ;
call RalN ;
lxi h,p3L ; сдвиг остатка [p3] влево
mvi b,4 ;
call RalN ;
lxi h,p2L ; вычитание делителя из остатка
lxi d,p3L ; [p3]=[p3]-[p2]
mvi b,4 ; счетчик байт (4 байта)
sub4lp:
ldax d ; вычитание одного байта числа
sbb m ;
stax d ;
inx h ;
inx d ;
dcr b ; уменьшение счетчика байт
jnz sub4lp ; цикл вычитания
jnc NoAdd ; остаток больше делителя?
; если нет - восстанавливаем остаток:
xra a ; Tc=0
lxi h,p2L ; [p3]=[p3]+[p2]
lxi d,p3L ;
call Add4 ;
stc ; Tc=1
NoAdd:
cmc ; получение бита результата в Тс
lxi h,p5 ; сдвиг бита результата в [p5]
mvi b,7 ;
call RalN ;
dcr c ; уменьшение счетчика бит
jnz divlp ; цикл деления
; преобразование 7-и байтного двоич. числа
; в 8-и байтн. дв.дес. число
; [y] <- [p5]
lxi h,Y ; обнуление результата [y]
mvi b,8 ;
call Zero ;
mvi c,56 ; количество разрядов в двоич. числе (8*7)
BinLoop: ; цикл преобразования
lxi h,p5 ; сдвиг двоичного числа влево
mvi b,7 ;
call RalN ;
lxi h,Y ; нач. адрес дв.дес. числа
mvi b,8 ; количество байт в дв.дес. числе
AdjDAA: ; цикл умножения дв. дес. числа на 2
mov a,m ; загрузка байта числа
adc m ; (A)<-(A)+(A)+Tc
daa ; коррекция
mov m,a ; сохранение байта
inx h ; следующий байт
dcr b ; уменьшение счетчика байт
jnz AdjDAA
dcr c ; уменьшение счетчика бит
jnz BinLoop
jmp Start
; Подпрограмма
;преобразование 4-х байтного дв.дес. числа
;в 4-х байтн. двоичн. число
;[p2] <- [p1]
ToBIN:
xra a ; обнуление результата [p2]
lxi h,0 ;
shld p2L ;
shld p2H ;
mvi e,32 ; количество разрядов в двоич. числе (8*4)
BCDloop:
lxi h,p1H ; сдвиг дв.дес. числа вправо
call Rar4 ;
lxi h,p2H ; сдвиг двоич. числа вправо
call Rar4 ;
dcr e ; уменьшение счетчика разрядов
rz ; выход, если все разряды обработаны
; коррекция дв.дес.числа (4 байта)
lxi h,p1L ; адрес числа
mvi b,4 ; счетчик байт
adjloop:
call adjBCDRar ; коррекция одного байта числа
inx h ; следующий байт
dcr b
jnz adjloop
jmp BCDloop
; Подпрограмма
; коррекция байта дв. дес. числа после деления на 2
adjBCDRar:
mov a,m ; [X]=[X]-3, если [X] > x7h
mov d,a ;
ani 08h ;
jz nosui1 ;
mov a,d ;
sui 3 ;
mov m,a ;
nosui1:
mov a,m ; [X]=[X]-30h, если [X] > 7xh
mov d,a ;
ani 80h ;
jz nosui2 ;
mov a,d ;
sui 30h ;
mov m,a ;
nosui2:
ret
; Подпрограмма
; сложение двух 4-х байтн. чисел
; DE - адрес первого числа
; HL - адрес второго числа
; [DE]=[DE]+[HL]
Add4:
mvi b,4
add4lp:
ldax d
adc m
stax d
inx h
inx d
dcr b
jnz add4lp
ret
; Подпрограмма
; сдвиг влево через перенос N-х байтн. числа
; (B)=число байт
; [HL]=адрес младшего байта числа
RalN:
mov a,m
ral
mov m,a
inx h
dcr b
jnz ralN
ret
; Подпрограмма
; сдвиг вправо через перенос 4-х байтн. числа
; [HL]=адрес старшего байта числа
Rar4:
mvi b,4
rar4lp:
mov a,m
rar
mov m,a
dcx h
dcr b
jnz rar4lp
ret
; Подпрограмма
; обнуление области памяти
; HL - адрес начала области
; B - количество байт
Zero:
xra a ; обнуление A
zerol:
mov m,a ; обнуление ячейки памяти
inx h ; увеличение адреса
dcr b ; уменьшение счетчика
jnz zerol
ret
x1L dw 0 ; дв.дес.число x1, 4 байта
x1H dw 0 ;
x2L dw 0 ; дв.дес.число x2, 4 байта
x2H dw 0 ;
x3L dw 0 ; дв.дес.число x3, 4 байта
x3H dw 0 ;
Y dw 0 ; дв.дес.результат y, 8 байт
dw 0 ;
dw 0 ;
dw 0 ;
p1L dw 0 ; временная переменная, 4 байта
p1H db 0 ;
p1HH db 0 ;
p2L dw 0 ; временная переменная, 4 байта
p2H db 0 ;
p2HH db 0 ;
p3L dw 0 ; временная переменная, 4 байта
p3H dw 0 ;
p4 dw 0 ; временная переменная, 7 байт
dw 0 ;
dw 0 ;
db 0 ;
p5 dw 0 ; временная переменная, 7 байт
dw 0 ;
dw 0 ;
db 0 ;
dw 0 ; стек
Stack dw 0 ; начало стека
end
Вырвано из курсача (наш инст) ))
Задача, решаемая в курсовом, состоит из 4-х байтных чисел. в листинге я нашла подпрограмму преобразования 2-10 4-х байтного числа в двоичное. Как бы только эту часть листинга оставить, ну, понятно, что с записью куда-нить исходных по моей лабораторной задаче 2-х байтных чисел...
Собственно, условие задачи и сам листинг
1. Функция (х1*х2)/х3;
2. Тип микропроцессора КР580ВМ80;
3. Рабочая частота – 2 МГц;
4. Исходные числа целые, положительные, 4-х байтовые, двоично-десятичные;
Листинг решения задачи вообще
Приложение А
Листинг программы
; Программа вычисления функции y=(x1*x2)/x3
org 0000h
Start:
lxi sp,Stack
lhld x1L ; копирование [x1] в [p1]
shld p1L ;
lhld x1H ;
shld p1H ;
call ToBIN ; преобразование x1 в двоичный вид в [p2]
lhld p2L ; копирование [p2] в [p3]
shld p3L ;
lhld p2H ;
shld p3H ;
lhld x2L ; копирование [x2] в [p1]
shld p1L ;
lhld x2H ;
shld p1H ;
call ToBIN ; преобразование x2 в двоичный вид в [p2]
; умножение двух 4-х байтных чисел, результат 7-и байтный
; [p4]=[p2]*[p3] (=x1*x2)
lxi h,p4 ; обнуление результата [p4]
mvi b,7 ;
call Zero ;
mvi c,32 ; счетчик бит множителя (32)
mpl1:
lxi h,p4 ; сдвиг влево результата [p4]
mvi b,7 ;
call RalN ;
lxi h,p3L ; сдвиг влево множителя [p3]
mvi b,4 ;
call RalN ;
jnc mpl2 ; бит множителя равен 1?
; прибавление множимого к результату
xra a ; сброс признака переноса
; сложение первых четырех байт
lxi h,p2L ; адрес множимого
lxi d,p4 ; адрес результата
call Add4 ;
; учет переноса в следующие три байта
mvi b,3 ; счетчик байт
add3lp:
mov a,m ; сложение с переносом
aci 0 ;
mov m,a ;
inx h ; увеличение адреса
dcr b ; уменьшение счетчика
jnz add3lp
mpl2:
dcr c
jnz mpl1
lhld x3L ; копирование [x3] в [p1]
shld p1L ;
lhld x3H ;
shld p1H ;
call ToBIN ; преобразование x3 в двоичный вид в [p2]
; деление 7-и байтного числа на 4-х байтное,
; результат 7-ми байтный
; [p5]=[p4]/[p2]
lxi h,p5 ; обнуление результата [p5]
mvi b,7 ;
call Zero ;
lxi h,0 ; обнуление остатка [p3]
shld p3L ;
shld p3H ;
mvi c,56 ; счетчик бит делимого (8*7=56)
divlp:
lxi h,p4 ; сдвиг делимого [p4] влево
mvi b,7 ;
call RalN ;
lxi h,p3L ; сдвиг остатка [p3] влево
mvi b,4 ;
call RalN ;
lxi h,p2L ; вычитание делителя из остатка
lxi d,p3L ; [p3]=[p3]-[p2]
mvi b,4 ; счетчик байт (4 байта)
sub4lp:
ldax d ; вычитание одного байта числа
sbb m ;
stax d ;
inx h ;
inx d ;
dcr b ; уменьшение счетчика байт
jnz sub4lp ; цикл вычитания
jnc NoAdd ; остаток больше делителя?
; если нет - восстанавливаем остаток:
xra a ; Tc=0
lxi h,p2L ; [p3]=[p3]+[p2]
lxi d,p3L ;
call Add4 ;
stc ; Tc=1
NoAdd:
cmc ; получение бита результата в Тс
lxi h,p5 ; сдвиг бита результата в [p5]
mvi b,7 ;
call RalN ;
dcr c ; уменьшение счетчика бит
jnz divlp ; цикл деления
; преобразование 7-и байтного двоич. числа
; в 8-и байтн. дв.дес. число
; [y] <- [p5]
lxi h,Y ; обнуление результата [y]
mvi b,8 ;
call Zero ;
mvi c,56 ; количество разрядов в двоич. числе (8*7)
BinLoop: ; цикл преобразования
lxi h,p5 ; сдвиг двоичного числа влево
mvi b,7 ;
call RalN ;
lxi h,Y ; нач. адрес дв.дес. числа
mvi b,8 ; количество байт в дв.дес. числе
AdjDAA: ; цикл умножения дв. дес. числа на 2
mov a,m ; загрузка байта числа
adc m ; (A)<-(A)+(A)+Tc
daa ; коррекция
mov m,a ; сохранение байта
inx h ; следующий байт
dcr b ; уменьшение счетчика байт
jnz AdjDAA
dcr c ; уменьшение счетчика бит
jnz BinLoop
jmp Start
; Подпрограмма
;преобразование 4-х байтного дв.дес. числа
;в 4-х байтн. двоичн. число
;[p2] <- [p1]
ToBIN:
xra a ; обнуление результата [p2]
lxi h,0 ;
shld p2L ;
shld p2H ;
mvi e,32 ; количество разрядов в двоич. числе (8*4)
BCDloop:
lxi h,p1H ; сдвиг дв.дес. числа вправо
call Rar4 ;
lxi h,p2H ; сдвиг двоич. числа вправо
call Rar4 ;
dcr e ; уменьшение счетчика разрядов
rz ; выход, если все разряды обработаны
; коррекция дв.дес.числа (4 байта)
lxi h,p1L ; адрес числа
mvi b,4 ; счетчик байт
adjloop:
call adjBCDRar ; коррекция одного байта числа
inx h ; следующий байт
dcr b
jnz adjloop
jmp BCDloop
; Подпрограмма
; коррекция байта дв. дес. числа после деления на 2
adjBCDRar:
mov a,m ; [X]=[X]-3, если [X] > x7h
mov d,a ;
ani 08h ;
jz nosui1 ;
mov a,d ;
sui 3 ;
mov m,a ;
nosui1:
mov a,m ; [X]=[X]-30h, если [X] > 7xh
mov d,a ;
ani 80h ;
jz nosui2 ;
mov a,d ;
sui 30h ;
mov m,a ;
nosui2:
ret
; Подпрограмма
; сложение двух 4-х байтн. чисел
; DE - адрес первого числа
; HL - адрес второго числа
; [DE]=[DE]+[HL]
Add4:
mvi b,4
add4lp:
ldax d
adc m
stax d
inx h
inx d
dcr b
jnz add4lp
ret
; Подпрограмма
; сдвиг влево через перенос N-х байтн. числа
; (B)=число байт
; [HL]=адрес младшего байта числа
RalN:
mov a,m
ral
mov m,a
inx h
dcr b
jnz ralN
ret
; Подпрограмма
; сдвиг вправо через перенос 4-х байтн. числа
; [HL]=адрес старшего байта числа
Rar4:
mvi b,4
rar4lp:
mov a,m
rar
mov m,a
dcx h
dcr b
jnz rar4lp
ret
; Подпрограмма
; обнуление области памяти
; HL - адрес начала области
; B - количество байт
Zero:
xra a ; обнуление A
zerol:
mov m,a ; обнуление ячейки памяти
inx h ; увеличение адреса
dcr b ; уменьшение счетчика
jnz zerol
ret
x1L dw 0 ; дв.дес.число x1, 4 байта
x1H dw 0 ;
x2L dw 0 ; дв.дес.число x2, 4 байта
x2H dw 0 ;
x3L dw 0 ; дв.дес.число x3, 4 байта
x3H dw 0 ;
Y dw 0 ; дв.дес.результат y, 8 байт
dw 0 ;
dw 0 ;
dw 0 ;
p1L dw 0 ; временная переменная, 4 байта
p1H db 0 ;
p1HH db 0 ;
p2L dw 0 ; временная переменная, 4 байта
p2H db 0 ;
p2HH db 0 ;
p3L dw 0 ; временная переменная, 4 байта
p3H dw 0 ;
p4 dw 0 ; временная переменная, 7 байт
dw 0 ;
dw 0 ;
db 0 ;
p5 dw 0 ; временная переменная, 7 байт
dw 0 ;
dw 0 ;
db 0 ;
dw 0 ; стек
Stack dw 0 ; начало стека
end
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Старьё не старье, а работает. Вас учат не старью, а программированию. И Z80 для этих целей лучше не придумаешь.
Вот попробуй так с ходу вникнуть в систему команд хотябы 386-го процессора, не говоря уже о более современных или даже ныне популярные на ARM ядре. Все это имеет отношение и к языкам высокого уровня - нужно ведь знать как реализованы высокоуровневые конструкции и как их лучше всего использовать.
Так что радуйтесь что вам не дают более современное, ассемблер Z80 достаточно простой для изучения.
Вот попробуй так с ходу вникнуть в систему команд хотябы 386-го процессора, не говоря уже о более современных или даже ныне популярные на ARM ядре. Все это имеет отношение и к языкам высокого уровня - нужно ведь знать как реализованы высокоуровневые конструкции и как их лучше всего использовать.
Так что радуйтесь что вам не дают более современное, ассемблер Z80 достаточно простой для изучения.
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
чёй-то похожее на полный алгоритм умножения/деления многобайтников... но такое пока за ненадобностью в прикладных целях только в виде наброска алгоритма лежит...доводить до конкретного исходника вломушки...
а вот размещение оъявленных имен в конце исходника некорректно (если это только не распечатка листинга - там они "в хвосте" выпадают)
и чего касательно I8080/Z80 - с него быстренько на AVR переход производится, даже моделировать особо не надо - уже готовый системный наборчик с базой а-ля Z80
а вот размещение оъявленных имен в конце исходника некорректно (если это только не распечатка листинга - там они "в хвосте" выпадают)
и чего касательно I8080/Z80 - с него быстренько на AVR переход производится, даже моделировать особо не надо - уже готовый системный наборчик с базой а-ля Z80
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Дяденьки, а можно эту задачку решить попроще? ну без модулей...тока циклы и всё... а то у нас туго с этим 
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Подпрограммы и нужны для того чтобы сделать "попроще". Без них вообще трындец будет. Да, можно сделать абсолютно плоский алгоритм, но в нем чёрт ногу сломит, а уж тем более понять как он работает и предоставить доказательства что он работает ВЕРНО для любых входных чисел.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
нам препод объяснял про вычитание единички из чего-то там...объяснял себе под нос. да и не понятно. про вёдра даже говорил, типа из одного вычитаем имиеющиеся камушки и кадаем в другое
ток тоже что-то мутно... короч, он от нас убежал. ему по фиг, мы - студенты, должны сами всё изучать..а никак. объяснить некому.
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
-
petrenko
- Друг Кота
- Сообщения: 5321
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Alexeyslav писал(а):Подпрограммы и нужны для того чтобы сделать "попроще". Без них вообще трындец будет. Да, можно сделать абсолютно плоский алгоритм...
Если расход машинного времени на вход в подпрограмму и на возврат сопоставим с расходом на саму последовательность команд, выполняющих подзадачу, то можно использовать МАКРОподстановки. Получится почти плоский алгоритм, но всё же достаточно наглядный (в исходном тексте) особенно если с комментариями. А вообще непонятно, чего от них там преп. требуют ? Правильная формулировка задачи нужна. (или много денег)
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
надо чтобы чёрт ногу сломал)) вот такую проггу) а то препод не поверит (с модулями), что это мы делали))) а так поверит) 
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
-
petrenko
- Друг Кота
- Сообщения: 5321
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Ну так сделайие с МАКРО, а потом эти макро преп. не показывайте.
P.S. А как хоть обзывалась тема, где камни в вёдрах вычитались, любопытно ?
P.S. А как хоть обзывалась тема, где камни в вёдрах вычитались, любопытно ?
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
Тема называлась "как перевести двоично-десятичное число в двоичное")
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
с макрами... мы пишем в эмуляторе. вывешен здесь же.
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
не в тему: "в первый раз сказал МЯУ" ))) круть!)
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Lina_Inverse
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Чт апр 12, 2012 20:01:26
- Откуда: Муром
Re: Помогите, пожалуйста!!! Перевод чисел в КР580ВМ80
ой, и еще... не могу найти даташит на HT1610 - дисплей...(
-А есть аудиокниги по схемотехнике?
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.
- Нет, наверно. Но ты попроси какую-нибудь девушку прочитать..так, эротичным голосом.