39,9 → 39,7 |
.global interrupt_handlers |
.global memsetb |
.global memsetw |
.global memcmp |
|
|
## Turn paging on |
# |
# Enable paging and write-back caching in CR0. |
202,32 → 200,6 |
ret |
|
|
## Compare memory regions for equality |
# |
# Compare a given number of bytes (3rd argument) |
# at memory locations defined by 1st and 2nd argument |
# for equality. If the bytes are equal, EAX contains 0. |
# |
SRC=12 |
DST=16 |
CNT=20 |
memcmp: |
push %esi |
push %edi |
|
movl CNT(%esp),%ecx |
movl DST(%esp),%edi |
movl SRC(%esp),%esi |
|
repe cmpsb %es:(%edi),%ds:(%esi) |
movl %ecx,%eax # %ecx contains the return value (zero on success) |
|
pop %edi |
pop %esi |
|
ret |
|
|
# THIS IS USERSPACE CODE |
.global utext |
utext: |