.file "winchar.s"
.text
.def _mainCRTStartup; .scl 2; .type 32; .endef
_mainCRTStartup:
pushl %eax
movl %esp, %edi
pushl %eax
movl %esp, %esi
movl $32, %ebx
L8:
pushl $-11
call _GetStdHandle@4
pushl $0
pushl %esi
pushl $1
pushl %edi
pushl %eax
movl %ebx, (%edi)
call _WriteFile@20
cmpl $10, %ebx
je L1
incl %ebx
cmpl $126, %ebx
jle L8
movb $10, %bl
jmp L8
L1:
popl %eax
popl %eax
xorl %eax, %eax
retc:\mingw\bin\gcc.exe -o winchar.o -c winchar.s ld -o winchar.exe -s -Bdynamic winchar.o --file-alignment 512 -lkernel32
offset +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF --------------------------------------------------------------------------- 00000000 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 MZ.............. //windwosは最初のMZしか見ていないらしい. (重要ではないので中略) 00000030 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 ................ //windowsは末尾の 00000080 しか見てないらしい(PEヘッダへのポインタ) (重要ではないので中略) 00000080 50 45 00 00 4C 01 02 00 4B 9E 97 5B 00 00 00 00 PE..L...K..[.... 00000090 00 00 00 00 E0 00 0F 02 0B 01 02 38 00 02 00 00 ...........8.... 000000A0 00 02 00 00 00 00 00 00 00 10 00 00 00 10 00 00 ................ 000000B0 00 00 00 00 00 00 40 00 00 10 00 00 00 02 00 00 ......@......... 000000C0 04 00 00 00 01 00 00 00 04 00 00 00 00 00 00 00 ................ 000000D0 00 30 00 00 00 04 00 00 82 7F 00 00 03 00 00 00 .0.............. 000000E0 00 00 20 00 00 10 00 00 00 00 10 00 00 10 00 00 .. ............. 000000F0 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ................ 00000100 00 20 00 00 7C 00 00 00 00 00 00 00 00 00 00 00 . ..|........... 00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000170 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 00 00 .........text... 00000180 60 00 00 00 00 10 00 00 00 02 00 00 00 04 00 00 `............... 00000190 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 60 ............ ..` 000001A0 2E 69 64 61 74 61 00 00 7C 00 00 00 00 20 00 00 .idata..|.... .. 000001B0 00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00 ................ 000001C0 00 00 00 00 40 00 00 C0 00 00 00 00 00 00 00 00 ....@........... (重要ではないので中略) 00000400 50 89 E7 50 89 E6 BB 20 00 00 00 6A F5 E8 2E 00 P..P... ...j.... 00000410 00 00 6A 00 56 6A 01 57 50 89 1F E8 28 00 00 00 ..j.Vj.WP...(... 00000420 83 FB 0A 74 0A 43 83 FB 7E 7E E0 B3 0A EB DC 58 ...t.C..~~.....X 00000430 58 31 C0 C3 90 90 90 90 90 90 90 90 90 90 90 90 X1.............. 00000440 FF 25 3C 20 40 00 90 90 FF 25 40 20 40 00 90 90 .%< @....%@ @... 00000450 FF FF FF FF 00 00 00 00 FF FF FF FF 00 00 00 00 ................ (重要ではないので中略) 00000600 2C 20 00 00 00 00 00 00 00 00 00 00 6C 20 00 00 , ..........l .. 00000610 3C 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 < .............. 00000620 00 00 00 00 00 00 00 00 00 00 00 00 48 20 00 00 ............H .. 00000630 58 20 00 00 00 00 00 00 00 00 00 00 48 20 00 00 X ..........H .. 00000640 58 20 00 00 00 00 00 00 84 01 47 65 74 53 74 64 X ........GetStd 00000650 48 61 6E 64 6C 65 00 00 3B 03 57 72 69 74 65 46 Handle..;.WriteF 00000660 69 6C 65 00 00 20 00 00 00 20 00 00 4B 45 52 4E ile.. ... ..KERN 00000670 45 4C 33 32 2E 64 6C 6C 00 00 00 00 00 00 00 00 EL32.dll........ (重要ではないので中略) 000007F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................