<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paun</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paun"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Paun"/>
	<updated>2026-06-04T03:15:31Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%81%D0%BA%D0%B8_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80/%D0%9A_2023&amp;diff=6079</id>
		<title>Системски софтвер/К 2023</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%81%D0%BA%D0%B8_%D1%81%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80/%D0%9A_2023&amp;diff=6079"/>
		<updated>2023-04-12T19:05:00Z</updated>

		<summary type="html">&lt;p&gt;Paun: /* Додат рок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Колоквијум 2023. године&#039;&#039;&#039; одржан је 12.4.2023. на РТИ и трајао је 90 минута.&lt;br /&gt;
== Поставка ==&lt;br /&gt;
Написати еквивалентан програм на &#039;&#039;C&#039;&#039; програмском језику за дати изворни асемблерски код. Изворни асемблерски код је написан у складу са &#039;&#039;System V ABI&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
	.intel_syntax noprefix&lt;br /&gt;
	.text&lt;br /&gt;
	.globl	foo&lt;br /&gt;
	.type	foo, @function&lt;br /&gt;
foo:&lt;br /&gt;
	endbr64&lt;br /&gt;
	push	rbp&lt;br /&gt;
	mov	rbp, rsp&lt;br /&gt;
	mov	rax, rsi&lt;br /&gt;
	mov	r10, rdi&lt;br /&gt;
	mov	rsi, r10&lt;br /&gt;
	mov	rdi, r11&lt;br /&gt;
	mov	rdi, rax&lt;br /&gt;
	mov	QWORD PTR -64[rbp], rsi&lt;br /&gt;
	mov	QWORD PTR -56[rbp], rdi&lt;br /&gt;
	mov	QWORD PTR -80[rbp], rdx&lt;br /&gt;
	mov	QWORD PTR -72[rbp], rcx&lt;br /&gt;
	mov	rax, QWORD PTR -64[rbp]&lt;br /&gt;
	mov	rdx, QWORD PTR -56[rbp]&lt;br /&gt;
	mov	QWORD PTR -32[rbp], rax&lt;br /&gt;
	mov	QWORD PTR -24[rbp], rdx&lt;br /&gt;
	mov	rax, QWORD PTR -80[rbp]&lt;br /&gt;
	mov	rdx, QWORD PTR -72[rbp]&lt;br /&gt;
	mov	QWORD PTR -48[rbp], rax&lt;br /&gt;
	mov	QWORD PTR -40[rbp], rdx&lt;br /&gt;
	mov	rdx, QWORD PTR -32[rbp]&lt;br /&gt;
	mov	rax, QWORD PTR -48[rbp]&lt;br /&gt;
	cmp	rdx, rax&lt;br /&gt;
	jle	.L2&lt;br /&gt;
	mov	rax, QWORD PTR -32[rbp]&lt;br /&gt;
	mov	QWORD PTR -8[rbp], rax&lt;br /&gt;
	jmp	.L3&lt;br /&gt;
.L2:&lt;br /&gt;
	mov	rax, QWORD PTR -48[rbp]&lt;br /&gt;
	mov	QWORD PTR -8[rbp], rax&lt;br /&gt;
.L3:&lt;br /&gt;
	movzx	edx, BYTE PTR -24[rbp]&lt;br /&gt;
	movzx	eax, BYTE PTR -40[rbp]&lt;br /&gt;
	cmp	dl, al&lt;br /&gt;
	jge	.L4&lt;br /&gt;
	movzx	eax, BYTE PTR -24[rbp]&lt;br /&gt;
	mov	BYTE PTR -9[rbp], al&lt;br /&gt;
	jmp	.L5&lt;br /&gt;
.L4:&lt;br /&gt;
	movzx	eax, BYTE PTR -40[rbp]&lt;br /&gt;
	mov	BYTE PTR -9[rbp], al&lt;br /&gt;
.L5:&lt;br /&gt;
	mov	r8, QWORD PTR -8[rbp]&lt;br /&gt;
	mov	r9b, BYTE PTR -9[rbp]&lt;br /&gt;
	mov	rax, r8&lt;br /&gt;
	mov	rdx, r9&lt;br /&gt;
	pop	rbp&lt;br /&gt;
	ret&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
typedef struct{&lt;br /&gt;
  long l1;&lt;br /&gt;
  char c1;&lt;br /&gt;
} StructType;&lt;br /&gt;
&lt;br /&gt;
StructType foo(StructType arg1, StructType arg2)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  StructType local1 = arg1;&lt;br /&gt;
  StructType local2 = arg2;&lt;br /&gt;
  long local3;&lt;br /&gt;
  char local4;&lt;br /&gt;
&lt;br /&gt;
  if( local1.l1 &amp;gt; local2.l1 ){&lt;br /&gt;
    local3 = local1.l1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    local3 = local2.l1; &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ( local1.c1 &amp;lt; local2.c1 ){  &lt;br /&gt;
    local4 = local1.c1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    local4 = local2.c1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return (StructType){local3, local4};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Системски софтвер]]&lt;/div&gt;</summary>
		<author><name>Paun</name></author>
	</entry>
</feed>