Автор Игорь Кадурин задал вопрос в разделе Другие языки и технологии
как на Assembler организовать вывод сообщений на экран? и получил лучший ответ
Ответ от Миоко Таканава[гуру]
Для вывода на экран в DOS программах обычно используют функцию 9 системного сервиса DOS (прерывание 21h):
data segment
msg db 'Сообщение$'
data ends
code segment
assume cs:code, ds:data
start: mov ax,data
mov ds,ax
...
lea dx,msg; загрузка смещения начала сообщения
mov ah,9; номер функции
int 21h; вызов системной функции
...
mov ah,8
int 21h
mov ah,4Ch
int 21h
code ends
end start
Или то же самое, но в другой нотации:
model small
.data
msg db 'Сообщение$'
.stack 100h
.code
start: mov ax,@data
mov ds,ax
...
lea dx,msg
mov ah,9
int 21h
...
mov ah,8
int 21h
mov ah,4Ch
int 21h
end start
Функция выводит на экран сообщение, начало которого передаётся ей в регистре dx, пока не встретится код символа "$".
Поэтому с её помощью нельзя вывести на экран значок доллара.
Миоко Таканава
Гений
(51022)
А здесь что, намного больше? Всего три инструкции процессора.
Только материться не стоит здесь.
Например писать напрямую в видеопамять. Которая расположена по известному адресу.
Помогите написать программу на ассемблере "Hello world" и прокоментировать каждую строчку!!!
Вы не можете найти правильную программу, потому что ищете, не задавшись очень важными для
подробнее...
Что именно делает в ассемблере функция int 21h ?
Это прерывание доса, функций у него целая куча, в зависимости от содержимого ah. Поэтому перед
подробнее...
Зачем нужны вирусы, и кто их создал, и для чего?
Так кто же пишет вирусы? На мой взгляд, основную их массу создают студенты и школьники, которые
подробнее...
что обозночает @
@ — типографский символ, первоначально использовавшийся в платёжных документах на месте англ. at,
подробнее...
Умники! А как правильно называется "собака" @ из электронной почты?
самой вот интересно стало, и я к вам зашла
подробнее...
Нужна программа на Ассемблере [Assembler, SOS =D]
1ая. SASM IDE (NASM + макросы для вывода), на базе Linux, но с миним. переделками заработает в
подробнее...
Вывод значения регистра на экран. ассемблер
Прежде всего, необходимо преобразовать число в строку.
А вам могу дать (не самую лучшую)
подробнее...