diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-06-11 22:50:40 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-06-11 23:43:55 -0700 |
commit | 5ac0786623f5ebd0b3a4f23fb6c23b72e6e277cb (patch) | |
tree | 82009ccce35a7b7d73ed4316d94dc2e56ddbc881 /subx/run_one_test.subx | |
parent | f47066a7c2f53796fb252dc187cdcf77834a1157 (diff) | |
download | mu-5ac0786623f5ebd0b3a4f23fb6c23b72e6e277cb.tar.gz |
new Vim convenience macro
Runs test under cursor and opens its trace.
Diffstat (limited to 'subx/run_one_test.subx')
-rw-r--r-- | subx/run_one_test.subx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/subx/run_one_test.subx b/subx/run_one_test.subx new file mode 100644 index 00000000..43c98fca --- /dev/null +++ b/subx/run_one_test.subx @@ -0,0 +1,30 @@ +# run a single test + +== code +# instruction effective address register displacement immediate +# . op subop mod rm32 base index scale r32 +# . 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes + +Entry: + # Heap = new-segment(64KB) + # . . push args + 68/push Heap/imm32 + 68/push 0x10000/imm32/64KB + # . . call + e8/call new-segment/disp32 + # . . discard args + 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 8/imm32 # add to ESP + # initialize-trace-stream(256KB) + # . . push args + 68/push 0x40000/imm32/256KB + # . . call + e8/call initialize-trace-stream/disp32 + # . . discard args + 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add to ESP + # for debugging: run a single test + e8/call $TEST_NAME/disp32 + 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 3/r32/EBX Num-test-failures/disp32 # copy *Num-test-failures to EBX + b8/copy-to-EAX 1/imm32/exit + cd/syscall 0x80/imm8 + +# . . vim:nowrap:textwidth=0 |