Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: ubuntu luky 24 Května 2008, 14:11:00
-
kontrolni otazka soudruzi :) vidim ze se tady flakate tak vas musim trochu zabavit aby vam nezakrnely mozecky :D
copak asi udela tento kod? kdo to pozna zpameti? :D noooo soudruzi? :)
extern printf
section .data
h db 0x68,0x69,0x20,0x70,0x70,0x6C,0x0A
section .text
global main
main:
push dword h
call printf
pop eax
ret
mov ebx,0
mov eax,1
int 0x80
-
skonci s chybou?
-
skonci s chybou?
:D a rucnicek :) ne proc? :)
-
dobre mala napoveda! udela totez co tenhle program :)
SECTION .data
h db 0x68,0x69,0x20,0x70,0x70,0x6C,0x0A
len equ $-h
SECTION .text
global main
main:
mov edx,len
mov ecx,h
mov ebx,1
mov eax,4
int 0x80
mov ebx,0
mov eax,1
int 0x80
-
mno...na vetsine cipu to skonci chybou, ptze to neni v jejich assembleru ;)
jinak bych cekal, ze to nakonec neco vypise..ale konkretne co, to lustit nehodlam :)
-
btw, jeste si k tematu dovolim :)
; Should work with any MARS >= ICWS-86
; with 128x64 gfx core
Start MOV 0,2455
MOV 0,2458
MOV 0,2459
MOV 0,2459
MOV 0,2459
MOV 0,2459
MOV 0,2459
MOV 0,2460
MOV 0,2465
MOV 0,2471
MOV 0,2471
MOV 0,2471
MOV 0,2479
MOV 0,2482
MOV 0,2484
MOV 0,2484
MOV 0,2484
MOV 0,2486
MOV 0,2486
MOV 0,2486
MOV 0,2486
MOV 0,2488
MOV 0,2493
MOV 0,2493
MOV 0,2493
MOV 0,2493
MOV 0,2497
MOV 0,2556
MOV 0,2559
MOV 0,2560
MOV 0,2565
MOV 0,2570
MOV 0,2575
MOV 0,2578
MOV 0,2585
MOV 0,2588
MOV 0,2589
MOV 0,2592
MOV 0,2593
MOV 0,2596
MOV 0,2597
MOV 0,2603
MOV 0,2605
MOV 0,2608
MOV 0,2667
MOV 0,2670
MOV 0,2671
MOV 0,2676
MOV 0,2681
MOV 0,2686
MOV 0,2689
MOV 0,2696
MOV 0,2699
MOV 0,2700
MOV 0,2703
MOV 0,2704
MOV 0,2707
MOV 0,2708
MOV 0,2714
MOV 0,2716
MOV 0,2719
MOV 0,2778
MOV 0,2778
MOV 0,2778
MOV 0,2778
MOV 0,2778
MOV 0,2779
MOV 0,2779
MOV 0,2779
MOV 0,2782
MOV 0,2787
MOV 0,2792
MOV 0,2795
MOV 0,2802
MOV 0,2805
MOV 0,2806
MOV 0,2809
MOV 0,2810
MOV 0,2810
MOV 0,2810
MOV 0,2810
MOV 0,2812
MOV 0,2818
MOV 0,2820
MOV 0,2823
MOV 0,2882
MOV 0,2885
MOV 0,2886
MOV 0,2891
MOV 0,2896
MOV 0,2901
MOV 0,2904
MOV 0,2911
MOV 0,2912
MOV 0,2913
MOV 0,2914
MOV 0,2917
MOV 0,2918
MOV 0,2919
MOV 0,2922
MOV 0,2928
MOV 0,2930
MOV 0,2933
MOV 0,2992
MOV 0,2995
MOV 0,2996
MOV 0,3001
MOV 0,3006
MOV 0,3011
MOV 0,3014
MOV 0,3021
MOV 0,3022
MOV 0,3023
MOV 0,3024
MOV 0,3027
MOV 0,3028
MOV 0,3030
MOV 0,3032
MOV 0,3038
MOV 0,3040
MOV 0,3103
MOV 0,3106
MOV 0,3107
MOV 0,3107
MOV 0,3107
MOV 0,3107
MOV 0,3107
MOV 0,3108
MOV 0,3108
MOV 0,3108
MOV 0,3108
MOV 0,3108
MOV 0,3109
MOV 0,3109
MOV 0,3109
MOV 0,3109
MOV 0,3109
MOV 0,3111
MOV 0,3111
MOV 0,3111
MOV 0,3120
MOV 0,3121
MOV 0,3124
MOV 0,3124
MOV 0,3124
MOV 0,3126
MOV 0,3129
MOV 0,3130
MOV 0,3130
MOV 0,3130
MOV 0,3130
MOV 0,3130
MOV 0,3131
MOV 0,3131
MOV 0,3131
MOV 0,3131
MOV 0,3135
JMP 0
-
dobre mala napoveda! udela totez co tenhle program :)
SECTION .data
h db 0x68,0x69,0x20,0x70,0x70,0x6C,0x0A
len equ $-h
SECTION .text
global main
main:
mov edx,len
mov ecx,h
mov ebx,1
mov eax,4
int 0x80
mov ebx,0
mov eax,1
int 0x80
jestli chápu dobře že
mov eax,4
int 0x80
je syst. volání služby č.4 tedy pro výstup textu
tak bych řekl že pozdraví jednu přepravní společnost a odřádkuje
Nikdy jsem sice v linuxu neprogramoval, ale řídím se tím že všechny jazyky jsou stejné, jen se v nich jinak píšou závorky.
takže jsem se zeptal strýčka na int 0x80 a ten mi vyhodil http://www.root.cz/clanky/programujeme-assembler-linux-jak-na-adresare/ a z kontextu to tak nějak vyplývá
-
kikl ano spravne puvodne to bylo takhle
h db "hi ppl",10
ale pak sem si rek ze to nenecham tak snadny :)
a marv taky uhodnul :) ale marve proc by to melo koncit chybou protoze to neni v jejich assembleru? prave ze syntaxe toho assembleru je intelacka takze kazdej takovej kompiler by to mel vzit no a pak tenhle kod konkretne je takovej neportabilni protoze vola to preruseni typicky pro linux cili pod dosem by to skutecne nefungovalo ale kazdymu na linux by teda melo. (asi teda linux x86 to mas pravdu ale na tom jedem vsichni ne?) nevim teda jak ten prvni kod kdyby se umazala ta druha cast to volani printf asi by to taky neslo pod dosem no a ten tvuj kod no to nevim ale zamyslim se :)
tak sem vygooglil ze je to hello world ale v nakym redcode coz neni beznej assembler teda :) to by fakt nic nedelalo asi kdyby se to zkompilovalo s nasm treba :)
-
luky> staci kdyz mas cip s jinou instrukcni sadou :)
-
tak tomu nerozumim. ja mel dojem ze vsichni pouzivame cipy intel kompatibilni a potom to bude fungovat na vsech takovych cipech :) nebo teda na amd procesoru to nepujde?