32 lines
416 B
NASM
32 lines
416 B
NASM
[org 0x6000]
|
|
[bits 32]
|
|
_start:
|
|
push ebp
|
|
mov ebp, esp
|
|
.loop:
|
|
; print shell prompt
|
|
mov eax, 1
|
|
mov edi, 0
|
|
mov esi, prompt
|
|
mov edx, 3
|
|
int 0x80
|
|
|
|
; read input
|
|
mov eax, 0
|
|
mov edi, 1
|
|
mov esi, buf
|
|
mov edx, 512
|
|
int 0x80
|
|
|
|
; echo what was wrote
|
|
mov eax, 1
|
|
mov edi, 0
|
|
mov esi, buf
|
|
mov edx, 512
|
|
int 0x80
|
|
|
|
jmp .loop
|
|
jmp $
|
|
|
|
prompt: db "> ", 0
|