First of all, I would explain a little with an answer to my previous post. I know the present days compiler is much better than the old days. Assembly code has less usage in practical engineering. But it is required in some p rojects mandatory. My previous job was mainly assembly coding, but not for ARM. Now, I would migrate to ARM assembly code programming.
When I read the following on ARM website, I don't understand the first line . When I change ITTE to TE (as 'IT can be omitted"), the assembler complain s an error of this line.
The comments in the first line is puzzling to me. Could you explain it to me? Thanks, ITTE NE ; IT can be omitted ANDNE r0,r0,r1 ; 16-bit AND, not ANDS ADDSNE r2,r2,#1 ; 32-bit ADDS (16-bit ADDS does not set flags in IT block ) MOVEQ r2,r3 ; 16-bit MOV ITT AL ; emit 2 non-flag setting 16-bit instructions ADDAL r0,r0,r1 ; 16-bit ADD, not ADDS SUBAL r2,r2,#1 ; 16-bit SUB, not SUB ADD r0,r0,r1 ; expands into 32-bit ADD IT NE ADD r0,r0,r1 ; syntax error: no condition code used in IT block ITT EQ MOVEQ r0,r1 BEQ dloop