请教:下面的语句大约是个什么意思呀

请问:下面的语句大约是个什么意思呀
.if   ZERO?                                             /////(1)这句是表示什么意思,是那个量为0呀
                  .if   al   >   '9 '
                          and   al,not   20h         ////(2)这一句是什么意思呀,干什么用呀
.endif
invoke   CallWindowProc,lpOldProcEdit,hWnd,uMsg,eax,lParam
ret
.endif

------解决方案--------------------
.if ZERO? /////(1)这句是表示什么意思,是那个量为0呀
这是在测试ZF寄存器是否为0

and al,not 20h ////(2)这一句是什么意思呀,干什么用呀
把20H取反后的值(not 20h是个常数)与al寄存器的值进行与运算