ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
25 марта
1504205 Топик полностью
Zikon (07.03.2025 12:38, просмотров: 97) ответил petrd на CH32V003. Смотрел на работу внутренностей, хотел посмотреть как работает предсказатель переходов и наткнулся на сопутствующее непонятное (для меня) поведение.
А почему код такой большой и стек используется 

скомпилировал данный код - MRS-II + GCC12 + (RV32EC+XW)
компактно без стека - в регистрах

000000d8 <measure_time>:
  d8:	e000f7b7          	lui	a5,0xe000f
  dc:	479c                	lw	a5,8(a5)
  de:	20000697          	auipc	a3,0x20000
  e2:	f426a683          	lw	a3,-190(a3) # 20000020 <_GLOBAL_OFFSET_TABLE_+0x20>
  e6:	c29c                	sw	a5,0(a3)
  e8:	211a                	lhu	a4,0(a0)
  ea:	20000797          	auipc	a5,0x20000
  ee:	f527a783          	lw	a5,-174(a5) # 2000003c <_GLOBAL_OFFSET_TABLE_+0x3c>
  f2:	02e5f163          	bgeu	a1,a4,114 <__stack_size+0x14>
  f6:	4398                	lw	a4,0(a5)
  f8:	0705                	addi	a4,a4,1 # e000e001 <__global_pointer$+0xc000d801>
  fa:	c398                	sw	a4,0(a5)
  fc:	e000f7b7          	lui	a5,0xe000f
 100:	4798                	lw	a4,8(a5)
 102:	20000797          	auipc	a5,0x20000
 106:	f1a7a783          	lw	a5,-230(a5) # 2000001c <_GLOBAL_OFFSET_TABLE_+0x1c>
 10a:	c398                	sw	a4,0(a5)
 10c:	4388                	lw	a0,0(a5)
 10e:	429c                	lw	a5,0(a3)
 110:	8d1d                	sub	a0,a0,a5
 112:	8082                	ret
 114:	0001                	nop
 116:	4398                	lw	a4,0(a5)
 118:	177d                	addi	a4,a4,-1
 11a:	b7c5                	j	fa <measure_time+0x22>