Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Sep 23, 2019 4:40 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Fri Feb 07, 2014 5:52 pm 
Offline

Joined: Thu Jan 30, 2014 7:01 pm
Posts: 2
Люди помогите мне с проблемой. У меня есть много интересных .asm программ, которые бы хотелось установить в Kolibri OS, сама-то проблема в том что все программы написанный на masm и не компилируются в FASM-е. Помогите мне решить эту проблему =)

EDIT by yogev_ezra: Изменил название темы на соответствующее вопросу


Top
   
 Post subject:
PostPosted: Fri Feb 07, 2014 6:14 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
http://kolibri-n.org/inf/hll/hll.php

_________________
я лишь учусь


Top
   
PostPosted: Mon Feb 24, 2014 8:22 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Кстати, вместо masm можно использовать JWasm (MASM-compatible assembler).
И в качестве примера(test.asm):
Spoiler: Show
Code:
.586
.MODEL FLAT, stdcall
option casemap: none

; Event Constants
REDRAW_EVENT        equ 1
KEY_EVENT           equ 2
BUTTON_EVENT        equ 3
MOUSE_EVENT         equ 6

; Window Style Constants
WS_SKINNED_FIXED    equ 4000000H
WS_SKINNED_SIZABLE  equ 3000000H
WS_FIXED            equ 0000000H
WS_SIZABLE          equ 2000000H
WS_FILL_TRANSPARENT equ 40000000H
WS_FILL_GRADIENT    equ 80000000H
WS_COORD_CLIENT     equ 20000000H
WS_CAPTION          equ 10000000H

; Caption Style Constants
CS_MOVABLE          equ 00000000H
CS_IMMOVABLE        equ 01000000H

; Event Mask Constants
EM_REDRAW           equ 01H
EM_KEY              equ 02H
EM_BUTTON           equ 04H
EM_MOUSE            equ 020H

PATH_SIZE           equ 1024
PARAMS_SIZE         equ 256
STACK_SIZE          equ 256

SetEvent           proto :dword
WaitEvent          proto
DrawWindow         proto :dword, :dword, :dword, :dword, :dword, :dword, :ptr, :dword
TerminateThread    proto

.CODE
        db     "MENUET01"
        dd     1
        dd     START_
        dd     END_
        dd     END_ + PATH_SIZE + PARAMS_SIZE + STACK_SIZE
        dd     END_ + PATH_SIZE + PARAMS_SIZE + STACK_SIZE
        dd     END_ + PATH_SIZE
        dd     END_

szHello:
        db     "Hello from JWasm!",0

START_:

        invoke SetEvent, EM_REDRAW + EM_BUTTON
        .repeat
          invoke DrawWindow, 100, 170, 200, 150, WS_SKINNED_FIXED + WS_COORD_CLIENT + WS_CAPTION, 0CCDDEEH, szHello, CS_MOVABLE
          invoke WaitEvent
        .until eax != REDRAW_EVENT
        invoke TerminateThread

; *********************************************************************************** ;
WaitEvent proc
        mov    eax, 10
        int    64
        ret
WaitEvent endp
; *********************************************************************************** ;
SetEvent proc uses ebx EventMask:dword
        mov    eax, 40
        mov    ebx, EventMask
        int    64
        ret
SetEvent endp
; *********************************************************************************** ;
DrawWindow proc uses ebx esi edi  L:dword, W:dword, T:dword, H:dword, Style:dword, BackColor:dword, Caption:ptr, CaptionStyle:dword
; redraw.start
        mov    eax, 12
        mov    ebx, 1
        int    64
; draw.window
        xor    eax, eax
        mov    ebx, L
        shl    ebx, 16
        add    ebx, W
        mov    ecx, T
        shl    ecx, 16
        add    ecx, H
        mov    edx, Style
        or     edx, BackColor
        mov    edi, Caption
        mov    esi, CaptionStyle
        int    64
; redraw.finish
        mov    eax, 12
        mov    ebx, 2
        int    64
        ret
DrawWindow endp
; *********************************************************************************** ;
TerminateThread proc
        or     eax, -1
        int    64
TerminateThread endp
; *********************************************************************************** ;
END_:

END

Собирать так:
Code:
jwasm -bin -Fo test.kex test.asm


Top
   
PostPosted: Wed Mar 16, 2016 4:02 pm 
Offline
User avatar

Joined: Tue Aug 25, 2009 4:45 pm
Posts: 794
Подниму тему, так как тот сайт JWasm умер, мы сохранили и подняли новый - http://jwasm.info (исходники сайта здесь https://github.com/JWasm/jwasm.github.io)

Сам JWasm можно взять здесь https://github.com/JWasm/JWasm - он теперь проверяется Coverity, Travis-CI и AppVeyor и автотестами.


Top
   
PostPosted: Fri Jun 10, 2016 4:49 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Кстати, существует ещё HJWasm.
Quote:
HJWasm is a free MASM-compatible assembler based on JWasm

http://www.terraspace.co.uk/hjwasm.html
http://github.com/Terraspace/HJWasm
Ветка на MASM-форуме http://masm32.com/board/index.php?board=51.0


Top
   
PostPosted: Fri Jul 07, 2017 9:26 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Похоже, что HJWasm переименовали в UASM.
Теперь на masm-форуме доска(http://masm32.com/board/index.php?board=51.0) называется "UASM Assembler Development"

Вот тут http://www.terraspace.co.uk/uasm.html написано
Quote:
UASM is a free MASM-compatible assembler based on JWasm


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 6 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited