More Programs

Added math library WIP.
Added some other stuff.
This commit is contained in:
Anachronaut
2024-11-18 19:38:38 -05:00
committed by GitHub
parent fc2955cc21
commit bf7beec8ec
5 changed files with 150 additions and 3 deletions
+55
View File
@@ -0,0 +1,55 @@
; This program asks the user for input, then prints whatever they input back to the console again.
; It stores the input string in a buffer in the Data Memory.
#Include ../Libraries/print.asm
#Program
start:
SETD Message0 ; Set the Data Pointer to the explanation message.
CALL printString ; Print it out.
CALL lineFeed
SETD Buffer ; Set the Data Pointer to the start of the buffer.
INIB 0x0A ; Load the value of a linefeed into B.
inputLoop:
INA 0x00 ; Poll the command line.
CCF
SUB
BRQ inputEnd ; If we encountered a linefeed, the string is over, proceed to processing.
STA ; Store A into the buffer.
INCD ; Increment to the next spot in the buffer.
BRI inputLoop ; Loop again to grab more string.
inputEnd:
INIA 0x00 ; Set A to 0.
STA ; Store it in the buffer.
SETD Buffer ; Set the Data Pointer to the start of the buffer again.
CALL printString ; Print it out.
CALL lineFeed
HALT ; End the program.
#Data
; A 256 character buffer for the input string.
; There will need to be some kind of way to define large arrays better than this...
Buffer:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Message0:
"Input Test: Will echo anything you put in."
+27
View File
@@ -0,0 +1,27 @@
; A test for the new math subroutines.
#Include ../Libraries/print.asm
#Include ../Libraries/math.asm
#Program
start:
SETD SomeInt16Operands
CALL int16sub
BRC end
LDA
CALL printByteHex
INCD
LDA
CALL printByteHex
INIA 0x3A
OUTA 0x00
BRI start
end:
CALL lineFeed
HALT
#Data
SomeInt16Operands:
0xFF 0xFF
0x00 0x01