Результаты поиска по запросу «

справочная система

»

Запрос:
Создатель поста:
Теги (через запятую):



Windows Операционная система Steam Игры 

Времена меняются.

КОГДА ХОТЕЛ ЗАПУСТИТЬ STEAM, НО НА ТВОЕМ КОМПЬЮТЕРЕ ВСЕ ЕЩЕ СТОИТ WINDOWS 8,Windows,Операционная система,Steam,Стим,Игры
Развернуть

Отличный комментарий!

А кто то восьмёркой ещё пользуется?
Fap Comandante Fap Comandante29.03.202300:40ссылка
+2.6
зачем, если есть семёрка ._.
SobakaBalabaka SobakaBalabaka29.03.202300:47ссылка
+55.6

АСУ автоматическая справочная установка 80-е 90-е техника песочница 

Кто помнит этот звук перелистывающихся страниц?

"Автоматическая справочная установка АСУ-3 содержит: корпус с подставкой, панель управления, блок информации, устройства автоматики и освещения. Выполнена она в виде пульта с кнопочной панелью управления (54 кнопки, размещенные в шести вертикальных рядах). Информационные пластины (блок информации) представляют собой прозрачные пластмассовые пленки, приваренные с трех сторон, с четвертой боковой стороны предусмотрен карман, в который закладывают карты с нанесенной машинописным способом информацией. Площадь информационного поля 320х265мм. Среднее время получения справки 9с. Содержание справки зависит от области применения АСУ-3.

Эту справочную установку широко используют не только на железнодорожном транспорте, но и в авиапортах, автовокзалах, предприятиях металлургической, пищевой промышленности и в других отраслях народного хозяйства. Система применима в тех случаях, когда необходимо выдавать информацию в виде визуальной справки."
sossny Xq ojoqd,АСУ,автоматическая справочная установка,80-е,90-е,техника,песочница
Развернуть

программирование geek OSDev Операционная система разработка ассемблер длиннопост 

ОСдев №9: основной загрузчик, часть 2. Работа с дисплеем при помощи функций BIOS.

Дисклеймер: эта серия постов не про UEFI. Это не значит, что я не знаю о существовании UEFI. Про UEFI будет отдельная серия постов. Почему я не пишу про UEFI прямо сейчас? Потому что UEFI - это уровень абстракции над железом, а мне интересно именно железо и работа с ним.

Продолжаем? Сейчас наш загрузчик второго уровня работает в "немом" режиме - без возможности подать сигнал об ошибке или выполнении операции. Это необходимо исправить. Самое очевидное решение - вывод информации на дисплей. Мы уже условились, что на нынешнем этапе для работы нашей ОС будет необходима VGA-совместимая карта и дисплей, так что вправе рассчитывать на их наличие.

Программирование VGA-контроллера - сложная штука. Однажды мы ею обязательно займёмся, но сейчас, раз уж мы всё ещё в Реальном режиме, есть вариант попроще: функции BIOS. Функции, связанные с работой дисплея, доступны через прерывание 10h. Мы уже пользовались им для вывода текста в первичном загрузчике, но так как теперь мы не ограничены в размере программы, функционал можно будет расширить.

Первое, что нам стоит сделать - установить нужный видеорежим на случай, если BIOS этого не сделала. Кроме того, понадобятся функции считывания положения курсора, прокрутки экрана и вывода строки. Весь код, связанный с вводом/выводом будет храниться в отдельном файле. У меня он называется io.inc. Мы ещё не использовали подключаемые файлы, но ничего сложного тут нет: в TASM они объявляются директивой include, после которой идёт путь и имя файла. Единственная тонкость тут в том, что подключенный файл не будет вынесен в какую-то изолированную область памяти, как это делается в языках высокого уровня, а окажется в исполняемом файле именно там, где был объявлен. Поэтому лучше объявлять подключаемые файлы где-нибудь в конце, за пределами основного кода.

VGA имеет набор стандартных режимов отображения, с которым можно ознакомиться тут:

http://www.columbia.edu/~em36/wpdos/videomodes.txt

Нас интересует режим номер 3 - 80х25 символов, 16 цветов. Для его включения создадим в файле io.inc процедуру set_vmode3. Её полный текст будет выглядеть так:

set_vmode3 proc
                                  push ax
                                  push bx
                                  pushf


                                  xor ax,ax
                                  mov ah,0Fh
                                  int 10h
                                  cmp al,03h
                                  je @@exit_good


                                  mov ax,0003h
                                  int 10h


                                  xor ax,ax
                                  mov ah,0Fh
                                  int 10h
                                  cmp al,03h
                                  jne @@exit_bad


@@exit_good:          mov byte ptr vmode,al
                                  mov byte ptr vcol,ah
                                  mov byte ptr vrow,19h
                                  mov byte ptr vpage,bh


                                  popf
                                  clc
                                  pop bx


                                  pop ax
                                  ret


@@exit_bad:            popf
                                  stc
                                  pop bx
                                  pop ax
                                  ret
set_vmode3 endp

Начинается процедура, как и почти всегда у меня, с сохранения состояния используемых регистров в стеке. Это нетипичный для ассемблера подход. Обычно, создавая низкоуровневый код, программист стремиться максимально оптимизировать использование инструкций, по возможности обходясь без обращений к памяти, использования стека и вызова процедур. К сожалению, при работе над большим проектом это невозможно, и я на горьком опыте выяснил, что лучше потратить лишние циклы на инкапсуляцию процедуры, чем потом мучительно отлавливать баг, который появился из-за того, что какой-то регистр внепланово изменил значение.

                    xor ax,ax                    mov ah,0Fh
                    int 10h
                    cmp al,03h
                    je @@exit_good

Этот блок нужен для того, чтобы остановить выполнение процедуры, если режим 3 уже установлен. Сначала регистр AX обнуляется, чтобы мы точно знали его значение. Функция 15 (0Fh) прерывания 10h возвращает в регистре AL номер установленного режима. Далее мы сравниваем результат с нужным значением (3), и если они равны, то переходим к завершению процедуры, метка @@exit_good. Если режим 3 не установлен, продолжаем.

                    mov ax,0003h                    int 10h

Здесь мы опять вызываем прерывание 10h со следующими параметрами: AH = 0(функция 0, установка видеорежима), AL = 3(номер режима). После этого снова идёт проверка режима. Если AL всё ещё не равен 0 - вероятно, возникла проблема, которую мы не сможем решить. Переходим к метке @@exit_bad. Если AL равен 3, продолжаем от @@exit_good. Первым делом - сохраняем в переменные параметры режима, которые вернуло прерывание 10h. В AL - номер режима; в AH - количество колонок символов; в BH - активную страницу видеопамяти (об этом позже). Параметр vrow не возвращается, потому что технически количество символьных строк ограничено только объёмом видеопамяти, а не размером дисплея. После этого восстанавливаем сохранённые в начале регистры, устанавливаем CF (флаг переноса) в нужное положение и завершаем процедуру.

Готово. Теперь в основной модуль после call read_BPB добавляем call set_vmode3 и после этого jc panic. JC - инструкция условного перехода. Переход выполняется при установленном флаге CF. То есть, если наша процедура set_vmode3 завершилась неудачно, программа продолжится от метки panic. Так как невозможность установить видеорежим говорит либо о серьёзных неполадках, либо о несовместимом оборудовании, продолжать выполнение смысла нет. После метки panic останавливаем программу инструкциями cli и hlt.

Далее стоит вывести какое-нибудь приветствие или заголовок, просто чтобы уведомить пользователя о том, что программа работает. Для этого первым делом стоит узнать положение курсора, ведь на экране скорее всего уже есть какой-то текст от BIOS. Это тоже можно сделать с помощью прерывания 10h. Добавьте в io.inc процедуру get_cursor_pos:

get_cursor_pos proc                                      push ax
                                      push bx
                                      push cx
                                      push dx
                                      pushf


                                      mov ah,03h
                                      mov bh,byte ptr vpage
                                      int 10h
                                      mov byte ptr cursor_X,dl
                                      mov byte ptr cursor_Y,dh


                                      popf
                                      pop dx
                                      pop cx
                                      pop bx
                                      pop ax
                                      ret
