Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 3
1

Вывести на экран 3 буквы КСВ

06.04.2015, 16:14. Показов 2989. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Постановка задачи:
С использованием встроенного ассемблера языка Borland Pascal в графическом видеорежиме 320x200 256 цветов, при обращении напрямую к видеопамяти, вывести изображение – первую букву фамилии, имени и отчества учащегося. Высота символов должна быть не менее 2/3 высоты экрана, толщина начертания символов 20–40 пикселей. Зафиксировать изображение на экране до нажатия любой клавиши. По завершении работы программа должна восстанавливать видеорежим (установить тот режим, который был до запуска программы).

Буквы: КСВ
Может у кого завалялось что нить подобное. очень надо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2015, 16:14
Ответы с готовыми решениями:

Вывести на экран три буквы, которые составляются из введенного символа
Люди, помогите пожалуйста сделать такую программу: Используя прерывания INT 10H и INT 16H...

В режиме 00 вывести на экран свое имя с изменением атрибутов всех букв кроме первой буквы -- они должны мигать
В режиме 00 вывести на экран свое имя с изменением атрибутов всех букв кроме первой буквы -- они...

Вывести на экран строчные латинские буквы
Помогите пожалуйста вывести на экран строчные латинские буквы в порядке, обратном...

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

14
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
06.04.2015, 17:06 2
https://www.cyberforum.ru/post2795380.html
И никаких Трупо-Паскакалей.
1
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 3
06.04.2015, 19:15  [ТС] 3
это была первая лаба дк как сделать эту
0
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,927
07.04.2015, 10:16 4
Лучший ответ Сообщение было отмечено Karpuha как решение

Решение

Завалялось
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var
mode:char;
begin
asm
 mov ah,$0f
 int $10
 mov mode,al
 mov ax,$13
 int $10
 
 mov ax,$a000
 mov es,ax
 mov di,10*320+10
 mov dx,180
 mov cx,30
 call @block
 mov di,85*320+40
 mov dx,30
 mov cx,30
 call @block
 mov di,10*320+70
 mov dx,180
 mov cx,30
 call @block
 
 
 mov di,55*320+115
 mov dx,135
 mov cx,30
 call @block
 mov di,85*320+145
 mov dx,30
 mov cx,30
 call @block
 mov di,55*320+175
 mov dx,135
 mov cx,30
 call @block
 mov di,10*320+160
 mov dx,45
 mov cx,1
 @2:
 call @line
 add cx,2
 add di,320-1
 dec dx
 jnz @2
 
 
 mov di,10*320+220
 mov dx,180
 mov cx,30
 call @block
 mov di,10*320+250
 mov dx,30
 mov cx,60
 call @block
 mov di,85*320+250
 mov dx,30
 mov cx,60
 call @block
 mov di,40*320+280
 mov dx,45
 mov cx,30
 call @block
 
 
 
 xor ah,ah
 int $16
 mov ah,0
 mov al,mode
 int $13
 jmp @ex
 
@block:
@1:
 call @line
 add di,320
 dec dx
 jnz @1
ret
 
@line:
 push di
 push cx
 mov al,15
 rep stosb
 pop cx
 pop di
 ret
 @ex:
 end;
 end.
Только предвижу новую тему. "Помогите переделать под мои буквы")))
2
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
07.04.2015, 10:43 5
Цитата Сообщение от alexcoder Посмотреть сообщение
Только предвижу новую тему. "Помогите переделать под мои буквы")))
alexcoder,
"Все уже украдено до нас..." (© "Операция «Ы» и другие приключения Шурика")
смотрим здесь Рисование в Assembler
0
Модератор
Эксперт по компьютерным сетям
1762 / 671 / 141
Регистрация: 10.06.2009
Сообщений: 2,604
09.04.2015, 09:44 6
Цитата Сообщение от Charles Kludge Посмотреть сообщение
И никаких Трупо-Паскакалей.
Графика "толсто" под CGA написана, под рукой машинка была побаловался)))
0
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 36
15.12.2021, 23:53 7
извиняюсь , можете подсказать , что я должен изменить , что бы выводились мои инициалы - БЕА?
много сайтов прочекал, но так и не нашел русские буквы под ассэмблер ((
0
Модератор
977 / 536 / 279
Регистрация: 10.11.2019
Сообщений: 1,132
16.12.2021, 12:15 8
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
47
48
49
50
51
52
53
54
55
56
57
58
; извиняюсь  , можете подсказать , что я должен изменить ,
; что бы выводились мои инициалы - БЕА?
; много сайтов прочекал, но так и не нашел русские буквы под ассэмблер
    .model small
    .code
    org 100h
start:  jmp beg
scrwid=320 ; ширина экрана в точках
wid=24 ; ширина картинки
ht=7   ; высота картинки
; картинка
txt db "*******.*******..*****.."
    db "**......**......**...**."
    db "**......**......**...**."
    db "******..******..*******."
    db "**...**.**......**...**."
    db "**...**.**......**...**."
    db "******..*******.**...**."
beg:    push cs
    pop  ds
    mov ax,0A000h ; ES=сегмент видеопамяти граф режима
    mov es,ax
    mov ax,13h ; установка граф режима (320*200*256 цветов)
    int 10h
    mov di,scrwid*56+16 ; адрес верхего левого угла картинки
    mov si,offset txt ; адрес источника еартинки
    mov cx,ht ; высота в строках
m0: push cx
    mov cx,12 ; высота блока
m1: push cx
    push di
    push si
    mov  cx,wid ; ширина в символах
m2: push cx
    lodsb ; считать символ
    cmp al,"*" ; это "*" ?
    mov al,0 ; черный цвет
    jnz cont
    mov al,15 ; белый цвет
cont:   mov cx,12  ; ширина блока
    rep stosb ; нарисовать линию блока
    pop cx
    loop m2
    pop si
    pop di
    add di,scrwid ; следующая линия экрана
    pop cx
    loop m1
    pop cx
    add si,wid ; следующая линия блоков
    loop m0
    mov ah,0 ; картинка нарисована - ожидание нажатия на клавишу
    int 16h
    mov ax,3 ; текстовый режим
    int 10h
    mov ax,4C00h ; выход в Dos
    int 21h
    end start
0
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 36
16.12.2021, 14:14 9
@alex
Ну что я могу сказать... ничего не работает вообще
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
16.12.2021, 14:49 10
bydychiy_progra,
Можно было и экзе- или сом-файл прикрепить...
Миниатюры
Вывести на экран 3 буквы КСВ  
0
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 36
16.12.2021, 15:08 11
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var
mode:char;
begin
asm
 mov ah,$0f
 int $10
 mov mode,al
 mov ax,$13
 int $10
 
 mov ax,$a000
 mov es,ax
 mov di,10*320+10
 mov dx,180
 mov cx,30
 call @block
 mov di,85*320+40
 mov dx,30
 mov cx,30
 call @block
 mov di,10*320+70
 mov dx,180
 mov cx,30
 call @block
 
 
 mov di,55*320+115
 mov dx,135
 mov cx,30
 call @block
 mov di,85*320+145
 mov dx,30
 mov cx,30
 call @block
 mov di,55*320+175
 mov dx,135
 mov cx,30
 call @block
 mov di,10*320+160
 mov dx,45
 mov cx,1
 @2:
 call @line
 add cx,2
 add di,320-1
 dec dx
 jnz @2
 
 
 mov di,10*320+220
 mov dx,180
 mov cx,30
 call @block
 mov di,10*320+250
 mov dx,30
 mov cx,60
 call @block
 mov di,85*320+250
 mov dx,30
 mov cx,60
 call @block
 mov di,40*320+280
 mov dx,45
 mov cx,30
 call @block
 
 
 
 xor ah,ah
 int $16
 mov ah,0
 mov al,mode
 int $13
 jmp @ex
 
@block:
@1:
 call @line
 add di,320
 dec dx
 jnz @1
ret
 
@line:
 push di
 push cx
 mov al,15
 rep stosb
 pop cx
 pop di
 ret
 @ex:
 end;
 end.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
16.12.2021, 15:46 12
bydychiy_progra,
это ассемблерная вставка, а где полный текст программы? А еще лучше прикрепленный ехе-файл
0
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 36
16.12.2021, 16:39 13
это и есть полный текст программы. Файлы не могу прикрепить - " некорректный файл"
0
Модератор
977 / 536 / 279
Регистрация: 10.11.2019
Сообщений: 1,132
16.12.2021, 17:46 14
Pascal
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var
mode:char;
begin
asm
    jmp @beg
; картинка
@txt:   db "*******.*******..*****.."
    db "**......**......**...**."
    db "**......**......**...**."
    db "******..******..*******."
    db "**...**.**......**...**."
    db "**...**.**......**...**."
    db "******..*******.**...**."
@beg:   PUSH DS
    PUSH ES
    mov ah,$0f { сохранить текущий видеорежим в mode }
    int $10
    mov mode,al
    mov ax,$13 { установить видео 320*200*256 }
    int $10
    PUSH CS { DS=сегмент кода }
    POP  DS
    MOV AX,$0A000  { ES=сегмент видео }
    MOV ES,AX
    mov di,320*36+16 { адрес верхнего левого угла картинки }
    lea si,@txt { адрес источника картинки }
    mov cx,7 { высота в строках }
@m0:    push cx
    mov cx,18 { высота блока }
@m1:    push cx
    push di
    push si
    mov  cx,24 { ширина в символах}
@m2:    push cx
    lodsb { считать символ }
    cmp al,"*" { это "*" ? }
    mov al,0 { черный цвет }
    jnz @cont
    mov al,15 { белый цвет }
@cont:  mov cx,12  { ширина блока }
    rep stosb { нарисовать линию блока }
    pop cx
    loop @m2
    pop si
    pop di
    add di,320 { следующая линия экрана }
    pop cx
    loop @m1
    pop cx
    add si,24 { следующая линия блоков }
    loop @m0
 xor ah,ah
 int $16
 mov ah,0
    POP ES { восстанавливаем DS ES }
    POP DS
 mov al,mode { восстанавливаем видеорежим }
 int $10
 end; { end asm }
 end.
1
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 36
16.12.2021, 17:50 15
@qbfan
Теперь всё заработало,шикарно!!! Благодарю вас,добрый человек
0
16.12.2021, 17:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2021, 17:50
Помогаю со студенческими работами здесь

Вывести из введенной строки на экран только нечетные по порядку буквы
Написать программу, которая выведет из введенного строке на экран только нечетные по порядку буквы....

Ввести символьную строку с клавиатуры и вывести на экран определенные заглавные буквы
ввести символьную строку с клавиатуры и вывести на экран те заглавные буквы строки в которых биты...

Вывести на экран прописные буквы латинского алфавита (цикл без LOOP)
Написать программу, которая выводит на экран прописные буквы латинского алфавита, для этого...

В строке найти и вывести на экран слово, в котором код первой буквы наибольший
Помогите написать программу: В строке найти и вывести на экран слово, в котором код первой буквы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru