🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
11 messages
11 total messages Started by psysiu Sun, 08 Apr 2007 09:38
assembler 64 bit
#1027
Author: psysiu
Date: Sun, 08 Apr 2007 09:38
20 lines
1815 bytes
witam,

problem wygląda tak:
muszę napisać program w assemblerze który będzie można uruchomić pod
DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
rzeczywistego i zakończyć działanie

problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
do tego,

wcześniej zrobiłem powyższy program wykonując skok do trybu
chronionego 16 bitowego i 32 bitowego (używając tasm-a i tlink-a)

był pomysł żeby użyć ml64 ale moja edycja zgłaszała błąd przy
rozkazach use16, use32, use64 a rozróżnianie segmentów w tym programie
jest raczej konieczne

będę wdzięczny za każda pomoc i wskazówki
Re: assembler 64 bit
#1028
Author: Wiktor S.
Date: Sun, 08 Apr 2007 23:47
22 lines
1781 bytes
> muszę napisać program w assemblerze który będzie można uruchomić pod
> DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
> następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
> rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
> rzeczywistego i zakończyć działanie
>
> problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
> do tego,

asembler to yasm, bo nasm jeszcze use64 nie obsługuje. a linker? nie wiem.

> wcześniej zrobiłem powyższy program wykonując skok do trybu
> chronionego 16 bitowego i 32 bitowego (używając tasm-a i tlink-a)
>
> był pomysł żeby użyć ml64 ale moja edycja zgłaszała błąd przy
> rozkazach use16, use32, use64 a rozróżnianie segmentów w tym programie
> jest raczej konieczne

nie znam tego ml64, ale poczytaj w dokumentacji, jak to zrobić...

