Changeset 45f7449 in mainline for boot/arch/mips32/src
- Timestamp:
- 2013-03-31T19:46:19Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a5057cc
- Parents:
- 582f4d28
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/mips32/src/asm.S
r582f4d28 r45f7449 37 37 .global halt 38 38 .global jump_to_kernel 39 .global memset40 .global memcpy41 39 42 40 .section BOOTSTRAP … … 160 158 j $a0 161 159 nop 162 163 memset:164 move $v0, $a0165 beqz $a2, 0f166 addiu $t1, $a2, -1167 168 negu $t0, $a0169 andi $t0, $t0, 0x3170 sltu $v1, $a2, $t0171 bnez $v1, 1f172 andi $a1, $a1, 0xff173 174 7:175 sltiu $v1, $a2, 4176 beqz $v1, 2f177 move $v1, $v0178 179 move $t0, $a2180 181 3:182 sb $a1, 0($v1)183 addiu $v1, $v1, 1184 subu $a3, $v1, $v0185 sltu $a3, $a3, $t0186 bnez $a3, 3b187 addiu $t1, $t1, -1188 189 beq $a2, $t0, 0f190 subu $a2, $a2, $t0191 192 8:193 srl $a0, $a2, 0x2194 sll $t4, $a0, 0x2195 beqz $t4, 4f196 sll $t2, $a1, 0x10197 198 sll $t3, $a1, 0x8199 or $t3, $a1, $t3200 sll $a3, $a1, 0x18201 or $t3, $t3, $t2202 or $t3, $t3, $a3203 addu $t0, $v0, $t0204 move $a3, $zero205 206 5:207 addiu $a3, $a3, 1208 sltu $t2, $a3, $a0209 sw $t3, 0($t0)210 bnez $t2, 5b211 addiu $t0, $t0, 4212 213 addu $v1, $v1, $t4214 beq $a2, $t4, 0f215 subu $t1, $t1, $t4216 217 4:218 addiu $t1, $t1, 1219 addu $t1, $v1, $t1220 sb $a1, 0($v1)221 222 6:223 addiu $v1, $v1, 1224 bnel $v1, $t1, 6b225 sb $a1, 0($v1)226 227 0:228 jr $ra229 nop230 231 1:232 j 7b233 move $t0, $a2234 235 2:236 bnez $t0, 3b237 nop238 239 j 8b240 subu $a2, $a2, $t0241 242 memcpy:243 move $t2, $a0 /* save dst */244 245 addiu $v0, $a1, 3246 li $v1, -4 /* 0xfffffffffffffffc */247 and $v0, $v0, $v1248 beq $a1, $v0, 3f249 move $t0, $a0250 251 0:252 beq $a2, $zero, 2f253 move $a3, $zero254 255 1:256 addu $v0, $a1, $a3257 lbu $a0, 0($v0)258 addu $v1, $t0, $a3259 addiu $a3, $a3, 1260 bne $a3, $a2, 1b261 sb $a0, 0($v1)262 263 2:264 jr $ra265 move $v0, $t2266 267 3:268 addiu $v0, $a0, 3269 and $v0, $v0, $v1270 bne $a0, $v0, 0b271 srl $t1, $a2, 2272 273 beq $t1, $zero, 5f274 move $a3, $zero275 276 move $a3, $zero277 move $a0, $zero278 279 4:280 addu $v0, $a1, $a0281 lw $v1, 0($v0)282 addiu $a3, $a3, 1283 addu $v0, $t0, $a0284 sw $v1, 0($v0)285 bne $a3, $t1, 4b286 addiu $a0, $a0, 4287 288 5:289 andi $a2, $a2, 0x3290 beq $a2, $zero, 2b291 nop292 293 sll $v0, $a3, 2294 addu $t1, $v0, $t0295 move $a3, $zero296 addu $t0, $v0, $a1297 298 6:299 addu $v0, $t0, $a3300 lbu $a0, 0($v0)301 addu $v1, $t1, $a3302 addiu $a3, $a3, 1303 bne $a3, $a2, 6b304 sb $a0, 0($v1)305 306 jr $ra307 move $v0, $t2
Note:
See TracChangeset
for help on using the changeset viewer.