Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
arst
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 67
1

Заполнить экран произвольной информацией, по нажатию на "1" и "2" осуществлять скроллинг влево и вправо

24.05.2015, 16:54. Просмотров 186. Ответов 0
Метки нет (Все метки)

Само задание звучит так : Заполнить экран произвольной информацией, по нажатию на 1 и 2 осуществлять скроллинг влево и вправо соответственно

вопрос такой
в какой строчке мы указываем какими символами заполнять? можно ли заполнить не произвольной информацией?

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
95
96
97
98
99
100
101
102
103
104
105
106
107
.model small,c
.data
action      db 0
msg1        db 13,10,'Press Esc to exit',13,10,'$'
 
.stack 256
.code
 
start:
    mov ax,@data        
    mov ds,ax
    mov ah,9        
    lea dx,msg1     
    int 21h         
    mov ax,351ch        
    int 21h
    mov word  ptr  cs:Old1c,BX  
    mov word  ptr  cs:Old1c+2,ES
    mov ax,251ch        
    push ds         
    push cs
    pop ds          
    mov dx,offset  New1cObrab   
    int 21h             
    pop ds          
    mov ax,3
    int 10h         
    mov ax,0b800h
    mov es,ax       
    mov ah,15       
    xor di,di       
    mov al,0        
    mov cx,2000     
l1: stosw           
    inc al          
    loop l1                 
l2: cmp action,-1       
    jz ex           
    cmp action,1        
    jz left         
    cmp action,2        
    jz right        
    jmp l2          
left:   mov bx,0        
l4: mov dx,es:[bx]      
    mov cx,79       
l3: mov ax,es:[bx+2]    
    mov es:[bx],ax      
    add bx,2        
    loop l3         
    mov es:[bx],dx      
    add bx,2        
    cmp bx,4000     
    jb l4           
    mov action,0        
    jmp l2          
right:  mov bx,0        
l14:    add bx,79*2     
    mov dx,es:[bx]      
    mov cx,79       
l13:    mov ax,es:[bx-2]    
    mov es:[bx],ax      
    sub bx,2        
    loop l13        
    mov es:[bx],dx      
    add bx,160      
    cmp bx,4000     
    jb l14      
    mov action,0        
    jmp l2          
    
    
ex: mov ax,251ch        
    lds dx,cs:old1c     
    int 21h         
    mov ax,4c00h    
    int 21h
Old1c   dd  ?      
New1cObrab  proc        
    pushf           
    call    dword   ptr CS:[Old1c]  
    cli 
    push ds         
    push ax
    mov ax,@data
    mov ds,ax       
    mov ah,1        
    int 16h         
    jz ex1c         
    mov ah,0        
    int 16h         
    cmp al,27       
    jnz nesc
    mov action,-1       
    jmp ex1c        
nesc:   cmp al,'1'      
    jb ex1c         
    cmp al,'2'                
    ja ex1c                  
    sub al,'0'      
    mov action,al       
ex1c:   pop ax      
    pop ds
    sti 
    iret            
New1cObrab endp
end start
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2015, 16:54
Ответы с готовыми решениями:

Заменить в строке группу символов "123" на "!", результат вывести на экран
Помогите решить задачу. Ввести с клавиатуры строку. Заменить группу символов "...

Выходит ошибка Необработанное исключение в "0x0007102f" в "Lab08.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00078000". Как исправить
.586 .model flat, stdcall option casemap :none ; case sensitive ; Раздел...

Из двух строк "ABCDE" и "12345" сделать одну - "A1*B2*C3*D4*E5"
Нужно из двух строк ‘ABCDE’ и ‘12345’ сделать одну - ‘A1*B2*C3*D4*E5’....

Вывести на экран символ " * " в "шахматном порядке".
Вывести на экран символ " * " в "шахматном порядке".

Даны числа "x" и "z", если их сумма кратна 3, то вывести "1", если нет, то 0
Даны числа "x" и "z", если их сумма кратна 3, то вывести "1", если нет, то 0.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2015, 16:54

В словах, которые имеют окончание "ing", сделать замену "ing" на "ed"
Задан текст. Группы символов, разделённые пробелами (одним или несколькими) и...

Есть строка. Нужно сделать так, чтобы "re" и "not" заменялись на "***".
Есть строка. Нужно сделать так, чтобы "re" и "not" заменялись на "***". Data...

Изъять слова, которые имеют префикс "re", "not", "be"
Заданы символьная строка. Слова и идентификаторы разделяются хотя бы одним...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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