Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Dialkord228
5 / 5 / 4
Регистрация: 30.11.2015
Сообщений: 107
Завершенные тесты: 1
1

Вывести часть массива

14.01.2016, 11:30. Просмотров 877. Ответов 5
Метки нет (Все метки)

Как переделать чтобы выводило запрос о коде начальной и конечной букв из ASCII-таблицы и выводило на экран только те буквы, которые окажутся между ними.
TASM, для DOS. Подскажите пожалуйста!
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
model tiny
.code
.startup
mov cl,16 ; счётчик столбцов j
mov ch,16 ; счетчик рядов i
mov dh, cl ; Установить 16 
l1:
mov dl, cl ; установить столбец за счетчиком 
jmp l3
l2:
mov dh, cl ; установить ряд за счетчиком 
jmp l3
l3:
mov ah,2
mov bh,0
int 10h 
mov bx,8 
mov ax,0
mov al,16 
mul dl 
add al,dh
mov ah,9 
mov cx,1 
int 10h
mov cl, dl
loop l1
mov dl,16
mov cl, dh
loop l2
mov dh, cl
ret
end
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 11:30
Ответы с готовыми решениями:

Вывести часть отсортированного массива
Сформировать одномерный массив целых случайных чисел. удалить все элементы, большие данного числа...

как вывести часть массива?
например массив А{10 3 4 5 1 9 4} а нужно вывести до его минимального значения, то есть B{10 3 4 5...

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

Вывести часть массива, расположенную между введёнными числами
Дан массив от 1 до 50.И сделать так чтобы выводился массив между числами введёнными с...

Вывести на экран часть массива расположенную выше главной диагонали.
Дан двумерный массив размером 10х10. Вывести на экран часть массива расположенную выше главной...

5
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,513
Записей в блоге: 5
14.01.2016, 21:10 2
Цитата Сообщение от Dialkord228 Посмотреть сообщение
Как переделать чтобы выводило запрос о коде начальной и конечной букв
...а теперь - задание по-русски!
0
Dialkord228
5 / 5 / 4
Регистрация: 30.11.2015
Сообщений: 107
Завершенные тесты: 1
15.01.2016, 00:11  [ТС] 3
R71MT, эта программа выводит все 256 символов, а как можно сделать чтобы можно было ввести от какого символа начать и каким закончить.(например с 67 по 123), чтобы оно вывело только эти символы.
0
Constantin Cat
2983 / 1117 / 376
Регистрация: 28.02.2015
Сообщений: 2,458
Завершенные тесты: 1
15.01.2016, 12:05 4
Лучший ответ Сообщение было отмечено Dialkord228 как решение

Решение

Цитата Сообщение от Dialkord228 Посмотреть сообщение
а как можно сделать
Как-то так:
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
model tiny
.code
org 100h
start:
    lea dx,dbStart
    call    inpnum
    push    di
    lea dx,dbStop
    call    inpnum
    mov al,13
    int 29h
    mov al,10
    int 29h
    pop ax
@@00:   int 29h
    inc ax
    cmp ax,di
    jbe @@00
    xor ax,ax
    int 16h
    ret
inpNum: mov ah,09
    int 21h
    xor di,di
    mov bx,10
@@01:   xor ax,ax
    int 16h
    cmp al,13
    jz  stop
    cmp al,'0'
    jb  @@01
    cmp al,'9'
    ja  @@01
    int 29h
    and ax,0fh
    xchg    ax,di
    xor dx,dx
    mul bx
    add di,ax
    jmp @@01
stop:   ret
dbStart db  10,13,'enter start index:$'
dbStop  db  10,13,'enter stop index:$'
    end start
2
R71MT
5309 / 1470 / 313
Регистрация: 29.07.2014
Сообщений: 2,513
Записей в блоге: 5
15.01.2016, 12:26 5
Ну или так (без ввода с клавиатуры).
Пример окна:
Код
Result...
=======================
¶§-¦^v><L-^Ў !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc
defghijklmnopqrstuvwxyz{|}~¦АБВГДЕЖЗИЙКЛМНОПРСТУФХ
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
ORG 100h
JMP start
 
mess0  DB  'Result...',13,10
       DB  '=======================',13,10,'$'
poss1  DB  53          ; начальная позиция
poss2  DB  250         ; конечная позиция
 
start:
   MOV   AH,9
   MOV   DX,mess0
   INT   21h
 
   AND   AX,0          ; АХ = 0
   IMUL  CX,0          ; СХ = 0
   ADD   AL,[poss1]    ; AL = смещение в ASCII-table
   MOV   CL,[poss2]    ;
   SUB   CL,[poss1]    ; СХ = сколько символов выводить
print:
   INT   29h           ; выводим на экран символ из AL
   INC   AL            ; сл.символ..
   LOOP  print
 
exit:
   XOR   AX,AX
   INT   16h
   INT   20h
1
Dialkord228
5 / 5 / 4
Регистрация: 30.11.2015
Сообщений: 107
Завершенные тесты: 1
15.01.2016, 13:35  [ТС] 6
R71MT,Constantin Cat, Спасибо большое!!
0
15.01.2016, 13:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2016, 13:35

Вывести на экран часть массива, расположенную ниже побочной диагонали.
Дан двухмерный массив размером 10 х 10, Вывести на экран часть массива:расположенную ниже побочной...

Вывести на экран часть массива, расположенную выше побочной диагонали
Многомерные массивы_1 Дан квадратный массив размером 15x15, заполненный цифрами. Вывести на экран...

Вывести на экран часть массива расположенную выше главной диагонали.
Люди разбирающиеся в Паскале помогите плиииииз!:wall: Мне на днях сдавать РГР, буду очень...


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

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

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