armasm

Тема в разделе "WASM.ASSEMBLER", создана пользователем B_108, 4 сен 2004.

  1. B_108

    B_108 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    62
    Всем привет, вот этот код вроде как должен распечатывать содержимое r0 в хекс виде (я тока начинаю arm изучать, так что получилось скорее всего криво)
    Код (Text):
    1.  
    2.         include     wince.inc
    3.    
    4.         IMPORT  MessageBoxW
    5.         IMPORT  ExitThread
    6.  
    7.         EXPORT  start
    8.  
    9.         AREA        .text, CODE
    10. start
    11.         mov     R1, #14             ;счетчик
    12.         adr     R2, mestext
    13.    
    14. loop
    15.         mov     R3, R0
    16.         and     R3, R3, #0xF
    17.         cmp     R3, #0xA
    18.         add     R3, R3, #0x30
    19.         addge   R3, R3, #0x11
    20.         strb    R3, [R2, R1]
    21.         mov     R0, R0, ror #4
    22.         subs    r1, r1, #2
    23.         bmi     loop
    24. message    
    25.         eor     R0, R0, R0
    26.         adr     R1, mestext
    27.         adr     R2, mestit
    28.         mov     R3, #MB_OK
    29.         bl      MessageBoxW
    30.        
    31.         eor     R0, R0, R0
    32.         bl      ExitThread
    33.    
    34. mestext     dcw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    35. mestit      dcb "H",0,"E",0,"X",0,0,0
    36.    
    37.         END


    Собствено на девайсе при выполнении выдается ошибка.

    Без строки
    Код (Text):
    1.  
    2. strb    R3, [R2, R1]
    3.  


    все работает.

    Я как-то не так юзаю эту инсрукцию?
     
  2. B_108

    B_108 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    62
    Отвечу сам себе, вдруг кому понадобится )
    Код (Text):
    1.  
    2.         include     wince.inc
    3.    
    4.         IMPORT  MessageBoxW
    5.         IMPORT  ExitThread
    6.  
    7.         EXPORT  start
    8.  
    9.         AREA        .text, CODE
    10. start
    11.         mov     R0, #0x13
    12.         mov     R1, #14             ;счетчик
    13.         ldr     R2, =mestext
    14.    
    15. loop
    16.         mov     R3, R0
    17.         and     R3, R3, #0xF
    18.         cmp     R3, #0xA
    19.         add     R3, R3, #0x30
    20.         addge   R3, R3, #0x11
    21.         strb    R3, [R2, R1]
    22.         mov     R0, R0, ror #4
    23.         subs    r1, r1, #2
    24.         bpl     loop
    25. message    
    26.         eor     R0, R0, R0
    27.         ldr     R1, =mestext
    28.         ldr     R2, =mestit
    29.         mov     R3, #MB_OK
    30.         bl      MessageBoxW
    31.        
    32.         eor     R0, R0, R0
    33.         bl      ExitThread
    34.    
    35.         AREA        .data, DATA
    36.        
    37. mestext     dcw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    38. mestit      dcb "H",0,"E",0,"X",0,0,0
    39.    
    40.         END
    41.