📄 rawcon.inc
字号:
;; writechr: Write a single character in AL to the console without; mangling any registers. This does raw console writes,; since some PXE BIOSes seem to interfere regular console I/O.;%if IS_ISOLINUXwritechr_full:%elsewritechr:%endif push ds push cs pop ds call write_serial ; write to serial port if needed pushfd test byte [DisplayCon],01h ; Write to screen? jz .nothing pushad mov bh,[BIOS_page] push ax mov ah,03h ; Read cursor position int 10h pop ax cmp al,8 je .bs cmp al,13 je .cr cmp al,10 je .lf push dx mov bh,[BIOS_page] mov bl,07h ; White on black mov cx,1 ; One only mov ah,09h ; Write char and attribute int 10h pop dx inc dl cmp dl,[VidCols] jna .curxyok xor dl,dl.lf: inc dh cmp dh,[VidRows] ja .scroll.curxyok: mov bh,[BIOS_page] mov ah,02h ; Set cursor position int 10h .ret: popad.nothing: popfd pop ds ret.scroll: dec dh mov bh,[BIOS_page] mov ah,02h int 10h mov ax,0601h ; Scroll up one line mov bh,[ScrollAttribute] xor cx,cx mov dx,[ScreenSize] ; The whole screen int 10h jmp short .ret.cr: xor dl,dl jmp short .curxyok.bs: sub dl,1 jnc .curxyok mov dl,[VidCols] sub dh,1 jnc .curxyok xor dh,dh jmp short .curxyok
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -