Помогите закоментировать программу Ассемблер Tasm
.model small
.stack 512
.data
str1 DB '1sdhe5qyu56udfyhryh57iytdgw5u7356j7yfdh',0h
str2 DB 'yfd',0h ;строка для поиска
addr DW outbyte1
addr1 DW outbyte1
n1 DW ? ; Длина строки S1
n2 DW ? ; Длина строки S2
msg4 db ' simvola$'
MsgF DB 'Stroka naidena s $'
MsgNF DB 'Stroka ne naidena $'
OutArr DB 3 dup (?) ; временный массив - буфер вывода
assume cs:_DATA
outbyte1 proc
push bp ;Входная последовательность-сохранение старого BP
mov bp,sp;Установка указателя на запись активации
push ax
push dx
push cx
push bx
push si
mov si,0
xor ax,ax;очистка акомулятора
mov al,[bp+6]
push ax
loop_div:
pop ax
mov ch,10
div ch;деление без остатка
xor cx,cx
mov cl,al
push cx
mov dl,ah
add dl,48
mov OutArr[si],dl
inc si;прибавляет 1 к байту млм слову
cmp cx,0;сравнение
jne loop_div
pop cx
mov cx,si
dec si;вычитает 1 из байта или слова
outarray:
xor ax,ax
xor dx,dx
mov dl,OutArr[si]
dec si
mov ah,2
int 21h
loop outarray
pop si;Выходная последовательность-востановление старого si
pop bx
pop cx
pop dx
pop ax
pop bp
retf 2
outbyte1 endp
.code
m1:mov ax,@DATA ; Установка регистра DS на сегмент данных
mov ds,ax
mov es,ax
mov ah,0 ;уст. видео режим. Очистить экран
mov al,2 ;текст, формат окна 80x25
int 10h ;видео сервис
; Определение длины строки S1
lea di, str1
cld
mov cx,256
mov al,0h
repne scasb
mov ax,256
sub ax,cx
dec ax
mov n1,ax
; Определение длины строки S2
lea di, str2
cld
mov cx,256
mov al,00h
repne scasb
mov ax,256
sub ax,cx
dec ax
mov n2,ax
; Инициализация
mov si,0
mov di,0
mov bx,0
mov ax,n1
sub ax,n2
inc ax
cikl:
cmp bx,[n1]
jnz nextiter
jmp NOTfounded
; Символы равны
nextiter:
mov cx,n2
lea di,str1
lea si,str2
add di,bx
inc bx
repe cmpsb
jne cikl
jmp founded
founded:
mov ah,09h
lea dx,MsgF
int 21h
; первод номера позиции в стороку и вывод на экран
;mov ah,bl
int 3
mov addr,offset(outbyte1)
mov addr1,@DATA
push bx
mov bx, offset(addr)
call dword ptr [bx]
mov ah,09h ; помещаем в al 09h - при 21 прирывании будет выведено сообщение
mov dx,offset(msg4) ;загружаем в dx адрес ASCII строки символов заканчивающихся '$'
int 21h
jmp mainend
NOTfounded:
mov ah,09h
lea dx,MsgNF
int 21h
mainend:
mov ax,4C00h
int 21h
end m1