powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вывод текста на микроассемблере посередине экрана
2 сообщений из 2, страница 1 из 1
Вывод текста на микроассемблере посередине экрана
    #37971947
Алексей994
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем мне нужен код программы, которая выводит посередине экрана введенный пользователем текст с ограничением ввода, ниже строки, где выводится символ.
мой багнутый код( в начале флаг рисую до 56-ой строчки и символ , не обращайте внимания)


;ПРИМЕР EXE-ПРОГРАММЫ
;Определение сегмента стека /можно оставлять без изменения/
;Имя сегмента стека - stacksg
sseg segment para stack 'stack' ;Стандартный заголовок определения стека
db 32 dup(?) ;Задание глубины стека
sseg ends ;Конец сегмента стека

;Определение сегмента данных
;Имя сегмента данных - datasg
datasg segment para 'data' ;Стандартный заголовок определения данных
;Здесь определяются данные

dalen label byte
maximum db 21
unity db ?
A DW ?
dark db 21 dup (' '),'$'
string db 'Enter a number:',13,10,'$'
string2 db 'Enter a string',13,10,'$'

ends ;Конец сегмента данных

;Сегмент кода - тело программы
codesg segment para 'code' ;Заголовок сегмента кода
begin proc far ;Начало программы - основной процедуры
;-------------------------------------------------------------------------
assume cs:codesg,ds:datasg,ss:sseg ; \
push ds ; \
sub ax,ax ; Стандартный заголовок любой
push ax ; EXE - программы
mov ax,datasg ; /
mov ds,ax ; /
;-------------------------------------------------------------------------
;Непосредственно ваша программа
MOV AX,0700H ; AH 06 прокрутка
; AL 00 весь экран
MOV BH,16h ; синий
MOV CX,0000 ; от 0000
MOV DX,184FH ; до 24,79(полный экран)
INT 10H ; биос

MOV AX,0600H ; AH 06 прокрутка
; AL 00 весь экран
MOV BH,76h ; белый
MOV CX,0025 ; от 0000
MOV DX,184FH ; до 24,79(полный экран)
INT 10H ; биос

MOV AX,0600H ; AH 06 прокрутка
; AL 00 весь экран
MOV BH,46h ; красный
MOV CX,0055 ; от 0000
MOV DX,184FH ; до 24,79(полный экран)
INT 10H ; биос

MOV AH, 02 ;место вывода операнда
MOV BH, 00
MOV DX, 0100H
INT 10H

MOV AH, 09 ;выводим первый операнд
LEA DX, string
INT 21H ; Вызов DOS

MOV AH, 01 ;читаем первый символ
INT 21H

MOV AH, 02 ;выводим здесь
MOV DX, 0C27H
INT 10H

;получаем код следующей нажатой клавиши
MOV DL, AL
INT 21H

MOV AH, 02
MOV DX, 0300H ;место вывода операнда
INT 10H

MOV AH, 09 ;выводим второй операнд
LEA DX, string2
INT 21H

MOV AH, 0AH ;вывод символов
LEA DX, dalen
MOV A, CX
INT 21H

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MOV AH, 02 ;размещение строки посередине символа

MOV AH, 00
MOV AL, 02
MOV CL, 02
DIV CL

MOV DL, 41
SUB DL, AL

MOV DH, 13
MOV AH, 02
INT 10H

MOV AH, 09H ;вывод строки
MOV CX, 21
LEA DX, dark
INT 21H
;-------------------------------------------------------------------------
ret
begin endp
codesg ends ;
end begin ;
...
Рейтинг: 0 / 0
Вывод текста на микроассемблере посередине экрана
    #37972122
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Алексей994В общем мне нужен код программы если "нужен" - это в работу.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вывод текста на микроассемблере посередине экрана
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]