get_cursor_pos endp

Про сохранение/восстановление используемых регистров объяснять больше не буду, а в остальном тут всё просто: вызываем функцию 3 прерывания 10h, в BH передаём активную страницу видеопамяти. Прерывание возвращает в DL позицию курсора по X, а в DH - по Y. Сохраняем в переменных. Готово. Далее нам понадобится процедура для прокрутки содержимого дисплея. Тут чуть сложнее, добавьте в io.inc:

scroll_up proc                                     push ax
                                     push bx
                                     push cx
                                     push dx
                                     pushf


                                     mov ah,06h
                                     mov bh,CS_DEFAULT
                                     xor cx,cx
                                     mov dl,byte ptr vcol
                                     dec dl
                                     mov dh,byte ptr vrow
                                     dec dh
                                     int 10h


                                     popf
                                     pop dx
                                     pop cx
                                     pop bx
                                     pop ax
                                     ret
scroll_up endp

Функция прокрутки экрана BIOS требует, во-первых, цветовую схему, которой будут заполнены очищенные строки, а во-вторых, координаты верхнего левого и правого нижнего углов сдвигаемой области. Цветовая схема передаётся в регистре BH и состоит из цвета фона и цвета символа. Мы ещё не объявляли константы, давайте посмотрим, как это делается. Константы в отличие от подключаемых файлов можно объявлять где угодно, так как они нужны только на этапе компиляции и не попадают в исполняемый файл. В TASM для объявления констант используется инструкция equ. Вся конструкция выглядит так: ИМЯ КОНСТАНТЫ equ ЗНАЧЕНИЕ КОНСТАНТЫ. Так как в стандартной палитре третьего режима всего 16 цветов, уместно будет определить их в виде констант. Добавьте в код такую запись:

;Цвета фона.BC_BLACK               equ byte ptr 00h
BC_BLUE                 equ byte ptr 10h
BC_GREEN              equ byte ptr 20h
BC_CYAN                 equ byte ptr 30h
BC_RED                   equ byte ptr 40h
BC_MAGENTA          equ byte ptr 50h
BC_BROWN             equ byte ptr 60h
BC_LIGHTGRAY      equ byte ptr 70h


;Цвета символа.
SC_BLACK               equ byte ptr 00h
SC_BLUE                 equ byte ptr 01h
SC_GREEN              equ byte ptr 02h
SC_CYAN                 equ byte ptr 03h
SC_RED                   equ byte ptr 04h
SC_MAGENTA         equ byte ptr 05h
SC_BROWN             equ byte ptr 06h
SC_LIGHTGRAY      equ byte ptr 07h
SC_DARKGRAY       equ byte ptr 08h
SC_LIGHTBLUE       equ byte ptr 09h
SC_LIGHTGREEN   equ byte ptr 0Ah
SC_LIGHTCYAN      equ byte ptr 0Bh
SC_LIGHTRED        equ byte ptr 0Ch
SC_LIGHTMAGENTA equ byte ptr 0Dh
SC_LIGHTBROWN  equ byte ptr 0Eh
SC_WHITE               equ byte ptr 0Fh


;Несколько готовых цветовых схем.
CS_DEFAULT           equ BC_BLACK or SC_CYAN
CS_CLASSIC           equ BC_BLACK or SC_LIGHTGRAY
CS_DARK                 equ BC_BLACK or SC_DARKGRAY
CS_BLUE                 equ BC_BLUE or SC_LIGHTBLUE
CS_ALARM              equ BC_BLACK or SC_RED
CS_DEBUG              equ BC_BLUE or SC_WHITE
CS_INVERT             equ BC_LIGHTGRAY or SC_BLACK
CS_PANIC                equ BC_RED or SC_BLACK

