STACKS SEGMENT PARA STACK 'STACK'
DB 512 DUP (?)
STACKS ENDS
DATA SEGMENT PARA 'DATA'
STR1 DB 'VVEDITE 1-oe znakovoe chislo $'
STR2 DB 'VVEDITE 2-oe znakovoe chislo $'
STR3 DB 'min chislo $'
chislo1 dw ?
chislo2 dw ?
BUF DB 20,?,20 DUP ('$')
buf2 db 20,?,20 dup ('$')
DATA ENDS
CODE SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODE,DS
ATA,SS:STACKS
entr PROC NEAR ;процедура перехода на новую строку
MOV AH,2
MOV DL,13
INT 21H
MOV DL,10
INT 21H
RET
entr ENDP
MAIN PROC FAR;
MOV AX,DATA
MOV DS,AX
vvod_1:
;-----------------
MOV AH,9 ;код функции (вывод строки)
MOV DX,OFFSET STR1
INT 21H
;-----------------
CALL entr ; Переход на новую строку
MOV AH,0AH;
MOV Dx,OFFSET BUF; это работа с буфером, его заполняем строкой
mov chislo1,dx
INT 21H
MOv AX,0
MOV Al,BYTE PTR BUF+1 ;помещение длины строки в AX
cmp al,1
Ja otriz
cmp al,1
je polog
polog: cmp buf+2, 30h
jb vvod_1
cmp buf+2, 39h
ja vvod_1
jmp end_if
;cmp buf+2, 20h
;jnz vvod_1
otriz: cmp al,2
je otriz1
jmp vvod_1
otriz1: cmp buf+2, 2dh
jne vvod_1
cmp buf+3, 2dh
je vvod_1
jmp end_if
end_if:
CALL entr ; Переход на новую строку
;-----------------
vvod_2: ;-----------------
MOV AH,9 ;код функции (вывод строки)
MOV DX,OFFSET STR2
mov chislo1,dx
INT 21H
;-----------------
CALL entr ; Переход на новую строку
MOV AH,0AH;
MOV DX,OFFSET BUF; это работа с буфером, его заполняем строкой
INT 21H
MOv AX,0
MOV Al,BYTE PTR BUF+1 ;помещение длины строки в AX
cmp al,1
Ja otriz_11
cmp al,1
je polog_1
polog_1:
cmp buf+2, 30h
jb vvod_2
cmp buf+2, 39h
ja vvod_2
jmp end_if1
;cmp buf+2, 20h
;jnz vvod_2
otriz_11: cmp al,2
je otriz_21
jmp vvod_2
otriz_21:
cmp buf+2, 2dh
jne vvod_2
cmp buf+3, 2dh
je vvod_2
jmp end_if1
end_if1:
CALL entr ; Переход на новую строку
MOV AH,2 ;
MOV Dx,chislo1 ;Вывод на экран num1
ADD Dx,37h ;
INT 21h
CALL entr
MOV AH,9
MOV DX,OFFSET STR3 ;ВЫВОД СТРОКИ С ПОМОЩЬЮ Ф.9
INT 21H
mov ax,chislo2
cmp ax,[chislo1]
Jge proc_min_out
MOV AH,2
MOV DX,ax;ВЫВОД СТРОКИ С ПОМОЩЬЮ Ф.9
INT 21H
proc_min_out:
mov ax,chislo1
MOV AH,2
MOV DX,ax;ВЫВОД СТРОКИ С ПОМОЩЬЮ Ф.9
INT 21H
mov ah,4ch
int 21h
MAIN ENDP
CODE ENDS
END MAIN
END MAIN