Код | data segment a db ? x db ? y db 0 y1 db 0 y2 db 0 per db 10,13,'$' mesa db 10,13,'input a: $' mesx db 10,13,'input x: $',10,13 data ends stk segment stack db 128 dup(?) stk ends assume cs:code, ds:data, ss:stk code segment start: mov ax,data mov ds,ax mov dx, offset mesa mov ah,9 ;приглашение на ввод а int 21h mov ah,1 ;считывание нажатого символа int 21h mov a,al mov dx,offset mesx mov ah,9 ;приглашение на ввод x int 21h mov ah,1 ;считывание нажатого символа int 21h mov x,al mov dx,offset per mov ah,9 int 21h mov al,a cmp x,al jle Lower ;если x<=a, то перейти на метку Lower. Иначе на метку Higher. jg Higher Lower: mov al,a add al,al sub al,x mov y1,al jmp short m2 Higher: mov al,a add al,x mov y1,al m2: mov al,10 cmp x,al jge Small1;если x<=10, то перейти на метку Small1. Иначе на метку Bigg1. jl Bigg Small1: mov al,x mov y2,al jmp short m3 Bigg: mov al,a mul x mov y2,al m3: mov al,y1 mov bl,y2 add al,bl mov y,al ;вывод на экран aam add ax,3030h mov dl,ah mov dh,al mov ah,02 int 21h mov dl,dh int 21h mov ah,0 int 16h
mov ah,4ch int 21h code ends end start
|
|