Last active
August 29, 2015 14:25
-
-
Save derofim/c5280ce236eceb62df3e to your computer and use it in GitHub Desktop.
asm diag
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; matrix diag | |
include io.asm | |
; STACK | |
stk segment stack | |
db 32 dup (?) | |
stk ends | |
; DATA | |
data segment | |
n dw ? | |
m dw ? | |
ArrSize dw ? | |
a dw 100 dup (?) | |
data ends | |
; CODE | |
code segment | |
main proc | |
assume ss:stk, ds:data, cs:code | |
push ds | |
xor ax,ax | |
push ax | |
mov ax, data | |
mov ds, ax | |
; Матрицы | |
; Размер матрицы | |
inint n | |
inint m | |
mov ax,n | |
mul m | |
mov ArrSize,ax | |
; Ввод элементов | |
mov cx,ArrSize | |
xor bx,bx | |
Vvod: | |
inint a[bx] | |
add bx,2 | |
loop Vvod | |
; Обработка элементов | |
mov cx,n ; Внешний цикл пробегает по строкам | |
mov bx,m | |
add bx,m | |
sub bx,2 ; bx пробегает по элементам последнего столбца | |
mov di,m ; di равно кол-ву обрабатываемых в строке элементов | |
C1: | |
push cx | |
mov cx, di | |
push bx | |
C2: | |
outint a[bx] | |
sub bx,2 | |
loop C2 | |
pop bx | |
sub di,1 | |
add bx,m | |
add bx,m | |
pop cx | |
loop C1 | |
@Exit: | |
mov ah, 4ch | |
int 21h | |
main endp | |
code ends | |
end main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
😆