Вывод содержимого eax

Тема в разделе "WASM.HEAP", создана пользователем click_and_die, 25 апр 2007.

  1. click_and_die

    click_and_die New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2007
    Сообщения:
    192
    Осваиваю Системное программирование (я прикладной программист на Java)

    Вот надо мне вывести содержимое регистра eax на экран:
    Встрял.
    Код (Text):
    1.     procedure   yarm is
    2.  
    3.     name:   Unsigned_32;
    4.     EAX_RESULT: Unsigned_32;
    5.  
    6.     begin
    7.  
    8.     if (argument_count) = 0 then
    9.  
    10.     put_line ("USAGE: yarm [command]");
    11.  
    12.      Asm (".text" & LF & HT &
    13.               "movl $1, %%eax" & LF & HT &
    14.               "pushl %%eax"    & LF & HT &
    15.               "int $0x80"
    16.              );
    17.  
    18.    
    19.  
    20.     end if;
    21.         name:= 1024;
    22.        
    23.        
    24.         asm ("nop" & LF & HT &
    25.                      "movl $4, %%eax",
    26.                      Inputs  => Unsigned_32'Asm_Input ("a", name),
    27.                      Outputs => Unsigned_32'Asm_Output ("=a", EAX_RESULT)
    28.                      );
    29.        
    30.             -- ВЫВОД СОДЕРЖИМОГО eax?
    31.  
    32.     end yarm;
    Помогите новичку.
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ой что это
     
  3. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
  4. Guest

    Guest Guest

    Публикаций:
    0
    =) я тож не знаю жабу. Обычно в С++ делается через переменную.

     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    click_and_die
    > movl $4, %%eax
    Зачем присваивать eax фиксированное значение 4? Так оно всегда будет возвращать 4. Я уже решил не спрашивать зачем там ещё nop...
     
  6. click_and_die

    click_and_die New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2007
    Сообщения:
    192
    Quantum
    nop - чтоб верхняя строчка в глаза не бросалась.

    movl 4, eax - забыл убрать (тут другая прога была - выводила на экран сообщение)

    должно быть так
    Код (Text):
    1. nop
    2. pushl %%eax,
    3. Inputs  => Unsigned_32'Asm_Input ("a", name),
    4. Outputs => Unsigned_32'Asm_Output ("=a", EAX_RESULT));