Консультация № 199473
31.10.2020, 12:13
0.00 руб.
0 2 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Реализовать циклическую и условную макрогенерацию.

Даны 3 квадратных матрицы различных размерностей. Для каждой из них заменить нулями все её
четные элементы, расположенные на главной диагонали или выше неё. Подсчитать количество таких замен.



Обсуждение

давно
Старший Модератор
31795
6196
02.11.2020, 15:04
общий
это ответ
Здравствуйте, mr.dima.zaz@mail.ru!

Код FASM:
[code lang=asm]org 100h
include 'D:\CAT\_Lang\fasm\fasm.17151\INCLUDE\MACRO\if.inc'
macro .for1 count,[memory]
{
mov si,memory
mov cx,count
.while cx>0
mov bx,count
.while bx>0
mov ax,[si]
.if bx<=cx
and ax,1
.if ax=0
mov [si],ax
.endif
.endif
add si,2
dec bx
.endw
dec cx
.endw
}
macro .for2 count,[memory]
{
mov si,memory
mov cx,count
.while cx>0
mov bx,count
.while bx>0
lodsw
or al,'0'
int 29h
dec bx
.endw
mov al,10
int 29h
mov al,13
int 29h
dec cx
.endw
mov al,10
int 29h
mov al,13
int 29h
}
n1 equ 5
.for2 n1, m1
.for1 n1, m1
.for2 n1, m1

xor ax,ax
int 16h;
ret
m1 dw 1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5[/code]
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
02.11.2020, 15:26
общий
Адресаты:
Забыл счетчик добавить.
[code lang=asm]org 100h
include 'D:\CAT\_Lang\fasm\fasm.17151\INCLUDE\MACRO\if.inc'
macro .for1 count,[memory]
{
mov si,memory
mov cx,count
xor dx,dx
.while cx>0
mov bx,count
.while bx>0
mov ax,[si]
.if bx<=cx
and ax,1
.if ax=0
mov [si],ax
inc dx
.endif
.endif
add si,2
dec bx
.endw
dec cx
.endw
mov al,10
int 29h
mov al,13
int 29h
mov ax,dx
aam
or ax,'00'
push ax
mov al,ah
int 29h
pop ax
int 29h
mov al,10
int 29h
mov al,13
int 29h
}
macro .for2 count,[memory]
{
mov si,memory
mov cx,count
.while cx>0
mov bx,count
.while bx>0
lodsw
or al,'0'
int 29h
dec bx
.endw
mov al,10
int 29h
mov al,13
int 29h
dec cx
.endw
}
n1 equ 5
.for2 n1, m1
.for1 n1, m1
.for2 n1, m1

xor ax,ax
int 16h;
ret
m1 dw 1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5,\
1,2,3,4,5[/code]
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа