Jump to content
43oh

petec

Members
  • Content Count

    4
  • Joined

  • Last visited

  1. Thanks for the tip Lyon, Sadly, the bootstrap code contains no it instructions,( although a load of other useful examples) bit I found a nice example in the third party RTOS code (third_party\FreeRTOS\Source\portable\CCS\ARM_CM4F\portasm.asm) eg. tst r14, #0x10 it EQ vldmiaeq r0!, {s16-s31} All I was missing was that the condition had to be upper case and you need the condition on each instruction in the block. The following works too ite EQ vldmiaeq r0!, {s16-s31} ; if true vldmiane r0!, {s16-s30} ; if false I also found some useful guidance in the ARM manuals for t
  2. Well on further experimentation I found one way to do this. myiteq .set 0xbf0c . . cmp r2,#0x10001 .short myiteq mov r0, r1 mov r0, r5 It appears to work as advertised - r0 ends up the same as r1 and the CCS disassembler likes it 0000004c: BF0C ITE EQ 46 mov r0, r1 0000004e: 4608 MOV R0, R1 47 mov r0, r5 00000050: 4628 MOV R0, R5 Not exactly the most user-friendly to do it, but it gets the job done. My original code appears to be wrong .short myiteq bl pass bl fail calls both rout
  3. Hi, Has anyone used the if-then instruction for the Tiva/Stellaris using the CCS assembler? I am using CCS and I tried the following, which is supposed to be a simple rendering of if( r2 == 0x10001) pass(); else fail(); mov r2,#1 movt r2, #1 cmp r2,#0x10001 itte eq bl pass bl fail I get "../main.s", ERROR! at line 45: [E0003] Empty or Invalid condition code itte eq 1 Assembly Error, 2 Assembly Warnings "../main.s", WARNING! at line 46: [W0004] Missing condition code inside of IT block bl pass "../main.s", WARNING! at line 47: [W0004] Mis
  4. Hi. I'd like to participate.
×
×
  • Create New...