помогите ламеру запустить "Специалист"

Обсуждение советского компьютера Фахiвець / Специалист и его развитие

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Barbosa75 wrote:Что бы не засорять форум бестолковыми темами задам тут свой вопрос.
Подскажите пожалуйста, что мне нужно знать, учить, читать...,
что бы научиться писать самые примитивные программки на ассемблере
для спеца, например сложить 2 числа и вывести результат на экран,
мне хочется просто понять саму суть процесса,
я понимаю, что для начала мне нужно знать команды процессора,
синтаксис, пунктуацию..., что ещё? :-?
как мне это осознать, где почитать и вообще с чего начать?
На обычном "Специалисте" с лентой - это всё будет очень неприятно и за...бёт в итоге.

Возьми любой хороший эмулятор "Специалиста" с системой "RAMFOS" - там работать
с ассемблером 8080 просто в кайф!

Всё нужное делается "в три кнопки"... :kruto:

Начинать лучше со статей об ассемблере в журнале "Радио" - там понятно объясняли.

Ну и нужна какая-либо ясная цель. Просто так это делать лениво...
Нужно, чтобы у тебя что-то успешно получилось и ты "вьехал" в смысл - дальше оно попрёт!

Математика на ассемблере - зашита в "Васиках" и есть библиотека для "ЮТ-88":
"сложить 2 числа и вывести результат на экран"...

Суть процессора лучше всего понимается при прохождении своих программ отладчиком.
В системе "RAMFOS" - очень удобный "DEBUG"...

Ну если ты не против - давай попробуем... результат будет виден...

Code: Select all

   ORG 0000H

   LXI D,55AAH; - укажем в DE 2 байта заполнения экрана
MT0:;            - это метка
   LXI H,9000H; - укажем в HL верхний угол экрана "Специалист"
   LXI B,3000H; - укажем в BC размер экрана в байтах 0BFFFH-9000H
MT1:;            - это метка
   MOV M,E; - в начало экрана байт из Е
   INX H;     - сдвинемся в экране к следующему байту
   MOV M,D; - в следубщий байт - из D
   INX H;     - сдвинемся в экране к следующему байту
   DCX B
   DCX B; - уменьшим на 2 байта счетчик всех байтов экрана
   MOV A,B; - проверим счетчик BC на равенство 0
   ORA C; - операцией B OR C
   JNZ  MT1; - если BC не равно 0000Н - продолжим
   CALL KBD; - в конце цикла - спросим у ОС код клавиши без остановки программы
   CPI 1BH; - если нажата кнопка "Escape"
   JZ SYS; - выходим в "Систему"
   MOV A,E; - поменяем местами
   MOV E,D; - бaйты в D
   MOV D,A; - и в Е
   JMP MT0; - начнем цикл сначала без загрузки DE

KBD: EQU 0C81BH; - Опрос клавиатуры без остановки
SYS: EQU 0F800H; - Вход в ОС "RAMFOS"
   END
Попробуй это скомпилировать, запустить и отладить под "RAMFOS".
Если не заработает сходу - "прогони" в отладчике "DEBUG"...
Если всё сумеешь - дальше подправь здесь что-нибуть и уже получится что-то своё,
станет более понятно...
И посмотри документацию на "RAMFOS" - все её программы хорошо документированны.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:Начинать лучше со статей об ассемблере в журнале "Радио" - там понятно объясняли.
А вот тебе и правильная ссылка от HardWareMan-а:
viewtopic.php?t=10174#108241

А то я поленился в журналы "Радио" лезть - понадеялся, что ты найдешь нужное в Гугле.
iLavr
User avatar
Barbosa75
Fanat
Posts: 57
Joined: 17 Mar 2013 07:20
Location: Poltava

Post by Barbosa75 »

Lavr wrote:
Lavr wrote:Начинать лучше со статей об ассемблере в журнале "Радио" - там понятно объясняли.
А вот тебе и правильная ссылка от HardWareMan-а:
viewtopic.php?t=10174#108241

А то я поленился в журналы "Радио" лезть - понадеялся, что ты найдешь нужное в Гугле.
Спасибо, я нашёл журналы "Радио" по редактору и асемблеру ( у меня они в кладовке лежали), курю но голова колиться,
без наглядных примеров оччччень тяжело понять.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Barbosa75 wrote:курю но голова колиться,
без наглядных примеров оччччень тяжело понять.
Не - так не надо - опротивет насмерть... :( А асм - простой язык и злить не должен! :wink:
Лучше спрашивай чего непонятно здесь и потихоньку пару программок вместе накропаем...
Ну хочешь - можно светодиодами поморгать через порт...
В общем желательна конкретная задача.
iLavr
User avatar
Barbosa75
Fanat
Posts: 57
Joined: 17 Mar 2013 07:20
Location: Poltava

Post by Barbosa75 »

Lavr wrote:
Barbosa75 wrote:курю но голова колиться,
без наглядных примеров оччччень тяжело понять.
Не - так не надо - опротивет насмерть... :( А асм - простой язык и злить не должен! :wink:
Лучше спрашивай чего непонятно здесь и потихоньку пару программок вместе накропаем...
Ну хочешь - можно светодиодами поморгать через порт...
В общем желательна конкретная задача.
Вот за это спасибо,
я ещё чуть по вникаю и проявлюсь с вопросом.