Удаление столбца в матрице (Assembler)
Программа удаления строчки:
DSEG SEGMENT
N DW 4
M dw 3
i dw 2
A dw 4,2,1
dw 1,3,2
dw 4,6,7
dw 1,8,7
B dw 3 dup (?)
TextA db 'Matrix* A: ',13,10,'$'
TextB db 'Matrix B: ',13,10,'$'
;********************************
Prob db ' $'
NL db 13,10,'$' ;перевод строки
Buffer db 6 dup (?),'$'
MST dw ?
MSTR dw ?
DSEG ENDS
Stacks segment
dw 140 dup (?)
Stacks ends
CODES SEGMENT
MAIN PROC FAR
Assume CS:codes, DS:dseg, SS:stacks
Mov AX,Dseg
Mov DS,AX
LEA DX,TextA
Call PRT ;Печать 'Матрица А: '
LEA BP,A ;В ВР адрес начала матрицы А
Mov AX,M
Mov MST,AX ; MST - количество столбцов матрицы
Mov AX,N
Mov MSTR,AX ; MSTR - количество строк матрицы
CALL PRINTMATR
LEA DX, TextB
CALL PRT
;Пусть i - BX, j - CX, k - DI
XOR BX, BX
BL1:
XOR CX,CX
XOR SI, SI
BL2:
MOV AX, BX
MUL M
ADD AX,CX
SAL AX,1
MOV DI, AX
MOV DX,A[DI]
CMP BX, i
JE BL8
MOV DI, SI
SAL DI, 1
MOV B[DI], DX
INC SI
CMP SI, M
JL BL8
LEA BP, B
MOV CX, SI
CALL PRINTMAS
BL8:
Inc CX
cmp CX, M
jl BL2
INC BX
CMP BX, N
JL BL1
mov ah,1
int 21h
Mov AH,4CH
Int 21h
MAIN ENDP
;*********************************************************
END MAIN
Подскажите как правильно записать сегмент кодов для столбца
да и прога не ваша.. )
Процедуры были (удалил) естественно не мои, а преподавателя. Привёл только для того, чтобы было видно что можно использовать. А сегмент кодов мой, что не так?
"удалил" - а нам предлагаете телепатией заниматься или ясновидением чтобы узнать что вы там на что меняли ? )