== code 0x80000000 # repeatedly print "Hi\n" main: # load 0x10010000 (UART0) into t0 37/7 05/5 10010/20 # store 0x48 (H) in UART0+0 13/7 06/5 0/3 00/5 048/12 23/7 00/5 2/3 05/5 06/5 00/7 # store 0x69 (i) in UART0+0 13/7 06/5 0/3 00/5 069/12 23/7 00/5 2/3 05/5 06/5 00/7 # store 0x0a (\n) in UART0+0 13/7 06/5 0/3 00/5 00a/12 23/7 00/5 2/3 05/5 06/5 00/7 # jump back up to the top (three versions): # a) jal 21bit relative (with 0th bit forced to 0) # 6f/jal 0/rd/x0 main/off21 # b) auipc+jalr 32bit relative (note label offset) 17/7 07/5 main/off32/[31:12] 67/7 00/5 0/3 07/5 main+4/off32/[11:0] # c) lui+jalr 32bit absolute # 37/lui 7/rd/t2 main/imm32 # 67/jalr 0/subop 0/rd/x0 7/rs/t2 main/imm32