IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Вывод строки на экран 2 способами, Не правильно работает программа.
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Задание: Написать на ассемблере IBM PC 2 программы вывода строки на экран:
1)прямой записью в видеопамять
2)с использованием функций BIOS.
Направление строки снизу вверх, в цветности задать цвет фона, символы вывести разными цветами.

Проверьте плиз правильно работают программы или нет? Я сам проверить не могу. У меня на виндусе вообще ничего не выводится, могу проверить только на линуксе в универе. У меня есть сомнения, что вторая программа не правильно работает! Заранее спасибо! smile.gif

Программа №1.

model small
stack 100h
.data
message db 'Operacionnaya sistema'
.code
main:
mov ax,@data
mov ds,ax
mov ax,0B800h
mov es,ax
mov di,0C8Ah
mov si,0
mov ah,00010000b
mov cx,21
m1:
mov ax,es:[di]
mov al,message[si]
add ah,00000001b
inc si
mov es:[di],ax
sub di,160
loop m1
mov ax,4c00h
int 21h
end main


Программа №2.

model small
.stack 100h
.data
message db 'Operacionnaya sistema'
.code
main:
mov ax,@data
mov ds,ax
mov cx,1
mov si,1
mov dh,21
mov dl,5
mov bh,0
m1:
mov ah,02h
int 10h
mov ah,09h
mov al,message[si]
add bl,00000001b
int 10h
inc si
dec dh
inc bl
loop m1
mov ax,4c00h
int 21h
end main
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Программа №1 работает в Windows после небольших дополнений (под словом "линукс" имелся в виду DosBox? smile.gif) :
 model small
stack 100h
.data
message db 'Operacionnaya sistema'
.code
main:

mov ax,3 ;! установка видеорежима 80 x 25
int 10h ;!

mov ax,@data
mov ds,ax
mov ax,0B800h
mov es,ax
mov di,0C8Ah
mov si,0
mov ah,00010000b
mov cx,21
m1:
mov ax,es:[di]
mov al,message[si]
mov ah,70h
inc si
mov es:[di],ax
sub di,160
loop m1

mov ah,8 ;! задежка перед выходом до нажатия любой клавиши
int 21h ;!

mov ax,4c00h
int 21h
end main



--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 18:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name