Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [ASSEMBLER] Задаем вопросы (для новичков) (https://forum.antichat.xyz/showthread.php?t=70421)

Chaak 15.03.2009 22:28

досовская

aka_k4 15.03.2009 22:34

а...

Кстати пож пиши в след раз синтаксис точнее...
А то я запарился tree c: >> file.txt набирать))
без касой не канало так как надо) tree C:\ >> file.txt)))

aka_k4 18.03.2009 17:25

А Асм для микроконтроллеров тоже тут обсуждается?

slesh 18.03.2009 17:37

2 aka_k4 Ты пиши, там с ориентируются глюди, главное указывай для какого контроллера, то на рзный контроллерах кодится чуть по разному.

Lee_fx 19.03.2009 10:06

Доброго времени суток, такой вопрос:
Компилятор MASM, как записать в регистры 2 числа с консоли и как вывести на консоль содержимое регистра?

zeppe1in 19.03.2009 19:02

Lee_fx как то так.
Код:

    .486
    .model flat, stdcall
    option casemap :none



    include \masm32\include\windows.inc
    include \masm32\include\masm32.inc
    include \masm32\include\kernel32.inc
    include \masm32\macros\macros.asm

    includelib \masm32\lib\masm32.lib
    includelib \masm32\lib\kernel32.lib

.data?

szBuff        db 12 dup (?)
Mult dd ?


    .code

start:

    mov eax, input("Enter number here ",62," ")
   
    call Str2IntProc
    nop
    nop
    nop
    mov edx, offset szBuff
    call Int2StrProc
   
    print offset szBuff
 
    invoke Sleep,2000d
   
    exit

Int2StrProc proc uses esi edi
;eax = BinVal
;edx = Address of Buffer

        mov edi, edx
        mov ecx, 10
        mov esi, offset szBuff+11

@@:
        xor edx,edx
        div ecx
        or dl,30h
        dec esi
        mov [esi],dl
        test eax, eax
        jnz @B

        mov ecx, offset szBuff+12
        sub ecx, esi
        rep movsb
        mov eax, edi
        dec eax
        ret

Int2StrProc endp


Str2IntProc proc uses edi ebx
;eax=Pointer to null-terminated string

        mov ecx, -1
        mov edi, eax
        xor eax, eax
        repne scasb
        not ecx
        dec ecx
        jz @@Exit
        sub edi,2

        xor ebx,ebx
        mov Mult,1
@@1:
        xor eax,eax
        mov al, [edi]

        and al, 0Fh

        mul Mult
        add ebx, eax

        imul edx, Mult, 10
        mov Mult, edx
        dec edi
        dec ecx
        jnz @@1
        mov eax,ebx
@@Exit:
        ret

Str2IntProc endp


end start

при компиляции /SUBSYSTEM:CONSOLE

pauk_pv 09.04.2009 15:26

Такой вопрос: как на gas компилить файлы не под линух, желательно под нон ос, то есть ни под какую операционную систему, какие ключи должны быть, и ещё часто попадаются упоминания о gas под windows/dos, но поиски ни к чему не привели, может кто знает где достать?

slesh 09.04.2009 20:09

2 pauk_pv вообще любой компилятор может компилить в чистый бинарный код.
Вот и компиль так. Это типа налогия с COM файлами но тока не нужно делать org 100h

pauk_pv 12.04.2009 16:50

2 slesh ну это мне понятно, но из ключей я пока знаю только -s и -o , а вся доступная документация которая мне попадалась только на английском , а я к сожалению английский не знаю, не могли подсказать ключи? И в силе вторая часть вопроса

slesh 13.04.2009 09:47

загони документацию в переводчик. А если это сайт то прогони через гугль транслятор )


Время: 01:42