OT odcitanie v C
Jan Waclawek
konfera na efton.sk
Čtvrtek Duben 24 14:22:41 CEST 2014
> a arimetika dvojkového doplòku :-)
Ano. Pre ine aritmetiky by to chcelo hlbsiu analyzu... ;-)
>Jak tak na to koukám, pro int = 16 bit by byl výsledek jiný, vlastnì jeden a ten samý výraz, take by se vdy porovnávalo
>se 4u;
Nie, v prvom pripade sa aj u int=int16_t vsetky operandy konvertuju na
uint32_t, takze sa porovnava s 0xffff0004u. Pre ilustraciu, prve
porovnanie ako vypadne z avr-gcc:
lds r18,l
lds r19,(l)+1
lds r20,(l)+2
lds r21,(l)+3
lds r24,h
lds r25,(h)+1
ldi r26,lo8(0)
ldi r27,hi8(0)
sub r18,r24
sbc r19,r25
sbc r20,r26
sbc r21,r27
cpi r18,lo8(3)
cpc r19,__zero_reg__
cpc r20,__zero_reg__
cpc r21,__zero_reg__
brsh .L2
lds r24,result
ori r24,lo8(1)
sts result,r24
Ten zvysok Vasej analyzy je taky ako moj, ale bez toho mojho nabubreleho
popisu ;-)
wek
Další informace o konferenci Hw-list