Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
 Аватар для pcmax
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274

Хочу научиться писать без мнемонических команд типа mov, а сразу машинными кодами

30.05.2020, 10:26. Показов 7950. Ответов 64
Метки x64 (Все метки)

Студворк — интернет-сервис помощи студентам
привет

помогите разобраться у стройстве машинных команд процессора Intel

хочу научиться писать без мнемонических команд типа mov, а сразу машинными


Assembler
1
mov $1, %rsi
как этом будет ввиде машинной командый? какой байт и за что в ней отвечает?
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2020, 10:26
Ответы с готовыми решениями:

Хочу научиться писать на с++
Хочу научиться писать на с++, дайте ссылки где скачать: учебники, видео уроки, компиляторы и тд., заранее спасибо

Хочу научиться писать на php
Прочитал книжку по php, но теория и практика это две разные вещи. Может нашелся бы человек который взял бы меня к себе в стажеры? ...

Арифметические операции с машинными кодами
Взять две пары десятичных двузначных целых числа: А, В, С, D. Вычислить (А-В)ок, (В-А)дк, (С-D)ок, (D-C)дк. (дк- дополнительный.код...

64
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
04.06.2020, 14:49
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pcmax Посмотреть сообщение
ребята, киньте пожалуйста ссылку на устройство машиных комнд для процессорa core2 duo
А у этого процессора какая-то особая система команд ?

Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1

То есть Пень с дополнительными наборами инструкций MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 и возможностью включить 64 разрядный режим. А Пень - это 386 + инструкции, что появились в 486 + инструкции, что появились в Пне. А 386 - это 286 + 32-разрядный режим. А 286 - это 186 + защищенный 16-разрядный режим. А 186 - это 8086 + пара новых инструкций.

Короче говоря, матрешка совместимости сверху вниз. Только почему ты эту матрешку начинаешь изучать с самой внешней ?

Добавлено через 1 минуту
Обычно изучают что-то базовое и только потом расширения и дополнения. Если 32-разрядных режим, то базовое - это 80386.

Добавлено через 11 минут
Цитата Сообщение от pcmax Посмотреть сообщение
отвечает префикс машинной команды. я перевел их в двоичный код и стало немного проще.
Чем проще ? Префикс переключения разрядности это просто байт, значение которого было взято из числа тех байт, что ни подо что не были заняты уже. Т.е. смысла в его двоичных разрядах никакого.
Байты 60..6F у 8086 не были заняты ни подо что. Вот префикс 66 из них.
В 80186 байт 6A был занят под push байтовая_константа
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
04.06.2020, 18:16
Во время выполнения каждой инструкции определяется Effective Operand Size.
Он зависит от самой инструкции, префиксов ( или их отсутствия ) и режима работы.

Об этом написано в пункте 3.2.3 Operand Sizes and Overrides первого тома
AMD64 Architecture Programmer’s Manual Volume 1: Application Programming

Добавлено через 8 минут
Выше там есть пример, правда по другой, но тоже важной теме.

3.1.2.3 Zero-Extension of 32-Bit Results

The following four code examples show how 64-bit, 32-bit, 16-bit, and 8-bit ADDs work.
In these examples, “48” is a REX prefix specifying 64-bit operand size, and “01C3” and “00C3” are the opcode and ModRM bytes of each instruction (see “Opcode Syntax” in Volume3 for details on the opcode and ModRM encoding).
Example 1: 64-bit Add:
Code
1
2
3
Before:RAX =0002_0001_8000_2201 RBX =0002_0002_0123_3301
 48 01C3 ADD RBX,RAX ;48 is a REX prefix for size.
Result:RBX = 0004_0003_8123_5502
Example 2: 32-bit Add:
Code
1
2
3
Before:RAX = 0002_0001_8000_2201  RBX = 0002_0002_0123_3301
 01C3 ADD EBX,EAX ;32-bit add
 Result:RBX = 0000_0000_8123_5502  (32-bit result is zero extended)
Example 3: 16-bit Add:
Code
1
2
3
Before:RAX = 0002_0001_8000_2201  RBX = 0002_0002_0123_3301
 66 01C3 ADD BX,AX ;66 is 16-bit size override
Result:RBX = 0002_0002_0123_5502  (bits 63:16 are preserved)
Example 4: 8-bit Add:
Code
1
2
3
Before:RAX = 0002_0001_8000_2201  RBX = 0002_0002_0123_3301
 00C3 ADD BL,AL ;8-bit add
 Result:RBX = 0002_0002_0123_3302    (bits 63:08 are preserved)
Добавлено через 43 минуты
Цитата Сообщение от Ethereal Посмотреть сообщение
Только почему ты эту матрешку начинаешь изучать с самой внешней ?
Добавлено через 1 минуту
Обычно изучают что-то базовое и только потом расширения и дополнения. Если 32-разрядных режим, то базовое - это 80386.
AMD не только расширила и дополнила, но и выпиливала инструкции в LongMode.
В частности, ради префиксов REX выпилила однобайтовые INC и DEC. А десятичные коррекции выпилила совсем.

Первые же исполняемые инструкции программы имеют другой смысл в 386:
Bash
1
gdb -q echo
Code
1
2
3
4
5
6
7
8
9
10
(gdb) starti
Starting program: /bin/echo
 
Program stopped.
0x00007fffff401090 in _start () from /lib64/ld-linux-x86-64.so.2
(gdb) disas /r
Dump of assembler code for function _start:
=> 0x00007fffff401090 <+0>:     48 89 e7        mov    %rsp,%rdi
   0x00007fffff401093 <+3>:     e8 08 0e 00 00  callq  0x7fffff401ea0 <_dl_start>
End of assembler dump.
Bash
1
2
printf '\x48\x89\xe7' > start
objdump -D -b binary -m i386 start
Code
1
2
3
4
5
Disassembly of section .data:
 
00000000 <.data>:
   0:   48                      dec    %eax
   1:   89 e7                   mov    %esp,%edi
Bash
1
objdump -D -b binary -m i386 -M x86-64 start
Code
1
2
3
4
5
6
7
start:     file format binary
 
 
Disassembly of section .data:
 
00000000 <.data>:
   0:   48 89 e7                mov    %rsp,%rdi
Добавлено через 2 часа 26 минут
Все возможные значения REX
Assembler
1
2
3
4
5
6
7
8
9
10
c equ 0x402c4438
dd c, 1|c
%assign rex '@'
%rep 16
db rex 
dd c
db rex 
dd 1|c 
%assign rex 1+rex
%endrep
Bash
1
2
nasm rex.asm -f elf64
objdump -d rex.o
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
   0:   38 44 2c 40             cmp    %al,0x40(%rsp,%rbp,1)
   4:   39 44 2c 40             cmp    %eax,0x40(%rsp,%rbp,1)
   8:   40 38 44 2c 40          cmp    %al,0x40(%rsp,%rbp,1)
   d:   40 39 44 2c 40          rex cmp %eax,0x40(%rsp,%rbp,1)
  12:   41 38 44 2c 40          cmp    %al,0x40(%r12,%rbp,1)
  17:   41 39 44 2c 40          cmp    %eax,0x40(%r12,%rbp,1)
  1c:   42 38 44 2c 40          cmp    %al,0x40(%rsp,%r13,1)
  21:   42 39 44 2c 40          cmp    %eax,0x40(%rsp,%r13,1)
  26:   43 38 44 2c 40          cmp    %al,0x40(%r12,%r13,1)
  2b:   43 39 44 2c 40          cmp    %eax,0x40(%r12,%r13,1)
  30:   44 38 44 2c 40          cmp    %r8b,0x40(%rsp,%rbp,1)
  35:   44 39 44 2c 40          cmp    %r8d,0x40(%rsp,%rbp,1)
  3a:   45 38 44 2c 40          cmp    %r8b,0x40(%r12,%rbp,1)
  3f:   45 39 44 2c 40          cmp    %r8d,0x40(%r12,%rbp,1)
  44:   46 38 44 2c 40          cmp    %r8b,0x40(%rsp,%r13,1)
  49:   46 39 44 2c 40          cmp    %r8d,0x40(%rsp,%r13,1)
  4e:   47 38 44 2c 40          cmp    %r8b,0x40(%r12,%r13,1)
  53:   47 39 44 2c 40          cmp    %r8d,0x40(%r12,%r13,1)
  58:   48 38 44 2c 40          rex.W cmp %al,0x40(%rsp,%rbp,1)
  5d:   48 39 44 2c 40          cmp    %rax,0x40(%rsp,%rbp,1)
  62:   49 38 44 2c 40          rex.WB cmp %al,0x40(%r12,%rbp,1)
  67:   49 39 44 2c 40          cmp    %rax,0x40(%r12,%rbp,1)
  6c:   4a 38 44 2c 40          rex.WX cmp %al,0x40(%rsp,%r13,1)
  71:   4a 39 44 2c 40          cmp    %rax,0x40(%rsp,%r13,1)
  76:   4b 38 44 2c 40          rex.WXB cmp %al,0x40(%r12,%r13,1)
  7b:   4b 39 44 2c 40          cmp    %rax,0x40(%r12,%r13,1)
  80:   4c 38 44 2c 40          rex.WR cmp %r8b,0x40(%rsp,%rbp,1)
  85:   4c 39 44 2c 40          cmp    %r8,0x40(%rsp,%rbp,1)
  8a:   4d 38 44 2c 40          rex.WRB cmp %r8b,0x40(%r12,%rbp,1)
  8f:   4d 39 44 2c 40          cmp    %r8,0x40(%r12,%rbp,1)
  94:   4e 38 44 2c 40          rex.WRX cmp %r8b,0x40(%rsp,%r13,1)
  99:   4e 39 44 2c 40          cmp    %r8,0x40(%rsp,%r13,1)
  9e:   4f 38 44 2c 40          rex.WRXB cmp %r8b,0x40(%r12,%r13,1)
  a3:   4f 39 44 2c 40          cmp    %r8,0x40(%r12,%r13,1)
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
05.06.2020, 07:16
Обсуждаемый основной вопрос периодически поднимается.
Опкоды команд x86-64
А справочники хороши полнотой, но это всё-таки не учебники.
Поэтому нашлись не на русском языке отчёты по лабоработорным работам с картинками. Может быть, кому-то поможет быстрее разобраться.
https://www.systutorials.com/b... -encoding/



Также напоминаю, что у любителей поковыряться в линуксе справочник опкодов x32/x64, пусть и не самый свежий, всегда под рукой.
https://git.kernel.org/pub/scm... de-map.txt
Миниатюры
Хочу научиться писать без мнемонических команд типа mov, а сразу машинными кодами   Хочу научиться писать без мнемонических команд типа mov, а сразу машинными кодами   Хочу научиться писать без мнемонических команд типа mov, а сразу машинными кодами  

Хочу научиться писать без мнемонических команд типа mov, а сразу машинными кодами  
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
05.06.2020, 07:42
Кстати, наткнулся на днях на любопытное рассуждение:
https://habr.com/ru/company/huawei/blog/503194/
Ругают x86 со стороны организации системы команд
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
05.06.2020, 18:58
Может быть, автору просто интересны машины, к которым у него есть доступ.

Добавлено через 2 часа 37 минут
Цитата Сообщение от Black Fregat Посмотреть сообщение
Ругают x86 со стороны организации системы команд
После удаления DAA, тянущейся ещё с 8080, и других инструкций,
первая четверть пространства опкодов стала чуть логичнее
что куда(память)%регистр%аккум.  
с чем%регистр(память)$конст.  
байт?данетданетданет  
01234567
0ADD (bad)(bad)
1OR\b\t\n\v\f\r(bad)много чего
2ADC (bad)(bad)
3SBB \e (bad)(bad)
4AND !"#$%не нужна(bad)
5SUB()*+,-не нужна(bad)
6XOR012345не нужна(bad)
7CMP89:;<=не нужна(bad)

Добавлено через 4 часа 52 минуты
x86 как восьмеричная машина
https://www.dabo.de/ccc99/www.... o/help.txt

https://events.static.linuxfou... -hacks.pdf
Типичные трюки разработчиков, которые не знают, в какой среде будет выполняться их код.
1
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
06.06.2020, 00:34
Сразу говорю, что мой пост никого не упрекает, за что либо.

Цитата Сообщение от politoto Посмотреть сообщение
Может быть, автору просто интересны машины, к которым у него есть доступ.
Перечитайте все темы ТС, но так как они "кромсались" модерами - разделялись, сливались и так далее - обратите внимание на даты и время постов. Потратьтье пару суток, на это, Вы ответите на свою фразу "Может быть".

Вы вспомнили:
Цитата Сообщение от politoto Посмотреть сообщение
тянущейся ещё с 8080
Практически "предком" х86 был i8080, но Вы эту тему не развили.

Цитата Сообщение от Thread Посмотреть сообщение
Я . . . не могу понять, обьясните мне непонятливому, нах..на все это и возня с данной темой?
Конечно, тут нужно знание устройства CPU и желание находить эти знания. Находить, а не получать. Как показывает практика, знания студентов, которые получены, а не найдены самостоятельно, через "пару времени спустя" - превращаются в on-line консультациях, в вопросы типа "Учил, но забыл, помогите".
Вот знаний этих как раз и нет. Отсюда и вопросы.

pcmax, чтобы кодить без мнемоник, Вы должны знать устройство CPU, как он понимает, что именно ему нужно делать, т.е. как работает дэшифратор команд CPU.

Любая команда CPU - набор микрокоманд:


CPU читая первый байт, анализируя его выполняет некоторую последовательность действий.


LD(Zilog) = MOV(intel)

Идея префиксов была позаимствована у Zilog (в i8080 - этого не было), наборы команд DD | FD аналогичны, разница, какой регистр используется. IX или IY, а чем, это отличается от использования сегментных регистров(х86) типа:
CS : DX


Одним словом Качайте Z80-Unit.pdf, читайте, анализируйте, как говорится от простого к сложному.
2
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
06.06.2020, 07:27
Строение инструкций полезно, когда есть необходимость
  • Сконструировать нужные инструкции.
  • Изменять инструкции.
Такая необходимость время от времени возникает в процессе разработки и сопровождения ПО.
0
programmer
 Аватар для Thread
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
06.06.2020, 08:39
Цитата Сообщение от politoto Посмотреть сообщение
Такая необходимость время от времени возникает в процессе разработки и сопровождения ПО.
можно подробнее что за необходимость такая? утеря исходников, изменение прошивки еще понятно
в процессе разработки тогда что за необходимость
0
3129 / 1719 / 273
Регистрация: 19.02.2010
Сообщений: 4,511
06.06.2020, 12:37
Цитата Сообщение от Thread Посмотреть сообщение
в процессе разработки тогда что за необходимость
Например, транслятор не успевает за развитием железа (за появлением новых процессорных команд).

Я вот, например, в годы юзания Борланд С++ Билдера 6 в его инлайн-ассемблере кодировал haddps reg,reg с помощью db.
Ибо этот Билдер вышел в 2002г - т.е. раньше, чем в четвёртом пне появились SSE2.
И что делать, если захотелось сравнить в реале реализацию горизонтального суммирования (4 флоат-компоненты SSE-регистра в одну) на SSE1 (там для этого требовалось, ЕМНИП, 5 команд) и реализацию на SSE2 (с помощью двух haddps)?
А следующий Билдер 2007 - появился уже только лишь во времена расцвета Core 2. Увы, Билдера 7 (парного к Делфи 7) тогда не случилось.
0
programmer
 Аватар для Thread
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
06.06.2020, 13:16
VTsaregorodtsev,

ну так это ж Borland, его место давно на помойке.
Так а в чем проблема было написать модуль на асме и вызывать в с++?

Добавлено через 8 минут
не знаю, но для тех же AVX, еще до встраивания в процессоры, уже выпустили эмулятор чтобы начинали учится использовать их мощь. Понятно эмулятор работал с SSE
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
06.06.2020, 14:17
Цитата Сообщение от Thread Посмотреть сообщение
Так а в чем проблема было написать модуль на асме и вызывать в с++?
Зачем асмовый модуль ради пары строчек, которые несложно накодить инлайн?

Разработчки системы программирования, очевидно, рано или поздно столкнутся с форматом файлов целевой системы.

Прошивку принтера с интерпретатором языка описания страниц можно подправить после сборки с помощью традиционного компилятора/ассемблера и компоновщика, если, как в x86, в ISA предумотрены длинные и укороченные переходы. Ассемблер вынужден генерировать переход с запасом к символам в других модулях, а традиционный компоновщик ничего не знает о формате инструкций, и не может поменять инструкцию на более короткую и дешёвую, даже если взаимное расположение модулей в окончательном адресном пространстве это позволяет.

Добавлено через 4 минуты
Но чаще всего инструкции создаются в современной практике во время бинарной трансляции и генерации инструкций для ускорения интерпретации, как JIT, так и заранее.
0
programmer
 Аватар для Thread
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
06.06.2020, 14:46
politoto,

понятно, очень даже востребованные знания опкодов.
заучить вобще наизусть и нафиг мнемоника. зато настоящим ассеблерщиком в полной мере можно себя называть , писать в блокноте сразу хексами и сохранять в исполняемый, а если работу и за линковщик еще сделать , ну это уже мастерство 80лвл.
понтов ради. )
0
programmer
 Аватар для Thread
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
06.06.2020, 17:13
Цитата Сообщение от politoto Посмотреть сообщение
Тогда уж безассемблерщииком.
скорее человек-опкодер. ))
В его библиотеке книги нового формата и уровня только для избранных программистов, такие как "Опкоды для чайников, это просто!", "Сам себе ассемблер" и "Совершенство опкодов". Изучение техники программирования в совершенстве потребовала 10к человеко-часов.
Результаты мастерства поразили даже самого опкодера. Проектировать в уме стало проще, не делает отладки и в целом научился обходится вобще без реализации.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
06.06.2020, 17:14
Цитата Сообщение от Thread Посмотреть сообщение
Я ответа на свой вопрос так и не получил.
Как вариант - создание защит ПО.
Знание опкодов, позволяет, к примеру прыгнуть в средину команды, т.е. одну инструкцию спрятать в другой.
Вот Вам примерчик:
Assembler
1
2
3
4
5
6
7
8
9
10
org     100h
        and     cl,17h
        je      $-1
        mov     si,myHi
        mov     cx,23
