strcmp is obsoleted by rep cmpsb
This commit is contained in:
parent
378c199eab
commit
5fbe8c6886
50
kernel.asm
50
kernel.asm
@ -16,20 +16,16 @@ cmd_loop:
|
|||||||
push newline
|
push newline
|
||||||
call print
|
call print
|
||||||
|
|
||||||
push user_cmd
|
mov si, user_cmd
|
||||||
push cmd_help_text
|
mov di, cmd_help_text
|
||||||
push 4
|
mov cx, 4
|
||||||
call strcmp
|
rep cmpsb
|
||||||
|
|
||||||
cmp ax, 1
|
|
||||||
je cmd_help
|
je cmd_help
|
||||||
|
|
||||||
push user_cmd
|
mov si, user_cmd
|
||||||
push cmd_clear_text
|
mov di, cmd_clear_text
|
||||||
push 5
|
mov cx, 5
|
||||||
call strcmp
|
rep cmpsb
|
||||||
|
|
||||||
cmp ax, 1
|
|
||||||
je cmd_clear
|
je cmd_clear
|
||||||
|
|
||||||
push cmd_err
|
push cmd_err
|
||||||
@ -98,36 +94,6 @@ print_exit:
|
|||||||
pop bp
|
pop bp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; strcmp(length, str1, str2)
|
|
||||||
strcmp:
|
|
||||||
push bp
|
|
||||||
mov bp, sp
|
|
||||||
mov si, [bp + 6]
|
|
||||||
mov di, [bp + 8]
|
|
||||||
mov word [bp - 2], 0
|
|
||||||
strcmp_loop:
|
|
||||||
mov ax, [bp + 4]
|
|
||||||
cmp [bp - 2], ax
|
|
||||||
je strcmp_equal
|
|
||||||
|
|
||||||
lodsb
|
|
||||||
|
|
||||||
cmp [di], al
|
|
||||||
jne strcmp_notequal
|
|
||||||
|
|
||||||
inc di
|
|
||||||
inc word [bp - 2]
|
|
||||||
jmp strcmp_loop
|
|
||||||
|
|
||||||
strcmp_equal:
|
|
||||||
mov ax, 1
|
|
||||||
jmp strcmp_exit
|
|
||||||
strcmp_notequal:
|
|
||||||
mov ax, 0
|
|
||||||
strcmp_exit:
|
|
||||||
pop bp
|
|
||||||
ret
|
|
||||||
|
|
||||||
; readline(max length, buffer)
|
; readline(max length, buffer)
|
||||||
readline:
|
readline:
|
||||||
push bp
|
push bp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user