-
Data: 2011-11-05 13:01:43
Temat: Re: fajny assembler
Od: " " <f...@N...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>
>
>
uff, chyba sie udalo (o ile nie wystapia dalsze problemy np
z importem z asma), pomogly mi dwie rzeczy
(1) disasemblujace mozliwosci objconv'a - zauwazylem ze w
disasemblerze blok text jest oznaczony jako noexecute i
listowany jako dane a nie jako kod
(choc przy linkowaniu wczesniej i tak sie dawal uruchamiac
chyba ze przoczylam jakas zmiane i wczeniej tak nie bylo,
ale chyba nie, raczej musialo i wczesniej tak byc, ale juz nie wiem do konca)
2) w necie znalazlem jak ktos uzywa zamiast "nasm -f obj prog.asm"
"nasm -f win32 prog.asm" postosowalem to i okazalo sie ze po tym sekcja
kodu jest ok - to produkuje coffa nie omfa ale objconvem moge dodac
underskory i przerobic na omfa i zlinkowalo sie ok rozniez z sekcja danych
- no to pewna ulga, troche odpoczne i zobacze czy sse zadziala
fir.asm:
;-----------------------------
global asm_routine
;-----------------------------
section .text
asm_routine:
enter 0,0
pusha
mov eax, 1111
mov ebx, 2222
mov ecx, 3333
mov edx, 4444
popa
mov eax, 7777 ; return back to C
leave
ret
;------------------------------
section .data
asm_routine_string db "asm routine string data", 0
;-----------------------------
make.bat :
rem assembly to win32 coff
nasm -o fir_coff.obj -f win32 fir.asm
rem convert win32 coff to bcc omf with underscores
objconv -fomf -nu+ fir_coff.obj fir_omf.obj
rem dissasembly for sure
objconv -fnasm fir.obj fir_obj_nasm.asm
objconv -fmasm fir.obj fir_obj_masm.asm
objconv -fgas fir.obj fir_obj_gas.asm
wynik disasemblacji w trybie nasm:
; Disassembly of file: fir.obj
; Sat Nov 05 13:37:17 2011
; Mode: 32 bits
; Syntax: YASM/NASM
; Instruction set: 80386
global asm_routine
absolut equ 00000000H ; 0
@feat.00 equ 00000001H ; 1
SECTION .text align=16 execute ; section number 1,
code
asm_routine:; Function begin
enter 0, 0 ; 0000 _ C8, 0000, 00
pushad ; 0004 _ 60
mov eax, 1111 ; 0005 _ B8, 00000457
mov ebx, 2222 ; 000A _ BB, 000008AE
mov ecx, 3333 ; 000F _ B9, 00000D05
mov edx, 4444 ; 0014 _ BA, 0000115C
popad ; 0019 _ 61
mov eax, 7777 ; 001A _ B8, 00001E61
leave ; 001F _ C9
ret ; 0020 _ C3
; asm_routine End of function
SECTION .data align=4 noexecute ; section number 2,
data
asm_routine_string: ; byte
db 61H, 73H, 6DH, 20H, 72H, 6FH, 75H, 74H ; 0000 _ asm rout
db 69H, 6EH, 65H, 20H, 73H, 74H, 72H, 69H ; 0008 _ ine stri
db 6EH, 67H, 20H, 64H, 61H, 74H, 61H, 00H ; 0010 _ ng data.
nasm wstawil jakies dwa dziwne inty, nie wiem co to jest - ale trudno
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 05.11.11 16:26 Kicer
- 06.11.11 19:23 identifikator: 20110701
- 06.11.11 22:21 Wiktor S.
- 06.11.11 22:46
- 06.11.11 22:55 Bronek Kozicki
- 07.11.11 00:27
- 07.11.11 08:17 Bronek Kozicki
- 07.11.11 09:48
- 07.11.11 09:06 Piotr M Kuć
- 07.11.11 10:40
- 07.11.11 10:47 MoonWolf
- 07.11.11 10:29 Sławomir Szczyrba
- 07.11.11 10:57 Piotr M Kuć
- 07.11.11 11:57
- 08.11.11 18:05 Bogdan (bogdro)
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-22 za tik-toka
- 2024-10-22 Wciskania elektryków na siłę ciąg dalszy :(
- 2024-10-22 Wymarzony świat ev hejterów
- 2024-10-21 Autobus,, skuter czy Twizy
- 2024-10-21 Problem elektryków rozwiązany.
- 2024-10-21 Drukowanie bezprzewodowe - jaki interface ?
- 2024-10-22 Środa Wielkopolska => Konsultant SAP <=
- 2024-10-22 Poznań => International freight forwarder <=
- 2024-10-21 Kraków => Spedytor międzynarodowy <=
- 2024-10-21 Błonie => Sales Specialist <=
- 2024-10-21 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-10-21 Kraków => Programista Full Stack (.Net Core) <=
- 2024-10-21 Zielona Góra => Power Electronics R&D Engineer <=
- 2024-10-21 Warszawa => Junior New Business Development Manager <=
- 2024-10-21 Gdynia => Spedytor Międzynarodowy Morski/Intermodalny <=