public void asmBlock(Block bk, int shift) {
		if(bk == null) return;
		int espidx = 0; //TODO
		for(Stmt stmt : bk.blocks) {
			//if(stmt.syntax.kw.equals(KW._void)) continue;
			//if(stmt.syntax == null) continue;
			this.uline = stmt.uline;
			switch(stmt.build) {
			case TSTMT.ERR: asmErrStmt(stmt, shift, espidx); return;
			case TSTMT.EXPR: asmExprStmt(stmt, shift, espidx); break;
			case TSTMT.BLOCK: asmBlockStmt(stmt, shift, espidx); break;
			case TSTMT.RETURN: asmReturnStmt(stmt, shift, espidx); break;
			case TSTMT.IF: asmIfStmt(stmt, shift, espidx); break;
			case TSTMT.LOOP: asmLoopStmt(stmt, shift, espidx); break;
			case TSTMT.JUMP: asmJumpStmt(stmt, shift, espidx); break;
			default: asmUndefinedStmt(stmt, shift, espidx); break;
			}
 		}
	}