一些变量,及代码的意思不懂,求助。。

横向判断里的一些变量以及语句的意思不太懂,
mov ah, dh

mov al, dl

sub al, cl

cmp al, 0

jna setJudge10 ;if(al <= 0) judge1 = 0

call judgeExistPiece

jne setJudge10 ; if( !judgeExistPiece) judge1 = 0

inc count1[0]

jmp jhwLeftEnd

setJudge10:

mov judge1, 0

jhwLeftEnd:

其中sub al, cl 里的cl,al存放的数据代表啥含义,sub al, cl

cmp al, 0 al-cl又是啥含义。
还有drbdxFifteen 这个变量是啥意思呢?

rtfm of x86 assembly.
ah - ax hi byte
al - ax low byte
ax = low word of eax
etc..

al,cl都是寄存器,是CPU里的一个机构,不是变量,要知道他们是多少要重前面的环境看他们被赋值为了多少。
sub al,cl表示al=al-cl
cmp al,0表示比较al和0的大小,用来使后面经行条件跳转
jna表示jump not above即不大于则跳转,用的就是前面的cmp的判断结果。