-- 
Azarien
Re: assembler 64 bit
#1031
Author: Bogdan (bogdro)
Date: Mon, 09 Apr 2007 09:51
30 lines
2153 bytes
psysiu@gmail.com napisał(a):
> witam,
> 
> problem wygląda tak:
> muszę napisać program w assemblerze który będzie można uruchomić pod
> DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
> następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
> rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
> rzeczywistego i zakończyć działanie
> 
> problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
> do tego,
> 
> wcześniej zrobiłem powyższy program wykonując skok do trybu
> chronionego 16 bitowego i 32 bitowego (używając tasm-a i tlink-a)
> 
> był pomysł żeby użyć ml64 ale moja edycja zgłaszała błąd przy
> rozkazach use16, use32, use64 a rozróżnianie segmentów w tym programie
> jest raczej konieczne
> 
> będę wdzięczny za każda pomoc i wskazówki

 FASM (http://flatassembler.net, linker wbudowany) lub wspomniany YASM
(chyba potrzebny osobny linker, LD z binutils64 pewnie podziała).

-- 
Pozdrawiam, Bogdan                                  (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Re: assembler 64 bit
#1032
Author: Lopez
Date: Mon, 09 Apr 2007 10:22
29 lines
1796 bytes
psysiu@gmail.com napisał(a):
> witam,
> 
> problem wygląda tak:
> muszę napisać program w assemblerze który będzie można uruchomić pod
> DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
> następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
> rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
> rzeczywistego i zakończyć działanie
> 
> problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
> do tego,
> 
> wcześniej zrobiłem powyższy program wykonując skok do trybu
> chronionego 16 bitowego i 32 bitowego (używając tasm-a i tlink-a)
> 
> był pomysł żeby użyć ml64 ale moja edycja zgłaszała błąd przy
> rozkazach use16, use32, use64 a rozróżnianie segmentów w tym programie
> jest raczej konieczne
> 
> będę wdzięczny za każda pomoc i wskazówki
> 

gas z pakietu gcc,
ale bedziez musial sie nauczyc skladni at&t.

-- 
Pozdrawiam
Lopez
Re: assembler 64 bit
#1029
Author: Lopez
Date: Mon, 09 Apr 2007 10:26
18 lines
1456 bytes
Wiktor S. napisał(a):
>> muszę napisać program w assemblerze który będzie można uruchomić pod
>> DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
>> następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
>> rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
>> rzeczywistego i zakończyć działanie
>>
>> problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
>> do tego,
> 
> asembler to yasm, bo nasm jeszcze use64 nie obsługuje. a linker? nie wiem.
> 

I nie obsluzy, bo Nasm od dawna nie jest juz rozwijany.

-- 
Pozdrawiam
Lopez
Re: assembler 64 bit
#1030
Author: Lopez
Date: Mon, 09 Apr 2007 10:31
23 lines
1628 bytes
Lopez napisał(a):
> Wiktor S. napisał(a):
>>> muszę napisać program w assemblerze który będzie można uruchomić pod
>>> DOS-em, na początku powinien uruchomić się w trybie rzeczywistym a
>>> następnie zrobić skok to trybu chronionego 64 bitowego, wykonać kilka
>>> rozkazów w trybie 64 bity a na końcu wykonać skok to trybu
>>> rzeczywistego i zakończyć działanie
>>>
>>> problem polega na tym, że nie wiem jakiego assemblera i linkera użyć
>>> do tego,
>> asembler to yasm, bo nasm jeszcze use64 nie obsługuje. a linker? nie wiem.
>>
> 
> I nie obsluzy, bo Nasm od dawna nie jest juz rozwijany.
> 

Sorki za nie sprawdzonie informacje,
Wyglada na to, ze Nasm odzyl :)
http://nasm.sourceforge.net/

-- 
Pozdrawiam
Lopez
Re: assembler 64 bit
#1033
Author: Wojciech Muła
Date: Mon, 09 Apr 2007 10:59
9 lines
1233 bytes
Lopez wrote:
> gas z pakietu gcc,
> ale bedziez musial sie nauczyc skladni at&t.

"as now supports assembly using Intel assembler syntax. .intel_syntax 
selects Intel mode, and .att_syntax switches back to the usual AT&T mode 
for compatibility with the output of gcc."

w.
Re: assembler 64 bit
#1034
Author: Wiktor S.
Date: Tue, 10 Apr 2007 00:00
6 lines
1112 bytes
> "as now supports assembly using Intel assembler syntax. .intel_syntax

Czy jest to składnia tasma (fuj!) czy bardziej nasmowa?

-- 
Azarien
Re: assembler 64 bit
#1035
Author: Wojciech Muła
Date: Tue, 10 Apr 2007 00:09
11 lines
1333 bytes
Wiktor S. wrote:
>> "as now supports assembly using Intel assembler syntax. .intel_syntax
> 
> Czy jest to składnia tasma (fuj!) czy bardziej nasmowa?

Tu masz przykład, sam oceń:
http://www.gamedev.net/reference/articles/article1987.asp

(A, to "now" znaczy od co najmniej 3 lat).

w.
Re: assembler 64 bit
#1036
Author: Lopez
Date: Tue, 10 Apr 2007 09:27
29 lines
1897 bytes
Wojciech Muła napisał(a):
> Wiktor S. wrote:
>>> "as now supports assembly using Intel assembler syntax. .intel_syntax
>>
>> Czy jest to składnia tasma (fuj!) czy bardziej nasmowa?

Bardziej nasmowa, ale też są różnice.

> Tu masz przykład, sam oceń:
> http://www.gamedev.net/reference/articles/article1987.asp
> 
> (A, to "now" znaczy od co najmniej 3 lat).
> 

Nie ma tam zaznaczonego jednej dość istotnego faktu,
otóż w przypadku wstawek asemblerowych, jeżeli używamy
dyrektywy .intel_syntax na koniec należy należy przestawić
go z powrotem na .att_syntax, inaczej kompilator sie wysypie.
OIDP W przypadku plikow w czystym asemblerze jako ulatwienie
mamy do dyspozycji odpowiednie przelaczniki, ale jakos nie
moge teraz znależć tego w manie.

Dodam jeszcze, że pomocnym narzędziem do nauki
skladni at&t jest programik intel2gas, potrawi
on konwertować pomiedzy oboma dialektami.

-- 
Pozdrawiam
Lopez
Re: assembler 64 bit
#1037
Author: Wojciech Muła
Date: Tue, 10 Apr 2007 14:37
9 lines
1395 bytes
Lopez wrote:
> Nie ma tam zaznaczonego jednej dość istotnego faktu,
> otóż w przypadku wstawek asemblerowych, jeżeli używamy
> dyrektywy .intel_syntax na koniec należy należy przestawić
> go z powrotem na .att_syntax, inaczej kompilator sie wysypie.

IIRC użycie opcji -masm=intel rozwiązuje ten problem.

w.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads