запись в файл

Тема в разделе "WASM.UNIX", создана пользователем _ir4_Y_, 1 окт 2007.

  1. _ir4_Y_

    _ir4_Y_ New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2007
    Сообщения:
    76
    Хочу написать программу переписывающую оперативную память в файл
    использую следующий код :


    .global main

    .text
    main:
    jmp data
    code:
    movl $5,%eax
    movl (%esp),%ebx
    movl $0x384,%edx # S_IWUSR|S_IRUSR
    movl $0xa41,%ecx # O_CREAT|O_TRUNC|O_NONBLOCK|O_WRONLY
    int $0x80

    movl %eax,%ebx
    movl $4,%eax
    movl (%esp),%ecx
    movl $N,%edx
    int $0x80

    xorl %eax,%eax
    xorl %ebx,%ebx
    incb %al
    int $0x80

    data:
    call code
    idtr:
    .string "RAM.dump\0"
    .byte 0x0


    Если N < 0x1000 все работает нормально
    но при большем значении файл оказывается пуст !
    Почему такое может быть ?


    заранее спасибо
     
  2. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Код (Text):
    1. .global main
    2.  
    3. .text
    4. main:
    5.     jmp    data  
    6. code:
    7.     movl    $5,%eax
    8.     movl    (%esp),%ebx
    9.     movl    $0x384,%edx  # S_IWUSR|S_IRUSR
    10.     movl    $0xa41,%ecx  #  O_CREAT|O_TRUNC|O_NONBLOCK|O_WRONLY
    11.     int    $0x80
    12.  
    13.     movl    %eax,%ebx
    14.     movl    $4,%eax
    15.     movl    (%esp),%ecx
    16.   #  movl    $N,%edx -- ???
    17.     int    $0x80
    18.  
    19.     xorl    %eax,%eax
    20.     xorl    %ebx,%ebx
    21.     incb    %al
    22.     int    $0x80
    23.  
    24. data:
    25.     call    code
    26. idtr:
    27.     .string        "RAM.dump\0"
    28.     .byte         0x0