Здравствуйте, помогите пожалуйста, исправьте код чтобы программа работала, мне задачу дали «Ввести три двузначных числа с клавиатуры, сравнить их между собой и вывести на экран максимальное», ну так вот… Я написал программный код, и что то не правильно, правильно только если второе число максимальное, помогите пожалуйста, а то завтра мне отчет нужно сдавать
code segment para public 'code'
assume cs:code,ds:code,ss:code,es:code
org 100h
mov dx,code
mov ds,dx
mov ss,dx
mov es,dx
jmp m1
m1: mov ah,1
INT 21H
SUB AL,30H
MOV AH,0
mov bx,10
MUL BX
mov bx,ax
mov ah,1
int 21h
sub aL,30H
MOV AH,0
ADD BX,AX
MOV SI,BX ;si
mov ah,2
mov dl,0dh
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,1
INT 21H
SUB AL,30H
MOV AH,0
mov bx,10
MUL BX
mov bx,ax
mov ah,1
int 21h
sub aL,30H
MOV AH,0
ADD BX,AX
MOV CX,BX ;cx
mov ah,2
mov dl,0dh
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,1
INT 21H
SUB AL,30H
MOV AH,0
mov bx,10
MUL BX
mov bx,ax
mov ah,1
int 21h
sub aL,30H
MOV AH,0
ADD BX,AX
MOV BX,BX ;bx
mov ah,2
mov dl,0dh
int 21h
mov ah,2
mov dl,0ah
int 21h
MOV DX,0
mov ax,0
cmp si,cx; сравнение si и cx
jle m3
cmp si,bx; сравнение si и bx
jle m4
mov cx,bx
MOV DX, 0
MOV AX,cx
MOV SI, 10
DIV si
MOV bx, DX
MOV DX, AX
MOV Ah, 2
ADD DX, 30h
INT 21h
MOV DX, bx
ADD DX, 30h
MOV Ah, 2
int 21h
jmp m8
m3: ;cx сравнение с bx и вывод
cmp cx,bx
jle m4
MOV DX, 0
MOV AX,cx
MOV SI, 10
DIV si
MOV bx, DX
MOV DX, AX
MOV Ah, 2
ADD DX, 30h
INT 21h
MOV DX, bx
ADD DX, 30h
int 21h
jmp m8
m4:; вывод BX
mov cx,bx
MOV DX, 0
MOV AX,cx
MOV SI, 10
DIV si
MOV bx, DX
MOV DX, AX
MOV Ah, 2
ADD DX, 30h
INT 21h
MOV DX, bx
ADD DX, 30h
int 21h
jmp m8
m8:
mov ah,4ch
int 21h
code ends
end
Комментарии — 28
InfeRn027.04.2011, 20:12#InfeRn027.04.2011, 20:18↑#InfeRn027.04.2011, 20:22↑#kz27.04.2011, 21:30↑#kz27.04.2011, 21:30↑#InfeRn027.04.2011, 23:15↑#Обсуждение завершено.