@@01:   lodsb
        int     29h
        loop    @@01
        ret
myHi    db      'Hello world! for Thread'
debug - виснет, afdpro - вылетает, а без отладчика нормально все работает.

0
3129 / 1719 / 273
Регистрация: 19.02.2010
Сообщений: 4,511
06.06.2020, 17:49
Цитата Сообщение от Thread Посмотреть сообщение
Так а в чем проблема было написать модуль на асме и вызывать в с++?
Например, в том, что для этого надо было найти новый tasm и посмотреть - узнал ли таки новый тасм о новых командах.

Поэтому машкодами вбить пару строк после закомментированных исходных на SSE1 - было быстрее, чем проверять возможности нового tasm'а и возиться с переделкой модулей проекта (в сишном модуле - убрать или закомментировать функцию, в создаваемый ассеблерный - вставить тушку функции и дописать заголовки модуля и функции).
0
programmer
 Аватар для Thread
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
06.06.2020, 17:53
VTsaregorodtsev,

почему именно tasm? можно обьектный прилинковать собранный другими компиляторами
я не спорю , для вашей задачи возможно достаточно и вставить байты, но а если задача посерьезнее стоит и такая хрень у Borland

К примеру простое транспонирование матрицы, тоже будете байты вбивать?
хотя как задача масштабируется она все равно хреново для распараллеливания
1
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
06.06.2020, 18:20
Цитата Сообщение от Thread Посмотреть сообщение
но к чему данная тема не понимаю.

