cergmin
@cergmin
Developer

Поможете найти ошибку?

Помогите найти ошибку в коде. Он должен уметь печатать и стирать текст, но может только печатать.
section .text
	use16
	org 0x7C00
start:
	mov ax, cs
        mov ds, ax
        mov si,a
        cld
        mov ah, 0x0e
        mov bh,0
        jmp cos
cos:
	lodsb
	test al, al
	jz text
	int 10h
        jmp cos
text:
	mov ah,0
        int 16h
        cmp ah,0Eh
        jz backspace
        mov ah,0x0e
        mov bh,0
        jmp text
backspace:
        mov ah,0x0e
        mov bh,0
        mov al,8
        int 10h
        mov ah,0x0e
        mov bh,0
        mov al,0
        int 10h
        mov ah,0x0e
        mov bh,0
        mov al,8
        int 10h
        jmp text
section .data
a db 'Starting OS',0
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Давно это было...
Если курсор сдвигается как надо, но символ не стирается - попробуйте вместо mov al,0 написать mov al,20h (пробел) между записью двух 8 (backspace).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы