Subversion Repositories HelenOS

Rev

Rev 2787 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2787 Rev 3042
Line 92... Line 92...
92
        "repe cmpsb\n\t"
92
        "repe cmpsb\n\t"
93
        "je 1f\n\t"
93
        "je 1f\n\t"
94
        "movl %3, %0\n\t"
94
        "movl %3, %0\n\t"
95
        "addl $1, %0\n\t"
95
        "addl $1, %0\n\t"
96
        "1:\n"
96
        "1:\n"
97
        : "=a" (ret), "=%S" (d0), "=&D" (d1), "=&c" (d2)
97
        : "=a" (ret), "=&S" (d0), "=&D" (d1), "=&c" (d2)
98
        : "0" (0), "1" ((unative_t) src), "2" ((unative_t) dst), "3" ((unative_t) cnt)
98
        : "0" (0), "1" ((unative_t) src), "2" ((unative_t) dst), "3" ((unative_t) cnt)
99
    );
99
    );
100
   
100
   
101
    return ret;
101
    return ret;
102
}
102
}
Line 114... Line 114...
114
{
114
{
115
    uint32_t d0, d1;
115
    uint32_t d0, d1;
116
   
116
   
117
    asm volatile (
117
    asm volatile (
118
        "rep stosw\n\t"
118
        "rep stosw\n\t"
119
        : "=&D" (d0), "=&c" (d1), "=a" (x)
119
        : "=&D" (d0), "=&c" (d1), "=&a" (x)
120
        : "0" (dst), "1" (cnt), "2" (x)
120
        : "0" (dst), "1" (cnt), "2" (x)
121
        : "memory"
121
        : "memory"
122
    );
122
    );
123
 
123
 
124
}
124
}
Line 136... Line 136...
136
{
136
{
137
    uint32_t d0, d1;
137
    uint32_t d0, d1;
138
   
138
   
139
    asm volatile (
139
    asm volatile (
140
        "rep stosb\n\t"
140
        "rep stosb\n\t"
141
        : "=&D" (d0), "=&c" (d1), "=a" (x)
141
        : "=&D" (d0), "=&c" (d1), "=&a" (x)
142
        : "0" (dst), "1" (cnt), "2" (x)
142
        : "0" (dst), "1" (cnt), "2" (x)
143
        : "memory"
143
        : "memory"
144
    );
144
    );
145
 
145
 
146
}
146
}