Mix C and assembly, minor modifications to print routines.
This commit is contained in:
parent
640314be8a
commit
06f240dd6d
3
Makefile
3
Makefile
@ -1,7 +1,8 @@
|
|||||||
PROJECT := demo
|
PROJECT := demo
|
||||||
|
|
||||||
SRC = \
|
SRC = \
|
||||||
src/ceda_print.c \
|
src/ceda_print_a.asm \
|
||||||
|
src/ceda_print_c.c \
|
||||||
src/main.c \
|
src/main.c \
|
||||||
\
|
\
|
||||||
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#ifndef CEDA_PRINT_H
|
#ifndef CEDA_PRINT_H
|
||||||
#define CEDA_PRINT_H
|
#define CEDA_PRINT_H
|
||||||
|
|
||||||
void ceda_print(const char* s);
|
void ceda_cls(void);
|
||||||
|
|
||||||
|
void ceda_print(const char *s);
|
||||||
|
|
||||||
#endif // CEDA_PRINT_H
|
#endif // CEDA_PRINT_H
|
||||||
|
|
||||||
|
26
src/ceda_print_a.asm
Normal file
26
src/ceda_print_a.asm
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
SECTION code
|
||||||
|
PUBLIC _ceda_cls
|
||||||
|
|
||||||
|
_ceda_cls:
|
||||||
|
push af
|
||||||
|
push bc
|
||||||
|
push de
|
||||||
|
push hl
|
||||||
|
|
||||||
|
ld hl,$d000
|
||||||
|
ld de,2000
|
||||||
|
ld c,$20
|
||||||
|
_ceda_cls_loop:
|
||||||
|
ld (hl),c
|
||||||
|
inc hl
|
||||||
|
dec de
|
||||||
|
ld a,d
|
||||||
|
or e
|
||||||
|
jp nz,_ceda_cls_loop
|
||||||
|
|
||||||
|
pop hl
|
||||||
|
pop de
|
||||||
|
pop bc
|
||||||
|
pop af
|
||||||
|
|
||||||
|
ret
|
@ -4,6 +4,7 @@ int globalvar = 0x7777;
|
|||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
ceda_print("Hello world!");
|
ceda_print("Hello world!");
|
||||||
|
ceda_cls();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user