Вы пролистайте, любой из разделов форума: вопрос - ответ см. тут, вопрос - решалься тут.

У любого ТС - паника, ему даже в голову прийти не может, что аналогичные задания(если не сказать один в один) решаются из года в год, и на форуме есть поиск, вот только правильно задать запрос поиска, он не может, да и порой, даже свой вопрос сформулировать не могут. Приходится как партизанов допрашивать, хорошо, если отвечает, а если упадет в осадок - тупо ждет решение, от тепатов.


Если сравнивать эту тему, с теми, о которых я упомянул выше - нормальная тема, и на неё не ответили - см. тут.
Флудили, правда много, но тем не мение - обсуждали.
2
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
07.06.2020, 09:30
Цитата Сообщение от Thread Посмотреть сообщение
скорее человек-опкодер. ))
Человек пишет программу на доступном языке высокого уровне, которая, в свою очередь, собирает и пишет инструкции в страницы процесса или в файл.
От мнемоник в виде
C
1
"CMPXCHNG";
в этом процессе немного пользы.
Но они могут встречаться в комментариях, ссылках на документацию разработчика ISA, идентификаторах высокоуровнневых объектов, отладочных и дигностических сообщениях и т.д.
0
07.06.2020, 12:37

Не по теме:

Цитата Сообщение от politoto Посмотреть сообщение
большая часть из более чем 4000 просмотров
Это баг форума. Отметка любого поста лучшим ответом добавляет 700 (или чуть более) единиц к числу просмотров темы.
Т.е. если в теме помечено 4 поста как лучшие ответы - то почти 3 тысячи просмотров из четырёх являются багонакруткой.

