diff options
Diffstat (limited to 'boot2/print_string_16.asm')
| -rw-r--r-- | boot2/print_string_16.asm | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/boot2/print_string_16.asm b/boot2/print_string_16.asm deleted file mode 100644 index 9f81a87..0000000 --- a/boot2/print_string_16.asm +++ /dev/null @@ -1,115 +0,0 @@ -[bits 16] - -BLANK: - db 0x12 - -SPACE: - db " ",0 - -;print_string routine ([bx]) -;this routine will print a null terminated string at [bx] to the screen. -print_string: - - pusha ;push all registers - mov ah,0x0e - - print_string_loop: - - ;check if value at [bx] is "\0" (end of string) - mov cl,[bx] - cmp cl,0 - je print_string_finish - - ;otherwise instruct BIOS to print the current char - mov al,cl - int 0x10 - - ;proceed with next char - inc bx - jmp print_string_loop - - print_string_finish: - - popa ;pop all registers - ret ;return to caller - -print_clear: - -pusha - mov ah,0x6 ;func - mov al,0 ;scroll one line - mov bh,[BLANK] ;blank char - - mov ch,0 ;upper left corner - mov cl,0 - mov dh,20 ;lower right corner - mov dl,40 - int 0x10 - - mov ah,0x2 - mov bh,0 - mov dl,0 - mov dh,20 - int 0x10 -popa - -print_nextline: - - pusha - - mov ah,0x6 ;func - mov al,1 ;scroll one line - mov bh,[BLANK] ;blank char - - mov ch,0 ;upper left corner - mov cl,0 - mov dh,20 ;lower right corner - mov dl,40 - int 0x10 - - - mov ah,0x3 - mov bh,0 - int 0x10 - - - mov ah,0x2 - mov dl,0 - int 0x10 - - mov bx,SPACE - call print_string - - popa - ret - - -;print byte from al to screen - print_hex_byte: - - pusha - - mov [.temp],al - shr al,4 - cmp al,10 - sbb al,69h - das - - mov ah,0Eh - int 10h - - mov al,[.temp] - ror al,4 - shr al,4 - cmp al,10 - sbb al,69h - das - - mov ah,0Eh - int 10h - -popa - - ret - - .temp db 0 |
