4708
This commit is contained in:
parent
3d6450f216
commit
800320a70c
|
@ -114,7 +114,7 @@ trace: # t : (address trace-stream), line : string
|
||||||
# *EAX = *EAX + EDX # update t.write (allowed to go past t.length)
|
# *EAX = *EAX + EDX # update t.write (allowed to go past t.length)
|
||||||
# # do this here just because it's convenient
|
# # do this here just because it's convenient
|
||||||
# ++ *EAX # for the newline
|
# ++ *EAX # for the newline
|
||||||
# EAX = EAX+12+ESI # dest = &t.data[t.write]
|
# EAX = EAX+12+ESI # dest = &t.data[oldw]
|
||||||
# ESI = EBX+4+EDX # srcend = &line.data[line.length]
|
# ESI = EBX+4+EDX # srcend = &line.data[line.length]
|
||||||
# EBX = EBX+4 # src = &line.data[0]
|
# EBX = EBX+4 # src = &line.data[0]
|
||||||
#
|
#
|
||||||
|
@ -138,7 +138,7 @@ trace: # t : (address trace-stream), line : string
|
||||||
8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/EAX 6/index/ESI . 0/r32/EAX 0xc/disp8 . # copy EAX+ESI+12 to EAX
|
8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/EAX 6/index/ESI . 0/r32/EAX 0xc/disp8 . # copy EAX+ESI+12 to EAX
|
||||||
# ESI/srcend = &line.data[line.length]
|
# ESI/srcend = &line.data[line.length]
|
||||||
8d/copy-address 1/mod/*+disp8 4/rm32/sib 3/base/EBX 2/index/EDX . 6/r32/ESI 4/disp8 . # copy EBX+EDX+4 to ESI
|
8d/copy-address 1/mod/*+disp8 4/rm32/sib 3/base/EBX 2/index/EDX . 6/r32/ESI 4/disp8 . # copy EBX+EDX+4 to ESI
|
||||||
# EBX/src = &line.data
|
# EBX/src = &line.data[0]
|
||||||
81 0/subop/add 3/mod/direct 3/rm32/EBX . . . . . 4/imm32 # add to EBX
|
81 0/subop/add 3/mod/direct 3/rm32/EBX . . . . . 4/imm32 # add to EBX
|
||||||
# while (true)
|
# while (true)
|
||||||
$trace:loop:
|
$trace:loop:
|
||||||
|
|
|
@ -92,7 +92,7 @@ $write:else:
|
||||||
# EDX = *EBX # s.length
|
# EDX = *EBX # s.length
|
||||||
# *EAX = *EAX + EDX # update f.write (allowed to go past f.length)
|
# *EAX = *EAX + EDX # update f.write (allowed to go past f.length)
|
||||||
# # do this here just because it's convenient
|
# # do this here just because it's convenient
|
||||||
# EAX = EAX+8+ESI # dest = &f.data[f.write]
|
# EAX = EAX+8+ESI # dest = &f.data[oldw]
|
||||||
# ESI = EBX+4+EDX # srcend = &s.data[s.length]
|
# ESI = EBX+4+EDX # srcend = &s.data[s.length]
|
||||||
# EBX = EBX+4 # src = &s.data[0]
|
# EBX = EBX+4 # src = &s.data[0]
|
||||||
#
|
#
|
||||||
|
@ -117,7 +117,7 @@ $write:else:
|
||||||
8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/EAX 6/index/ESI . 0/r32/EAX 8/disp8 . # copy EAX+ESI+8 to EAX
|
8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/EAX 6/index/ESI . 0/r32/EAX 8/disp8 . # copy EAX+ESI+8 to EAX
|
||||||
# ESI/srcend = &s.data[s.length]
|
# ESI/srcend = &s.data[s.length]
|
||||||
8d/copy-address 1/mod/*+disp8 4/rm32/sib 3/base/EBX 2/index/EDX . 6/r32/ESI 4/disp8 . # copy EBX+EDX+4 to ESI
|
8d/copy-address 1/mod/*+disp8 4/rm32/sib 3/base/EBX 2/index/EDX . 6/r32/ESI 4/disp8 . # copy EBX+EDX+4 to ESI
|
||||||
# EBX/src = &s.data
|
# EBX/src = &s.data[0]
|
||||||
81 0/subop/add 3/mod/direct 3/rm32/EBX . . . . . 4/imm32 # add to EBX
|
81 0/subop/add 3/mod/direct 3/rm32/EBX . . . . . 4/imm32 # add to EBX
|
||||||
# while (true)
|
# while (true)
|
||||||
$write:loop:
|
$write:loop:
|
||||||
|
|
Loading…
Reference in New Issue