libc8
CHIP-8 utility library
Loading...
Searching...
No Matches
encode.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define C8_ARG_VERBOSE   1
 Print verbose output.
 
#define C8_ENCODE_MAX_LINE_LENGTH   100
 Maximum line length.
 
#define C8_ENCODE_MAX_WORDS   100
 Maximum number of words per line.
 
#define C8_ENCODE_MAX_LINES   500
 Maximum number of lines.
 

Functions

int c8_encode (const char *, uint8_t *, int)
 Parse the given string.
 
char * c8_remove_comment (char *)
 Remove comment from string if exists.
 

Variables

char ** c8_lines
 Source code (will be manipulated when encoding)
 
char ** c8_linesUnformatted
 Source code (will not be manipulated when encoding)
 
int c8_lineCount
 Source code line count.
 

Detailed Description

Base assembler code

Macro Definition Documentation

◆ C8_ARG_VERBOSE

#define C8_ARG_VERBOSE   1

Print verbose output.

◆ C8_ENCODE_MAX_LINE_LENGTH

#define C8_ENCODE_MAX_LINE_LENGTH   100

Maximum line length.

◆ C8_ENCODE_MAX_LINES

#define C8_ENCODE_MAX_LINES   500

Maximum number of lines.

◆ C8_ENCODE_MAX_WORDS

#define C8_ENCODE_MAX_WORDS   100

Maximum number of words per line.

Function Documentation

◆ c8_encode()

int c8_encode ( const char *  s,
uint8_t *  out,
int  args 
)

Parse the given string.

This is the main assembler function.

This function generates bytecode from the given assembly code.

Parameters
sstring containing assembly code
outpointer to write bytecode to
argscommand line arguments
Returns
length of resulting bytecode.

◆ c8_remove_comment()

char * c8_remove_comment ( char *  s)

Remove comment from string if exists.

Parameters
sstring to remove comment from
Returns
string without comment

Variable Documentation

◆ c8_lineCount

int c8_lineCount
extern

Source code line count.

◆ c8_lines

char** c8_lines
extern

Source code (will be manipulated when encoding)

◆ c8_linesUnformatted

char** c8_linesUnformatted
extern

Source code (will not be manipulated when encoding)