41

Re: З чого почати вчити assembler

ехе вже створив лінкуванням, запускав його, але результату не отримував- консоль блимала і все. Думаю, що сам код не коректний. Бачив декілька різних варіантів його написання у насмі, але зрозуміти, що до чого не зміг. Хотів, ще запитати, при лінкуванні, які саме команди вказувати у консолі для створення ехе, використовую гоулінк?

42

Re: З чого почати вчити assembler

Ми ж не бачимо вашого джерельного коду, тому сказати точно не можна це пройоб лінкера чи (швидше за все) ваш.

43

Re: З чого почати вчити assembler

0xDADA11C7 написав:

Ми ж не бачимо вашого джерельного коду, тому сказати точно не можна це пройоб лінкера чи (швидше за все) ваш.

О, код з вікі працює:

Прихований текст
; Hello.asm
EXTERN MessageBoxW
EXTERN ExitProcess
SECTION .text USE64
start:
    sub rsp, 28h         ; 32 bytes for Microsoft x64 calling convention "shadow space" + 8 bytes for stack aligning to 16 bytes boundry after call put on stack 8 bytes return address
    xor rcx, rcx         ; HWND hWnd = NULL
        lea rdx, [banner]    ; LPCTSTR lpText = banner
        lea r8, [title]      ; LPCTSTR lpCaption = title
        xor r9, r9           ; UINT uType =  MB_OK
        call MessageBoxW     ; MessageBox(hWnd, lpText, lpCaption, uType)
        xor rcx, rcx         ; UINT uExitCode = 0
        call ExitProcess     ; ExitProcess(uExitCode)
SECTION .data
        banner dw __utf16__('Hello, world!'),0
        title dw __utf16__('Hello!'),0
>nasm -f win64 Hello.asm
>golink Hello.obj kernel32.dll user32.dll

але раніше при лінкуванні вказував

golink /entry:start/console kernel32.dll user32.dll hello.obj

Код з вікі виводить результат в окремому вікні. Як тепер зробити, щоб у консолі?

44

Re: З чого почати вчити assembler

а код з англомовної та україномовної вікі у мене не працює.

45

Re: З чого почати вчити assembler

Драматична музика

htoznasho написав:

код з вікі

>golink Hello.obj kernel32.dll user32.dll

але раніше при лінкуванні вказував

golink /entry:start/console kernel32.dll user32.dll hello.obj

Код з вікі виводить результат в окремому вікні. Як тепер зробити, щоб у консолі?

htoznasho написав:
golink /entry:start/console kernel32.dll user32.dll hello.obj

Як тепер зробити, щоб у консолі?

htoznasho написав:
golink /entry:start/console kernel32.dll user32.dll hello.obj
htoznasho написав:
/console
htoznasho написав:
/CONSOLE

Достатньо наблизив?

46

Re: З чого почати вчити assembler

htoznasho написав:

Код з вікі виводить результат в окремому вікні. Як тепер зробити, щоб у консолі?

Мені здається, що вікно консолі закривається до того, як ви можете щось побачити. Все у вас працює, просто ви хворий - братися за асм, не знаючи навіть основ командного рядку в вінді.

Подякували: koala, P.Y., leofun013

47

Re: З чого почати вчити assembler

Я тут роздаю подяки за підвищення токсичності цього форуму. Тримайте!

Подякували: 0xDADA11C7, leofun012

48

Re: З чого почати вчити assembler

Для шановного автора теми:
1) В мене є мої універські лаби, а в кожній ще й методичний матеріал. Якщо їх пройдеш то вважай що ти пройшов курс. Даш просто емейл.
2) Ну якщо ти мрієш про написання ОС, то спитай скільки це мільйонів рядків.

49

Re: З чого почати вчити assembler

З книги Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture.

Подякували: ReAl, leofun012

50

Re: З чого почати вчити assembler

як пк розрізняє 1та 0?

51

Re: З чого почати вчити assembler

htoznasho написав:

як пк розрізняє 1та 0?

=_= є сигнал, 1 немає, 0

52

Re: З чого почати вчити assembler

htoznasho написав:

як пк розрізняє 1та 0?

https://replace.org.ua/uploads/images/10563/6e123901725951b9caa0af1bd70d533f.jpg

Подякували: leofun01, mamkin haker2

53

Re: З чого почати вчити assembler

цікаво, для програмування на квантовому пк, використовується спеціальний асемблер чи як? яка операційна система? чи там програмне забезпечення як у звичайних компютерів?

54 Востаннє редагувалося mamkin haker (24.11.2021 21:13:29)

Re: З чого почати вчити assembler

htoznasho написав:

цікаво, для програмування на квантовому пк, використовується спеціальний асемблер чи як? яка операційна система? чи там програмне забезпечення як у звичайних компютерів?

1) Open Quantum Assembly Language - мова квантового асемблера з відкритим кодом

Прихований текст
include "qelib1.inc"
qreg q[5];                // allocate 5 qubits (set automatically to |00000>)
creg c[5];                // allocate 5 classical bits

h q[0];                   // Hadamard-transform qubit 0
cx q[0], q[1];            // conditional pauli X-transform (ie. "CNOT") of qubits 0 and 1
                          // At this point we have a 2-qubit Bell state (|00> + |11>)/sqrt(2)

cx q[1], q[2];            // this expands entanglement to the 3rd qubit

measure q[0] -> c[0];     // this measurement collapses the entire 3-qubit state
measure q[1] -> c[1];     // therefore qubit 1 and 2 read the same value as qubit 0
measure q[2] -> c[2];

2) Quantum Composer - це графічний інтерфейс користувача (GUI), розроблений IBM, щоб дозволити користувачам створювати різні квантові алгоритми або проводити інші квантові експерименти.

3) НІ, але можна запускати код на python та інші мови програмування через Qiskit

55

Re: З чого почати вчити assembler

htoznasho написав:

як думаєте, що потрібно знати і вміти, щоб отримати таку роботу

Гадаю, що вам нічого не допоможе, бо ви ні С ні асму не знаєте, вчити не хочете, пет проєктів в вас нема - одні балачки

Подякували: leofun011