Ömer Özsipahi feature: C kernel
print_str_vga.asm 393 B
%macro DEFINE_PRINT_STR_VGA 4
; %1 fonksiyon adı
; %2 input/ yazdırılacak veriyi tutan register
; %3 ecx
; %4 edx
%1:
imul %3, 160
lea %4, [VGA_MEM + %3]
jmp %%loop
%%loop:
mov al, [%2]
mov ah, VGA_MOD
cmp al, 0
je %%done
mov [%4], ax
inc %2
add %4, 2
jmp %%loop
%%done:
ret
%endmacro
VGA_MEM: equ 0xb8000
VGA_MOD: equ 0x02