; out: eax = mem in bytes, 0 = error ;\r
;-----------------------------------------;\r
getmem:\r
- push dx\r
- push cx\r
- push ebx\r
+ push dx\r
+ push cx\r
+ push ebx\r
\r
- xor eax, eax\r
- xor ebx, ebx\r
- mov ax, 0xE801\r
- xor dx, dx\r
- xor cx, cx\r
- int 0x15\r
- jnc .cont1\r
- xor eax, eax\r
- jmp .end ; failed! :'(\r
+ xor eax, eax\r
+ xor ebx, ebx\r
+ mov ax, 0xE801\r
+ xor dx, dx\r
+ xor cx, cx\r
+ int 0x15\r
+ jnc .cont1\r
+ xor eax, eax\r
+ jmp .end ; failed! :'(\r
\r
- .cont1:\r
- mov si, ax\r
- or si, bx\r
- jne .cont\r
- mov ax, cx\r
- mov bx, dx\r
+ .cont1:\r
+ mov si, ax\r
+ or si, bx\r
+ jne .cont\r
+ mov ax, cx\r
+ mov bx, dx\r
\r
- .cont:\r
- cmp ax, 0x3C00\r
- jb .below_16\r
- movzx eax, bx\r
- add eax, 0x100\r
- shl eax, 16 ; eax = eax * 65536\r
- jmp .end\r
+ .cont:\r
+ cmp ax, 0x3C00\r
+ jb .below_16\r
+ movzx eax, bx\r
+ add eax, 0x100\r
+ shl eax, 16 ; eax = eax * 65536\r
+ jmp .end\r
\r
- .below_16:\r
- shl eax, 10 ; eax = eax * 1024\r
+ .below_16:\r
+ shl eax, 10 ; eax = eax * 1024\r
\r
.end:\r
- pop ebx\r
- pop cx\r
- pop dx\r
- ret
\ No newline at end of file
+ pop ebx\r
+ pop cx\r
+ pop dx\r
+ ret
\ No newline at end of file