ceckovy kviz 2 (hardcore)

Jindroush jindroush na seznam.cz
Středa Září 6 16:51:31 CEST 2023


On 06.09.2023 16:25, Jan Waclawek wrote:
> Majme funkcie int InputPin1(void) a int InputPin2(void) ktore vracaju 0
> alebo 1 podla stavu vstupneho pinu1 a pinu2.
>
> Majme:
>
> volatile int k;
>
> if (InputPin1()) goto pin1_active;
> if (InputPin2()) {
>    pin1_active:
>      k = 10;
> } else {
>      k = 20;
> }
>
> Aky je vysledny stav k, ak je pin1 v stave 1, pre obe moznosti pre pin 2?
>
Myslel jsem si, ze vzdy 10. Godbolt rika 10. Nevim, proc by to melo byt 
jinak a co je na tom hardcorove kvizoveho? Samozrejme goto doprostred 
ciziho bloku je zlo a mel by na to byt aspon warning ;)

BTW: -O99
InputPin1:
moveax, 1
ret
InputPin2:
moveax, 1
ret
.LC0:
.string"%d\n"
main:
subrsp, 24
movedi, OFFSETFLAT:.LC0
xoreax, eax
movDWORDPTR[rsp+12], 10
movesi, DWORDPTR[rsp+12]
callprintf
xoreax, eax
addrsp, 24
ret

-- 
Jindroush<jindroush na seznam.cz>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230906/bdadf46b/attachment.htm>


Další informace o konferenci Hw-list