diff options
Diffstat (limited to 'boot/common_pm.asm')
| -rw-r--r-- | boot/common_pm.asm | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/boot/common_pm.asm b/boot/common_pm.asm deleted file mode 100644 index c96e1a8..0000000 --- a/boot/common_pm.asm +++ /dev/null @@ -1,86 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;; Miguel's FoolOS Helper Functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; -;print_string_pm -;print_hex_pm -; -; -; - -[bits 32] - -VIDEO_MEM equ 0xb8000 -WHITE_ON_BLACK equ 0x0f - -;global data -STR_HEX_OUT_PM: - db "0x0000",0 - -; print [ebx] at ecx -print_string_pm: - pusha - mov edx, VIDEO_MEM - add edx,ecx - print_string_pm_loop: - mov al,[ebx] - mov ah, WHITE_ON_BLACK - cmp al,0 - je print_string_pm_done - mov [edx],ax - add ebx,1 - add edx,2 - jmp print_string_pm_loop - -print_string_pm_done: - popa - ret - -;print_hex_pm routine (dx) at ecx -;will print the value of the bx register as hex to the screen -print_hex_pm: - - pusha - - - ;begin with last hex val (hex_out[5]) - mov bx,STR_HEX_OUT_PM+5 - - ;lets loop throuth all 4 'digits' - print_hex_pm_loop: - - ;get least significan hex digit to cx - mov cx,dx - and cx,0x000F - - ;check range (0-9 vs a-f) - cmp cx,10 - jl print_hex_pm_setnum - - ;set hex a-f - mov al,'A'-10 - add al,cl - jmp print_hex_pm_al - - ;set hex 0-9 - print_hex_pm_setnum: - mov al,'0' - add al,cl - - ; set hex_out[bx] to al - print_hex_pm_al: - mov [bx],al - - ;proceed with the next significant hex 'digit' - dec bx - shr dx,4 - - ;check if finished (otherwise loop) - cmp bx,STR_HEX_OUT_PM+1 - jne print_hex_pm_loop - - ;output complete hex string and return to caller - popa - mov bx,STR_HEX_OUT_PM - call print_string_pm - ret |
