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

TASM: элементы каждой нечетной строки матрицы умножить на 2

12.12.2014, 07:55. Просмотров 300. Ответов 0
Метки нет (Все метки)

Всем привет! Ребят, помогите доработать программу. По заданию элементы каждой нечетной строки двумерного массива нужно умножить на 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
.model small 
.stack 100h
.data
msg1 db 'Please enter 10 letters:$'
msg2 db 10,'New array:$'
msg3 db 10,'Press any key...$'
mas1 db 5*5 dup(?)
.code
 
start:
push @data
pop ds
 
mov ax,0003h
int 10h
 
mov ah,09h
lea dx,msg1
int 21h
 
mov si,00h
 
input:
       mov ah,08h
       int 21h
       
       cmp al,'0'
       jb input
       
       cmp al,'9'
       ja input
       
m1:
    
    mov mas1[si],al
    
    mov ah,02h
    mov dl,al
    int 21h
    
    inc si
    
    cmp si,25
    
    jne input
    
    mov si,00h
 ;по моему тут что то делаю не так 
mov cx,3
stroka:
 mov si,0 
push cx
mov cx,5
umn:
push cx
mov al,[mas1+si]
mov bl,2
mul bl
mov [mas1+si],al
pop cx
loop umn
add si,12
pop cx
loop stroka
 
 
mov ah,09h
lea dx,msg2
int 21h
mov si,00h
output: 
       mov ah,02h
       mov dl,mas1[si]
       int 21h     
       
       inc si
       
       cmp si,25
       jne output
       
       mov ah,09h
       lea dx,msg3
       int 21h
       mov ah,08h
       int 21h
       mov ax,4c00h
       int 21h
end start
Добавлено через 13 часов 23 минуты
Алгоритм поправил
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
108
.model small 
.stack 100h
.data
msg1 db 'Please enter 10 letters:$'
msg2 db 10,'New array:$'
msg3 db 10,'Press any key...$'
new     db 13,10,'$'
mas1 db 10*10 dup(?)
.code
 
start:
push @data
pop ds
 
mov ax,0003h
int 10h
 
mov ah,09h
lea dx,msg1
int 21h
 
mov si,00h
 
input:
       mov ah,08h
       int 21h
       
       cmp al,'0'
       jb input
       
       cmp al,'9'
       ja input
       
m1:
    
    
    
    mov ah,02h
    mov dl,al
    int 21h
    
    sub al, '0'
    mov mas1[si],al
    
    inc si
    
    cmp si,100
    
    jne input
    
    mov bx,00h
    
m2: inc bx
    cmp bx,10
    je done
    mov ax, bx
    and ax,1
    cmp ax,0
    je m2
    mov si,00h
    mov dx,10
    mov ax,bx
    mul dx
    mov bx,ax
m3: mov al, mas1[bx][si]
    mov dl,2
    mul dl
    mov mas1[bx][si], al
    inc si
    cmp si, 10
    jne m3
    mov ax,bx
    mov dl,10
    div dl
    xor ah,ah
    mov bx, ax
    jmp m2
 
    
done:
 
mov ah,09h
lea dx,msg2
int 21h
mov si,00h
output:
    
       mov al,mas1[si]
       add al,'0'
       mov ah,02h
       mov dl,al
       int 21h     
      
       inc si
       
       cmp si,100
       jne output
       
       mov ah,09h
       lea dx,msg3
       int 21h
       mov ah,08h
       int 21h
       
       
       mov ax,4c00h
       int 21h
end start
Помогите сделать вывод двумерного массива 10х10
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2014, 07:55
Ответы с готовыми решениями:

Найти минимальные элементы каждой строки матрицы
В программе определить квадратную матрицу. Найти минимальные элементы каждой строки матрицы....

Создать вектор, содержащий минимальные элементы каждой строки матрицы
Помогите пожалйста. Задание: Дана числовая матрица mxn.Создать вектор размера m,содержащий...

[TASM] Умножить три числа
TASM умножить три числа - Assembler

TASM умножить два числа
assume SS:m1, DS:m2, CS:m3 m1 segment stack db 128 dup(?) m1 ends m2 segment a db 3 ...

Как вывести элементы главной диагонали матрицы размером NxN? (tasm)
Подскажите пожалуйста как вывести элементы главной диагонали матрицы размером n x n, матрица...

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

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

[emu8086] Найти в каждой строке матрицы максимальный и минимальный элементы
Дана матрица B. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их...

вывести на экран сумму каждой строки матрицы
Я ещё нуб мало в чём разобрался, при написании столкнулся с проблемой, не могу заставить прогу...


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

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

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