.386
preved segment use32
assume cs:preved
org 100h
M1: mov ax,preved
mov cs,ax
mov al,ds:[a]
and al,01111100b
cmp al,01101000b
jne M2
mov al,ds:[a]
mov ah,al
ror ah,4
and ax, 0000111100001111b
cmp ah,al
jl M3
add ah,al
mov bh,ah
M3: sub ah,al
mov bh,ah
M2: cmp bh,40
jge M4
not bh
M4: int 20h
a db (?)
preved ends
end M1