Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/YJDoc2/8086-Emulator
/ functions
Functions
173 in github.com/YJDoc2/8086-Emulator
⨍
Functions
173
◇
Types & classes
18
↓ 108 callers
Function
set_flag
Function to set a particular flag
src/lib/util/flag_util.rs:48
↓ 106 callers
Function
unset_flag
Function to unset particular flag
src/lib/util/flag_util.rs:74
↓ 34 callers
Method
clear
Helper function to clear and set source mapper to default
src/lib/util/preprocessor_util.rs:82
↓ 34 callers
Function
has_even_parity
Helper function to check if number has even parity
src/lib/util/interpreter_util.rs:54
↓ 27 callers
Function
get_byte_reg
Returns value of selected byte register
src/lib/util/data_util.rs:51
↓ 27 callers
Function
set_byte_reg
sets value of selected byte register
src/lib/util/data_util.rs:82
↓ 23 callers
Function
get_flag_state
Funtion to check if a flag is set or not
src/lib/util/flag_util.rs:21
↓ 14 callers
Function
set_flag_helper
(flag: &mut u16, sign: bool, zero: bool, parity: bool)
src/lib/instructions/bit_manipulation.rs:7
↓ 13 callers
Function
setup
()
src/lib/interpreter/tests/transfer.rs:57
↓ 10 callers
Function
set_all_flags
(vm: &mut VM, flags: FlagsToSet)
src/lib/instructions/arithmetic.rs:15
↓ 8 callers
Function
get_err_pos
Helper for displaying errors Returns line number, start of the line, and end of the line
src/driver/error_helper.rs:6
↓ 6 callers
Method
add_entry
Adds a output line number -> source char number entry as the output line number will alway increment by 1, as we are using vector to store it, this di
src/lib/util/preprocessor_util.rs:96
↓ 6 callers
Function
set_flag_helper
(flag: &mut u16, sign: bool, zero: bool, parity: bool)
src/lib/instructions/arithmetic.rs:57
↓ 4 callers
Function
set_flags
(vm: &mut VM, flags: FlagsToSet)
src/lib/instructions/string.rs:16
↓ 2 callers
Method
get_source_map
consume the instance and return source map
src/lib/util/preprocessor_util.rs:67
↓ 2 callers
Method
lock_source
increment the lock count
src/lib/util/preprocessor_util.rs:57
↓ 2 callers
Method
unlock_source
decrement the lock count
src/lib/util/preprocessor_util.rs:62
↓ 2 callers
Function
user_interface
Function to give user prompt for interpreted mode, ot int 3
src/driver/user_interface.rs:7
↓ 1 callers
Function
byte_add
(vm: &mut VM, op1: u8, op2: u8)
src/lib/instructions/arithmetic.rs:418
↓ 1 callers
Function
byte_sub
(vm: &mut VM, op1: u8, op2: u8)
src/lib/instructions/arithmetic.rs:463
↓ 1 callers
Method
get_bounds
get bounds of line containing the given position returns character position of character after the newline character which is before given character a
src/lib/preprocessor/lexer_helper.rs:44
↓ 1 callers
Method
get_newline_before
Function to get the number of newline char, which will correspond to line number, and the place of the newline char. Arguments : i : u16 place before
src/lib/preprocessor/lexer_helper.rs:31
↓ 1 callers
Method
get_type
as lalrpop gives error on using label.r#type
src/lib/util/preprocessor_util.rs:32
↓ 1 callers
Function
int_13
Function to implement BIOS interrupt 0x13
src/driver/interrupts.rs:6
↓ 1 callers
Function
int_21
Function to implement DOS interrupt 0x21
src/driver/interrupts.rs:32
↓ 1 callers
Function
make_valid_address
just a % MB function
src/lib/util/address.rs:5
↓ 1 callers
Function
preprocess
Function run the preprocessor and return the generated result Returns Result Ok contains Lexer helper for the input, Preprocessor context, Preprocesso
src/driver/preprocess.rs:11
↓ 1 callers
Method
run
This method will compile the program then create vm, initialize it and run the interpreter
src/driver/driver.rs:35
↓ 1 callers
Function
separate_bytes
Used to separate lower and higher byte of u16 value returns tuple containing (higher,lower) byte
src/lib/util/data_util.rs:37
↓ 1 callers
Function
word_add
(vm: &mut VM, op1: u16, op2: u16)
src/lib/instructions/arithmetic.rs:524
↓ 1 callers
Function
word_sub
(vm: &mut VM, op1: u16, op2: u16)
src/lib/instructions/arithmetic.rs:570
Function
aaa
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:75
Function
aad
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:89
Function
aam
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:103
Function
aas
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:116
Function
byte_adc
(vm: &mut VM, op1: u8, op2: u8)
src/lib/instructions/arithmetic.rs:437
Function
byte_and
(vm: &mut VM, dest: u8, source: u8)
src/lib/instructions/bit_manipulation.rs:25
Function
byte_cmp
(vm: &mut VM, op1: u8, op2: u8)
src/lib/instructions/arithmetic.rs:506
Function
byte_dec
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:208
Function
byte_div
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:283
Function
byte_idiv
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:297
Function
byte_imul
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:268
Function
byte_inc
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:214
Function
byte_mul
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:253
Function
byte_neg
(vm: &mut VM, val: &mut u8)
src/lib/instructions/arithmetic.rs:220
Function
byte_or
(vm: &mut VM, dest: u8, source: u8)
src/lib/instructions/bit_manipulation.rs:38
Function
byte_rcl
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:275
Function
byte_rcr
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:295
Function
byte_rol
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:243
Function
byte_ror
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:259
Function
byte_sal
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:130
Function
byte_sar
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:165
Function
byte_sbb
(vm: &mut VM, op1: u8, op2: u8)
src/lib/instructions/arithmetic.rs:482
Function
byte_shr
(vm: &mut VM, val: u8, num: u8)
src/lib/instructions/bit_manipulation.rs:205
Function
byte_test
(vm: &mut VM, dest: u8, source: u8)
src/lib/instructions/bit_manipulation.rs:65
Function
byte_xor
(vm: &mut VM, dest: u8, source: u8)
src/lib/instructions/bit_manipulation.rs:52
Method
calculate_from_offset
calculate usize address from base and offset using base * 0x10 + offset
src/lib/util/address.rs:23
Function
cbw
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:187
Function
cmps_byte
(vm: &mut VM)
src/lib/instructions/string.rs:163
Function
cmps_word
(vm: &mut VM)
src/lib/instructions/string.rs:193
Function
cwd
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:197
Function
daa
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:130
Function
das
(vm: &mut VM)
src/lib/instructions/arithmetic.rs:162
Method
default
()
src/lib/vm.rs:20
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
src/lib/util/interpreter_util.rs:7
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
src/lib/util/address.rs:33
Function
get_word_reg_val
Helper function to get word register value
src/lib/util/data_util.rs:118
Function
inc_addr
to increment address wrapping above MB
src/lib/util/address.rs:11
Function
loads_byte
(vm: &mut VM)
src/lib/instructions/string.rs:98
Function
loads_word
(vm: &mut VM)
src/lib/instructions/string.rs:109
Function
main
()
build.rs:1
Function
main
()
src/bin.rs:7
Function
movs_byte
(vm: &mut VM)
src/lib/instructions/string.rs:57
Function
movs_word
(vm: &mut VM)
src/lib/instructions/string.rs:72
Method
new
create new VM
src/lib/vm.rs:27
Method
new
Create new Lexer Helper, by scanning input and storing occurrences of newlines Arguments input : &str which is input
src/lib/preprocessor/lexer_helper.rs:15
Method
new
Create a new label
src/lib/util/preprocessor_util.rs:24
Method
new
create new CMDDriver ip is the program string interpreted is flag check to display user prompt after every instruction
src/driver/driver.rs:27
Function
scas_byte
(vm: &mut VM)
src/lib/instructions/string.rs:235
Function
scas_word
(vm: &mut VM)
src/lib/instructions/string.rs:262
Method
set_source
Used to Set the source_last manually, should not be used unless absolutely required, intended to used for macros, because the source_last at the line
src/lib/util/preprocessor_util.rs:75
Function
set_word_reg_val
Helper function to set word register value
src/lib/util/data_util.rs:136
Function
stos_byte
(vm: &mut VM)
src/lib/instructions/string.rs:129
Function
stos_word
(vm: &mut VM)
src/lib/instructions/string.rs:141
Function
test_arithmetic
()
src/lib/preprocessor/preprocessor_tests.rs:218
Function
test_binary_arithmetic
()
src/lib/interpreter/tests/arithmetic.rs:285
Function
test_binary_logical
()
src/lib/interpreter/tests/bit_manipulation.rs:99
Function
test_binary_logical
()
src/lib/preprocessor/preprocessor_tests.rs:163
Function
test_call_ret_instructions
()
src/lib/interpreter/tests/transfer.rs:13
Function
test_cmps
()
src/lib/interpreter/tests/string.rs:99
Function
test_control_instructions
()
src/lib/interpreter/tests/control.rs:11
Function
test_control_opcode
()
src/lib/preprocessor/preprocessor_tests.rs:73
Function
test_data_directives
()
src/lib/preprocessor/preprocessor_tests.rs:5
Function
test_data_mov
()
src/lib/interpreter/tests/data_transfer.rs:208
Function
test_data_singleton
()
src/lib/interpreter/tests/data_transfer.rs:54
Function
test_data_transfer_load
()
src/lib/preprocessor/preprocessor_tests.rs:257
Function
test_data_transfer_mov
()
src/lib/preprocessor/preprocessor_tests.rs:310
Function
test_data_transfer_push_pop
()
src/lib/preprocessor/preprocessor_tests.rs:275
Function
test_data_transfer_unary
()
src/lib/preprocessor/preprocessor_tests.rs:247
Function
test_data_transfer_xchg_in_out
()
src/lib/preprocessor/preprocessor_tests.rs:294
next →
1–100 of 173, ranked by callers