We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
[font="Courier New"]load_compare_RAM; ldr r0, = 0xE0680003 ; constant to be compared with ldr r0, [pc, #0x14] ; get the constant at [pc + 20d] = 0xE0680003; ldr r1, = 0x70001234 ; RAM addr ldr r1, [pc, #0x14] ; get the constant at [pc + 20d] = 0x70001234. This is the RAM addr ldr r2, [r1, #0] ; offsset = 0. Read RAM CMP r0, r2 ; BEQ eq_cmp ; jump to next block if Zneq_cmp B next_block1eq_cmp B next_block2 DCD 0xE0680003 ; DCD = .word DCD 0x70001234 ; DCD = .wordnext_block1 ; next block1 of codes herenext_block2 ; next block2 of codes here[/font]; #############################; the 2 commented lines are the pseudo instructions. If you enable them, you do not; need the line below each of them. In this case, you would also not need the 2 DCD lines.;; The active codes above are a manual way of creating a literal pool (of constants). If you use; the pseudo-instr, you let the assembler do all the work for you.;; This web page removes all my nice spaces in the assembly codes and compresses them.