Форум программистов, компьютерный форум, киберфорум
FASM
Войти
Регистрация
Восстановить пароль
Другие темы раздела
FASM Нужно поиграть с цветом https://www.cyberforum.ru/fasm/thread1270158.html
Вот листинг: org 100h use16 jmp start message db 'HELLO WORLD!' len=$-message start: push cs pop ds
Драйвер на FASM'e FASM
Подскажите, как написать драйвер на FASM'e ?! Мне нужен кривой драйвер, чтоб выскочил BSOD (для тестирования). Если пишу как в примере, то компилит, ..получаю на выходе *.sys, но это-же не...
Обработка прерывания FASM
Всем привет! Есть задание: Написать на IBM PC программу перехвата заданного аппаратного прерывания. Программа должна перехватить прерывание и продемонстрировать обработку перехваченного прерывания...
FASM Программа для решения уравнения Добрый день! Необходима помощь в написании небольшой программки для решения уравнения f(x) = a*x/b для FASM. Желательно, чтобы результат выводился в отдельное окно и "x" можно было ввести с... https://www.cyberforum.ru/fasm/thread1266029.html
FASM Как считать число из текстового поля (edit)? https://www.cyberforum.ru/fasm/thread1262157.html
Хочу считать число, чтобы над ним можно было производить математические действия. Как это сделать в FASM?
Вывод строки на экран FASM
Всем привет! Есть задачка: написать на ассемблере программу вывода строки на экран: - прямой записью в видеопамять; - с использованием функции BIOS. Цвета символов должны быть разными....
FASM Hello world - классика
Добрый день:) Символически пытаюсь вывести hello world в консоль на асме. Консоль быстро закрывается. Подскажите, пожалуйста, как оформить ожидание ввода(чтобы консоль не закрывался)? P.S. Сам я...
FASM Массивы в FASM Ребятушки, выручайте! Нужна программа, которая будет вычислять количество чётных элементов в массиве. В ассемблере совсем не бум-бум, поэтому и обращаюсь за помощью)) https://www.cyberforum.ru/fasm/thread1257990.html
FASM Чтение данных из файла fasm https://www.cyberforum.ru/fasm/thread1257724.html
Здравствуйте.Я пытаюсь вывести на экран содержимое ранее созданного мною файла,а в ответ от компьютера получаю крякозябры.Вот код:org 100h mov ax,3d00h mov dx,path int 21h mov ah,3fh mov bx,ax...
FASM Оформить программу графикой Привет всем! Написал маленький код, и хочу его оформить... В основном вопросы по графике. Как залить строку цветом и изменить размер шрифта? Все функции пустил под сочетание клавиш (к примеру F2),... https://www.cyberforum.ru/fasm/thread1256857.html
Charles Kludge
Клюг
7658 / 3173 / 383
Регистрация: 03.05.2011
Сообщений: 8,381
08.10.2014, 14:36 0

Написать программу вывода строки на экран: прямой записью в видеопамять / функциями BIOS

08.10.2014, 14:36. Просмотров 991. Ответов 3
Метки (Все метки)

Ответ

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
    org 100h
 
    mov ax,3        ;vidmode 3 - 80*25
    int 10h
 
    mov si,message  ; si -> 'HELLO WORLD!'
    mov dx, si
    push    0B800h
    pop es      ; es = начало видеобуффера
    mov di, 50      ; 25 колонка, от балды
    mov cx, len     ; длина мессаги
    mov ah, 1       ; начальный атрибут, синий
@@: lodsb           ; получаем байт
    stosw           ; сохраняем вместе с атрибутом
    add di, 158     ; (80*2)-2, следующая строка
    inc ah      ; увеличиваем атрибут
    loop    @B      ; по длине строки
 
;cursor pos
    mov si, dx      ; возвращаем указатель взад
    mov di, 1       ; начальный атрибут, синий
    mov bp, di      ; сколько раз вывести символ, потом пригодится
    xor dx, dx      ; начальные координаты: 0,0
    mov cx, len     ; длина мессаги
@@: mov ah, 2           ; выставить позицию курсора
    mov bx,0        ; видеостраница 0
    int 10h
    push    dx      ; сохраняем координаты
    xchg    cx, bp      ; CX=1, сколько раз вывести символ
    push    ax              ; сохраняем двойку
    lodsb           ; AL=символ из строки
    xchg    di, bx      ; BH=видеостраница(0), BL=атрибут
    mov ah,9        ; выводим
    int 10h     ; символ
    xchg    cx, bp      ; вертаем взад длину строки
    pop ax      ; -//- # ф-ции
    pop dx      ; -//- координаты
    inc dh      ; увеличиваем # строки
    inc bl      ; прибавляем аттрибут
    xchg    di, bx
    loop    @B      ; по длине строки
    mov ah,00h      ; getch();
    int 16h
    ret         ; gtfo
    message db 'HELLO WORLD!'
    len=$-message


Вернуться к обсуждению:
Написать программу вывода строки на экран: прямой записью в видеопамять / функциями BIOS
2
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2014, 14:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Написать программу, которая должна включать функции для: - вывода шапки таблицы; - вывода данных одной строки
Написать программу, которая должна включать функции для: - вывода шапки таблицы; - вывода данных...

Написать программу определения вывода на экран
написать программу определения и вывода на экран всех двузначных чисел у которых при умножении на 2...

Написать программу вывода на экран таблицы Пифагора
Помогите написать программу вывода на экран таблицы Пифагора

Написать программу вывода на экран анимированного изображения.
Пожалуйста кто сможет,решите задачки.Очень надо.Заранее спасибки!!! 1)Дана ведомость учащихся,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.