summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile13
-rw-r--r--demo-input-char.c17
-rw-r--r--demo-input-int.c17
4 files changed, 46 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 2c5af63..4843672 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
*.o
demo-printing
+demo-input-char
+demo-input-int
diff --git a/Makefile b/Makefile
index 8cdac42..9d326b3 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ LDFLAGS=
SRCDIR=src
BINDIR=build
-all: libmalice.o demo-printing
+all: libmalice.o demo-printing demo-input-char demo-input-int
libmalice.o: libmalice.asm
nasm $(NASMFLAGS) -o $@ $<
@@ -16,11 +16,18 @@ libmalice.o: libmalice.asm
cc $(CFLAGS) -c -o $@ $<
demo-printing: demo-printing.o libmalice.o
- ld $(LDFLAGS) -nostdlib -e _lmStart -o demo-printing demo-printing.o libmalice.o
+ ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
+
+demo-input-char: demo-input-char.o libmalice.o
+ ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
+
+demo-input-int: demo-input-int.o libmalice.o
+ ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
-demos: demo-printing
.PHONY : clean
clean:
rm -f *.o
rm -f demo-printing
+ rm -f demo-input-char
+ rm -f demo-input-int
diff --git a/demo-input-char.c b/demo-input-char.c
new file mode 100644
index 0000000..4bd2af9
--- /dev/null
+++ b/demo-input-char.c
@@ -0,0 +1,17 @@
+#include "libmalice.h"
+
+int lmMain(void)
+{
+ char c;
+
+ lmPrintString("This demo tests keyboard input for single characters.\n");
+
+ lmPrintString("Enter a letter and press return: ");
+ c = lmReadChar();
+ lmPrintString("You entered the letter ");
+ lmPrintChar(c);
+ lmPrintChar('.');
+ lmPrintChar('\n');
+
+ return 0;
+}
diff --git a/demo-input-int.c b/demo-input-int.c
new file mode 100644
index 0000000..aa1330d
--- /dev/null
+++ b/demo-input-int.c
@@ -0,0 +1,17 @@
+#include "libmalice.h"
+
+int lmMain(void)
+{
+ int i;
+
+ lmPrintString("This demo tests keyboard input for integers.\n");
+
+ lmPrintString("Enter a number and press return: ");
+ i = lmReadInt32s();
+ lmPrintString("You entered the number ");
+ lmPrintInt32s(i);
+ lmPrintChar('.');
+ lmPrintChar('\n');
+
+ return 0;
+}