Как видите, для передачи цвета фона/символа используется один байт. Нижние 4 бита отвечают за цвет символа, верхние - за цвет фона и некоторые другие эффекты (подчёркивание, мигание), которые нам сейчас не нужны. Теперь разберёмся с рабочей областью. Мы хотим сдвинуть вверх весь экран, поэтому верхняя левая точка будет в (0,0), а правая нижняя - в (число символов по X-1,число символов по Y-1). Первая передается в CX, вторая - в DX. Таким образом, код процедуры расшифровывается так:

AH=номер функции (6)BH=цветовая схема
CX=верхний левый угол рабочей области (0,0)
DX=правый нижний угол
Вызвать прерывание 10h

Процедура принимает число строк, на которое нужно прокрутить экран вверх, в AL. Добавьте после jc panic такой код:

                           call get_cursor_pos                           mov al,01h
                           call scroll_up

Последнее, что мы рассмотрим сегодня - вывод строки. Это функция 19 прерывания 10h. В качестве параметров она требует: сегмент и смещение строки в ES:BP; цветовую схему в BL; активную страницу видеопамяти в BH; позицию начала вывода по X в DL; позицию начала вывода по Y в DH; длину строки в CX; режим вывода в AL. Номер функции как всегда передаётся в AH.

Зная всё это, давайте подумаем, как организовать процедуру. В принципе тут всё почти однозначно, но что\ делать с длиной строки? Заносить в CX вручную перед каждым вызовом процедуры? Можно, но зачем раздувать код. Лучше включить эту информацию в саму строку. Например, приняв, что первые 16 бит строки будут содержать число символов в ней. У меня строка с заголовком загрузчика выглядит так:

str_title          dw 31                                                     ;Длина строки.                      db '=== Tardigrada Loader v.1.1 ==='    ;Строка.

Теперь давайте напишем саму процедуру в io.inc.

print_string proc                                   push ax
                                   push bx
                                   push cx
                                   push dx
                                   push bp
                                   push es
                                   pushf


                                   mov ax,0050h
                                   mov es,ax
                                   mov ax,1300h
                                   mov bh,byte ptr vpage
                                   mov cx,es:[bp]
                                   mov dh,byte ptr cursor_Y
                                   mov dl,byte ptr cursor_X
                                   add bp,0002h
                                   int 10h


                                   popf
                                   pop es
                                   pop bp
                                   pop dx
                                   pop cx
                                   pop bx
                                   pop ax
                                   ret
print_string endp

Наша процедура будет принимать два параметра: смещение строки в BP и цветовую схему в BL. Практически весь код - это заполнение регистров для вызова прерывания. В основном модуле после call scroll_up добавим:

                                   mov bl,CS_DEFAULT                                   mov bp,offset str_title
                                   call print_string
                                   mov al,01h
                                   call scroll_up

Этот код выведет заголовок и прокрутит экран ещё на одну строку вверх. Если всё сделано правильно, должно получиться что-то вроде этого:

^ Bochs for Windows - Display USER ,__£ m2 ■+Щ •te ТА Reset susPEno Rower- Û * ujf'tnu vvwet ù ф Please visit : . http://bochs.sourceforge.net . http ://www.nongnu.org/vgab ios Bochs UBE Display Adapter enabled Bochs 2.6.10.sun BIOS - build: 01/05/20 ^Revision: 13752 $ $Date:

Чистая дискета: https://drive.google.com/file/d/1Bold4ds8oEruHQ7fJZKHglVo7A2Vc5MR/view?usp=sharing

Исходники: https://drive.google.com/file/d/144cHXVlBskSiKt9zTAR1V535UQCeUyBL/view?usp=sharing

Bochs: https://drive.google.com/file/d/16k2Gpr7oPSekq4rAhmtBV0IPnIteDLlE/view?usp=sharing

Развернуть

Минск Белоруссия картоха омон Митинг политика судебная система РБ декрет №3 песочница 

Коротко о судебной системе в Беларуси

27 марта судья Московского района Татьяна Мотыль на основании показаний милиционеров дала 15 суток ареста оператору «Белсата» Александру Борозенко по статье о мелком хулиганстве. Телеканал опубликовал видео задержания журналиста, снятое им самим.
На суде милиционер Вариончик сказал, что Александр Борозенко выкрикивал нецензурную брань и не представлялся журналистом. Другой омоновец Артем Михалевич сказал, что Борозенко высказывал «недовольства» против декрета № 3.

Это видео было продемонстрировано и в суде. На нем путь журналисту и другим прохожим на тротуаре преграждают сотрудники ОМОН, отправляют к припаркованному рядом автозаку.
— Журналисты! — говорит Борозенко.
— Все, заходите, — указывает дубинкой на машину человек в форме.
Оператор идет туда и у входа снова повторяет:
— Удостоверение показать? Ребята, журналистское удостоверение показать? Все, могу идти? Журналист!
Рукой его приглашают пройти в автомобиль:
— Ну, снимайте!
Александр Борозенко входит с камерой в темный автозак.
Но судья Татьяна Мотыль не нашла оснований не верить сотрудникам милиции и отправила Борозенко на 15 суток ареста. Журналист объявил голодовку.

Оригинал:
https://news.tut.by/economics/537181.html
Развернуть

пидоры помогите VR 

пидоры, помогите _û ^ о 0:> <,пидоры помогите,реактор помоги,VR

Уважаемые пидоры, помогите.

Одолжил у друга VR шлем Oculus Quest 2. Думал наконец поиграю в Alyx. 

Но все оказалось не так просто. Пока я во внутренней системе самого шлема все прекрасно, установил границы и пол, поиграл в Beat Saber. Все прекрасно работает.

Как только я коннекчусь к ПК изображение уходит куда-то вверх и нижняя половина экрана это пустота. В настройках не нашёл ничего полезного кроме центровки изображения которая не делает ровным счетом ничего. "Посмотрите вперед и нажмите кнопку" Смотрю, жму ничего не происходит. Причем трансляция изображения на кран в Steam VR нормальная. В интернетах предлагают только настроить битрейт и потыкать какие-то настройки изображения, но про центровку ничего.

Сталкивался ли кто-то с подобной проблемой или знаете как решить ?

Развернуть

Беларусь флаг граница Вторжение в Украину 2022 политика 

Украинцы на погран переходах с Беларусью вместе с украинским вывесили бело-красно-белый флаг

Беларусь,страны,флаг,граница,Вторжение в Украину 2022,политика,политические новости, шутки и мемы

На это пожаловались белорусские пропагандисты с телеканала СТВ:

(А также, о том что тероборона ходит с гранатами и кричит "Аллах Акбар", постоянно шумят двигатели и лязгают гусеницы)

СТВ

При этом в телеверсии флаг был замазан

Беларусь,страны,флаг,граница,Вторжение в Украину 2022,политика,политические новости, шутки и мемы

Справочно: Бело-Кросно-Белый флаг - был государственным с 1991 по 1995 г. Заменён Лукашенко в 1995 г., после незаконного референдума. Используется противниками власти Лукашенко. Является символом независимой Беларуси без Лукашенко.

От себя: Спасибо Украинской теробороне за моральную поддержку.

Развернуть

Отличный комментарий!

Даешь бело-синие на границе с рф.
DeKonager DeKonager24.10.202210:04ссылка
+36.5
С этим пока сложно, придется постоянно переносить на новое место)
Sk10 Sk1024.10.202210:07ссылка
+104.7

Я Ватник фэндомы Ватные вбросы разная политота 

Статистика показывает, что люди образованные и состоявшиеся в жизни поддерживают Путина и его политику! Люди с низким уровнем интеллекта и малообразованные, как правило, против Путина!.. Но они всегда против всего, по причине неудовлетворенности собственной жизнью в социуме. Это так называемые
Развернуть

смешные картинки 

смешные картинки,фото приколы
Развернуть

#Приколы для даунов Wednesday Addams Семейка Аддамс консультант консультант плюс 

Ваау, я так на нее похожа Мне никогда не стать таким же крутым как он,Приколы для даунов,разное,Wednesday Addams,Семейка Аддамс,консультант,консультант плюс
Развернуть

mohamed saad artist Among Us Игры game art 

mohamed saad,artist,Among Us,Игры,game art,EdJubey,artist,Among Us,games,game art


Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме справочная система (+1000 картинок)