Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Перенос элемента из аккумулятора в цепочку
Эта операция-примитив позволяет произвести действие, обратное команде lods, то есть сохранить значение из регистра-аккумулятора в элементе цепочки. Эту операцию удобно использовать вместе с операциями поиска (сканирования) scans и загрузки lods с тем, чтобы, найдя нужный элемент, извлечь его в регистр и записать на его место новое значение. Команда stos stos адрес_приемнина (STOrage String) — сохранить элемент из регистра-аккумулятора al/ax/eax в цепочке. Команда имеет один операнд адрес_приемника, адресующий цепочку в дополнительном сегменте данных. Работа команды заключается в том, что она пересылает элемент из аккумулятора (регистра eax/ax/al) в элемент цепочки по адресу, соответствующему содержимому пары регистров es: edi/di. При этом содержимое edl/di подвергается инкременту или декременту (в зависимости от состояния флага df) на значение, равное размеру элемента цепочки. Примера. Программа производит замену в строке всех символов ‘а’ на другой символ. Символ для замены вводится с клавиатуры.
; prg_11_5.asm MASM MODEL small STACK 256 .data ; сообщения fnd db 0ah, 0dh, 'Символ найден', '$' nochar db 0ah, 0dh, 'Символ не найден.', '$' mes1 db 0ah, 0dh, 'Исходная строка: ', '$' string db 'Поиск символа в этой строке.', 0ah, 0dh, '$'; строка для поиска mes2 db 0ah, 0dh, 'Введите символ, на который следует заменить найденный' db 0ah, 0dh, '$' mes3 db 0ah, 0dh, 'Новая строка: ', '$' .code assume ds: @data, es: @data; привязка ds и es ; к сегменту данных main:; точка входа в программу mov ax, @data; загрузка сегментных регистров mov ds, ax mov es, ax; настройка es на ds mov ah, 09h lea dx, mes1 int 21h; вывод сообщения mes1 lea dx, string int 21h; вывод string mov al, 'а'; символ для поиска- `а`(кириллица) cld; сброс флага df lea di, string; загрузка в di смещения string mov cx, 29; для префикса repne - длина строки ; поиск в строке string до тех пор, пока ; символ в al и очередной символ в строке ; не равны: выход- при первом совпадении cycl: repne scas string je found; если элемент найден то переход на found failed:; иначе, если не найден, то вывод сообщения nochar mov ah, 09h lea dx, nochar int 21h jmp exit; переход на выход found: mov ah, 09h lea dx, fnd int 21h; вывод сообщения об обнаружении символа ; корректируем di для получения значения ; действительной позиции совпавшего элемента ; в строке и регистре al dec di new_char:; блок замены символа mov ah, 09h lea dx, mes2 int 21h; вывод сообщения mes2 ; ввод символа с клавиатуры mov ah, 01h int 21h; в al - введённый символ stos string; сохраним введённый символ ; (из al) в строке ; string в позиции старого символа mov ah, 09h lea dx, mes3 int 21h; вывод сообщения mes3 lea dx, string int 21h; вывод сообщения string ; переход на поиск следующего символа 'а' в строке inc di; указатель в строке string на следующий, ; после совпавшего, символ jmp cycl; на продолжение просмотра string exit:; выход mov ax, 4c00h int 21h end main; конец программы
|