0
07.06.2020, 14:26

Не по теме:

Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Это баг форума.
Что Вы говорите?
Если ответили и Ваш ответ помог: 1.2. . . . N людям, и они выразили свою благодарность, даже если "благодарочка" прилетела спустя месяц, два, год, два. И Вы это называете
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
являются багонакруткой
Да, было бы полезно, когда ТС набирая свой вопрос, где нить сбоку видел - "Похожие темы",(это избавит от одинаковых вопросов каждый год) перейдя по ссылке, в новом окне смог прочитать: о чем форум ему подсказывает, и после этого отказался от отправки своего вопроса, но такая интерактивность будет слишком "дорога". Постоянное общение "Клиент"-"Сервер", будет стоить "копеечку" трафика, обоим.
:):):)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2020, 14:26

Хочу научиться писать сетевые приложения под windows, не знаю с чего начать
Здравствуйте, Хочу научиться писать сетевые приложения под windows, не знаю с чего начать? Подскажите пожалуйста, знаю c++ на уровне...

Выполнить действия над машинными кодами чисел
Выполнить действия над машинными кодами чисел (в нормальной форме, мантисса и порядок выражены в 16ичной СС в двоичном коде) с плавающей...

Выполнить поразрядные логические операции над машинными кодами
99 OR -17 99 AND 17 17 ← 2 (18 OR NOT –8) AND NOT –7 XOR 3 еще блок схему сделайте пожалуйста :)

Хочу научиться писать хорошие сайты, но не знаю с чего начать. Подскажите, направьте,расскажите о своем опыте!
Очень хочу научиться писать хорошие сайты за лето, но не знаю с чего начать.. Подскажите, пожалуйста, какие-нибудь хорошие курсы,...

Можете посоветовать справочник команд с их машинными командами с наиболее полным описанием?
Не обязательно русский. Просто некоторые ньюансы на найденных мною русскоязычных сайтах умалчиваются. К примеру, что означает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Альцгеймер и колоссальный объем вычислений
Programma_Boinc 08.08.2026
Альцгеймер и колоссальный объем вычислений Сейчас по направлению болезни Альцгеймера идет колоссальный объем вычислений. Это один из главных приоритетов проекта. Такой массовый наплыв задач. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru