<html><head></head><body>Непонятно в чем вопрос:<br>
Про ncurses или ассемблер?<br>
Изменения в коде после пересборки ... наверняка это было под другую архитектуру
с другими флагами. Изменения судя по всему относятся к части инициализации
в функции ... там код генерит лично gcc (не из исходного кода).<br>
-----------------------<br>
Stanislav Ievlev<br>
<a class="moz-txt-link-rfc2396E" href="mailto:inger@altlinux.ru"><inger@altlinux.ru></a><br>
<br>
Sir Raorn wrote:<br>
<blockquote type="cite" cite="mid:20010418144442.B29161@hell.binec.ru"><pre wrap="">Проблема в следующем - не работает nodelay(stdscr, TRUE/1) (на самом деле<br>оно вообще не работает), хотя с wtimeout(stdscr, 0/-1) все OK...<br><br>Об'ясните мне пожалуйста, что это значит:<br><br>00028a30 <nodelay>:<br> 28a30: 55 push %ebp<br> 28a31: 89 e5 mov %esp,%ebp<br> 28a33: 8b 55 08 mov 0x8(%ebp),%edx<br> 28a36: 85 d2 test %edx,%edx<br> 28a38: 74 16 je 28a50 <nodelay+0x20><br> 28a3a: 31 c0 xor %eax,%eax<br> 28a3c: 83 7d 0c 01 cmpl $0x1,0xc(%ebp)<br> 28a40: 0f 94 c0 sete %al<br> 28a43: 48 dec %eax<br> 28a44: 89 42 3c mov %eax,0x3c(%edx)<br></pre>
<blockquote type="cite"><pre wrap=""> ^^^^^^^^^^<br></pre></blockquote>
<pre wrap=""><!----> 28a47: 31 c0 xor %eax,%eax<br> 28a49: eb 08 jmp 28a53 <nodelay+0x23><br> 28a4b: 90 nop<br> 28a4c: 8d 74 26 00 lea 0x0(%esi,1),%esi<br> 28a50: 83 c8 ff or $0xffffffff,%eax<br> 28a53: 5d pop %ebp<br> 28a54: c3 ret<br><br>и как оно соответствует следующему коду:<br><br>int<br>nodelay(WINDOW *win, bool flag)<br>{<br> T((T_CALLED("nodelay(%p,%d)"), win, flag));<br><br> if (win) {<br> if (flag == TRUE)<br> win->_delay = 0;<br> else<br> win->_delay = -1;<br> returnCode(OK);<br> } else<br> returnCode(ERR);<br>}<br><br>и почему, когда я пересобирал курзи, у меня получилось:<br><br>0002877c <nodelay>:<br> 2877c: 55 push %ebp<br> 2877d: 89 e5 !
mov %esp,%ebp<br> 2877f: 8b 55 08 mov 0x8(%ebp),%edx<br> 28782: 8a 45 0c mov 0xc(%ebp),%al<br> 28785: 85 d2 test %edx,%edx<br> 28787: 74 18 je 287a1 <nodelay+0x25><br> 28789: 3c 01 cmp $0x1,%al<br> 2878b: 75 09 jne 28796 <nodelay+0x1a><br> 2878d: c7 42 24 00 00 00 00 movl $0x0,0x24(%edx)<br></pre>
<blockquote type="cite"><pre wrap=""> ^^^^^^^^^^<br></pre></blockquote>
<pre wrap=""><!----> 28794: eb 07 jmp 2879d <nodelay+0x21><br> 28796: c7 42 24 ff ff ff ff movl $0xffffffff,0x24(%edx)<br></pre>
<blockquote type="cite"><pre wrap=""> ^^^^^^^^^^<br></pre></blockquote>
<pre wrap=""><!----> 2879d: 31 c0 xor %eax,%eax<br> 2879f: eb 05 jmp 287a6 <nodelay+0x2a><br> 287a1: b8 ff ff ff ff mov $0xffffffff,%eax<br> 287a6: 89 ec mov %ebp,%esp<br> 287a8: 5d pop %ebp<br> 287a9: c3 ret<br><br>Первый дамп это objdump --disassemble /lib/libncurses.so.5.2, второй<br>то же самое на свежесобранные курзи (rpm -bc, потом objdump)...<br><br>Все из Spring2001...<br><br></pre>
</blockquote>
<br>
<br>
</body></html>