Данному образовательному сайту пришлось несколько раз менять свое имя. С 2022 года доступ к нему обеспечивается по URL
emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-2021) ==> emc.orgfree.com (2022-...)
Более подробно об истории сайта можно прочитать здесь.
|
"SIC": примеры программНиже приводится несколько примеров, которые демонстрируют, как можно составлять программы для SIC. Пример 1. Простейшие вычисленияДемонстрирует:
Расчетная формула: Программа на ассемблере: LDA N1 извлечь N1 ADD N2 прибавить N2 SUB ONE вычесть 1 STA RES сохранить результат в RES ... ONE WORD 1 константа 1 переменные: N1 RESW 1 N2 RESW 1 RES RESW 1
Конечно, при изучении приемов системного программирования ассемблер полезнее. Но с точки зрения понимания принципов работы компьютера, таблица кодов объясняет заметно больше. Пример 2. Копирование строковой константы в переменнуюДемонстрирует:
Программа на ассемблере: LDX ZERO обнулить индексный регистр MOVECH LDCH STR1,X загрузить очередной символ из STR1 STCH STR2,X сохранить его в STR2 TIX ELEVEN +1 в индекс, результат сравнить с 11 JLT MOVECH если индекс меньше 11 - повторять ... STR1 BYTE C'TEST STRING' 11-байтовая строковая константа STR2 RESB 11 11-байтовая переменная ZERO WORD 0 константа 0 ELEVEN WORD 11 константа 11 Пример 3. Вычисления с массивамиДемонстрирует:
Расчетная формула: Программа на ассемблере: LDA ZERO обнулить индексный регистр STA INDEX и сохранить его в ОЗУ ADDLP LDX INDEX загрузить значение в индексный регистр LDA ALPHA,X извлечь очередной элемент массива ALPHA ADD BETA,X прибавить элемент из BETA STA GAMMA,X сохранить результат в массив GAMMA LDA INDEX увеличить значение индекса ADD THREE на 3 (число занимает 3 байта) STA INDEX и сохранить в ОЗУ COMP K300 сравнить результат с 300 JLT ADDLP если он меньше 300 - повторить ... INDEX RESW 1 здесь хранится индекс ALPHA RESW 100 массив ALPHA BETA RESW 100 массив BETA GAMMA RESW 100 массив GAMMA (все по 100 чисел) числовые константы: ZERO WORD 0 K300 WORD 300 THREE WORD 3 Пример организации ввода/вывода см. здесь. |