if C xor D then goto label end if if C then goto local1 end if if D then goto label end if goto local2 local1: if not D then goto label end if local2: ========================================================= divl %ebx form dividend from edx:eax (edx is the MSL, eax is the LSL) %ebx is the divisor after the instruction, %edx is the remainder, %eax is the quotient mull %ebx multiply %ebx and %eax, the product is stored as edx:eax (edx is the MSL of the product, eax is the LSL of the product) ========================================================= pow10 <- the largest power of 10 less than or equal to 2^32-1 n is the number to be printed as a decimal number while pow10 > 0 do print '0'+n / pow10 n <- n % pow10 pow10 <- pow10 / 10 end while