mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-25 20:32:25 +00:00
Fixed tests.
This commit is contained in:
parent
aa66273149
commit
6a5aa72ed5
@ -62,7 +62,7 @@
|
||||
// CIA#1 Port B: keyboard matrix rows and joystick #1.
|
||||
.label CONIO_CIA1_PORT_B = $dc01
|
||||
// The line buffer
|
||||
.label LINE_BUFFER = $4000
|
||||
.label LINE_BUFFER = $2000
|
||||
// The two charsets used as screen buffers
|
||||
.label CANVAS1 = $3000
|
||||
.label CANVAS2 = $3800
|
||||
@ -73,13 +73,13 @@
|
||||
// The default charset address
|
||||
.label PETSCII = $1000
|
||||
.label COSTAB = SINTAB+$40
|
||||
.label conio_cursor_x = $1a
|
||||
.label conio_cursor_y = $1b
|
||||
.label conio_cursor_text = $1c
|
||||
.label conio_cursor_color = $1e
|
||||
.label conio_textcolor = $20
|
||||
.label canvas_show_memory = $21
|
||||
.label canvas_show_flag = $22
|
||||
.label conio_cursor_x = $13
|
||||
.label conio_cursor_y = $14
|
||||
.label conio_cursor_text = $15
|
||||
.label conio_cursor_color = $17
|
||||
.label conio_textcolor = $19
|
||||
.label canvas_show_memory = $1a
|
||||
.label canvas_show_flag = $1b
|
||||
__bbegin:
|
||||
// conio_cursor_x = 0
|
||||
// The current cursor x-position
|
||||
@ -109,7 +109,7 @@ __bbegin:
|
||||
lda #toD0181_return
|
||||
sta.z canvas_show_memory
|
||||
// canvas_show_flag = 0
|
||||
// Flag signalling that the canvas on screen needs to be updated.
|
||||
// Flag signalling that the canvas on screen needs to be updated.
|
||||
// Set to 1 by the renderer when a new canvas is ready for showing, and to 0 by the raster when the canvas is shown on screen.
|
||||
lda #0
|
||||
sta.z canvas_show_flag
|
||||
@ -118,23 +118,23 @@ __bbegin:
|
||||
main: {
|
||||
.const toD0181_return = (>(SCREEN&$3fff)*4)|(>CANVAS1)/4&$f
|
||||
.const toD0182_return = (>(SCREEN&$3fff)*4)|(>CANVAS2)/4&$f
|
||||
.label __18 = $d
|
||||
.label __18 = $b
|
||||
.label cols = 2
|
||||
// Setup 16x16 canvas for rendering
|
||||
.label screen = 4
|
||||
.label y = $1a
|
||||
.label x0 = $23
|
||||
.label y0 = $24
|
||||
.label x1 = $15
|
||||
.label y1 = $25
|
||||
.label x2 = $15
|
||||
.label y2 = $26
|
||||
.label y = $13
|
||||
.label x0 = $1c
|
||||
.label y0 = $1d
|
||||
.label x1 = $f
|
||||
.label y1 = $1e
|
||||
.label x2 = $f
|
||||
.label y2 = $1f
|
||||
.label p0_idx = 6
|
||||
.label p1_idx = 7
|
||||
.label p2_idx = 8
|
||||
// The current canvas being rendered to
|
||||
.label canvas = 9
|
||||
.label cyclecount = $d
|
||||
.label cyclecount = $b
|
||||
// memset(CONSOLE, ' ', 40*25)
|
||||
// Clear the console
|
||||
ldx #' '
|
||||
@ -202,11 +202,11 @@ main: {
|
||||
sta.z canvas
|
||||
lda #>CANVAS1
|
||||
sta.z canvas+1
|
||||
lda #$88+$aa
|
||||
lda #$f0+$aa
|
||||
sta.z p2_idx
|
||||
lda #$88+$f
|
||||
lda #$f0+$f
|
||||
sta.z p1_idx
|
||||
lda #$88
|
||||
lda #$f0
|
||||
sta.z p0_idx
|
||||
__b8:
|
||||
// clock_start()
|
||||
@ -241,7 +241,8 @@ main: {
|
||||
// line(LINE_BUFFER, x0, y0, x1, y1)
|
||||
lda.z x0
|
||||
sta.z line.x1
|
||||
ldx.z y0
|
||||
lda.z y0
|
||||
sta.z line.y1
|
||||
lda.z y1
|
||||
sta.z line.y2
|
||||
jsr line
|
||||
@ -255,14 +256,16 @@ main: {
|
||||
// line(LINE_BUFFER, x1, y1, x2, y2)
|
||||
lda.z x1
|
||||
sta.z line.x1
|
||||
ldx.z y1
|
||||
lda.z y1
|
||||
sta.z line.y1
|
||||
lda.z y2
|
||||
sta.z line.y2
|
||||
jsr line
|
||||
// line(LINE_BUFFER, x2, y2, x0, y0)
|
||||
lda.z x2
|
||||
sta.z line.x1
|
||||
ldx.z y2
|
||||
lda.z y2
|
||||
sta.z line.y1
|
||||
lda.z x0
|
||||
sta.z line.x2
|
||||
lda.z y0
|
||||
@ -274,13 +277,6 @@ main: {
|
||||
inc.z p1_idx
|
||||
// p2_idx++;
|
||||
inc.z p2_idx
|
||||
// eorfill(LINE_BUFFER, canvas)
|
||||
lda.z canvas
|
||||
sta.z eorfill.canvas
|
||||
lda.z canvas+1
|
||||
sta.z eorfill.canvas+1
|
||||
// Fill canvas
|
||||
jsr eorfill
|
||||
// VICII->BORDER_COLOR = RED
|
||||
// Wait until the canvas on screen has been switched before starting work on the next frame
|
||||
lda #RED
|
||||
@ -293,11 +289,13 @@ main: {
|
||||
// VICII->BORDER_COLOR = BLACK
|
||||
lda #BLACK
|
||||
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
||||
// canvas_show_memory ^= toD018(SCREEN,CANVAS1)^toD018(SCREEN,CANVAS2)
|
||||
// Swap canvas to show on screen (using XOR)
|
||||
lda #toD0181_return^toD0182_return
|
||||
eor.z canvas_show_memory
|
||||
sta.z canvas_show_memory
|
||||
// eorfill(LINE_BUFFER, canvas)
|
||||
lda.z canvas
|
||||
sta.z eorfill.canvas
|
||||
lda.z canvas+1
|
||||
sta.z eorfill.canvas+1
|
||||
// Fill canvas
|
||||
jsr eorfill
|
||||
// canvas ^= (CANVAS1^CANVAS2)
|
||||
// swap canvas being rendered to (using XOR)
|
||||
lda #<CANVAS1^CANVAS2
|
||||
@ -306,6 +304,11 @@ main: {
|
||||
lda #>CANVAS1^CANVAS2
|
||||
eor.z canvas+1
|
||||
sta.z canvas+1
|
||||
// canvas_show_memory ^= toD018(SCREEN,CANVAS1)^toD018(SCREEN,CANVAS2)
|
||||
// Swap canvas to show on screen (using XOR)
|
||||
lda #toD0181_return^toD0182_return
|
||||
eor.z canvas_show_memory
|
||||
sta.z canvas_show_memory
|
||||
// canvas_show_flag = 1
|
||||
// Set flag used to signal when the canvas has been shown
|
||||
lda #1
|
||||
@ -391,13 +394,13 @@ main: {
|
||||
.byte 0
|
||||
}
|
||||
// Print an unsigned int using a specific format
|
||||
// printf_ulong(dword zp($d) uvalue)
|
||||
// printf_ulong(dword zp($b) uvalue)
|
||||
printf_ulong: {
|
||||
.const format_min_length = 6
|
||||
.const format_justify_left = 0
|
||||
.const format_zero_padding = 0
|
||||
.const format_upper_case = 0
|
||||
.label uvalue = $d
|
||||
.label uvalue = $b
|
||||
// printf_buffer.sign = format.sign_always?'+':0
|
||||
// Handle any sign
|
||||
lda #0
|
||||
@ -422,14 +425,14 @@ printf_ulong: {
|
||||
}
|
||||
// Print the contents of the number buffer using a specific format.
|
||||
// This handles minimum length, zero-filling, and left/right justification from the format
|
||||
// printf_number_buffer(byte zp($25) buffer_sign, byte register(X) format_min_length, byte zp($23) format_justify_left, byte zp($24) format_zero_padding, byte zp($15) format_upper_case)
|
||||
// printf_number_buffer(byte zp($1f) buffer_sign, byte register(X) format_min_length, byte zp($1d) format_justify_left, byte zp($1e) format_zero_padding, byte zp($f) format_upper_case)
|
||||
printf_number_buffer: {
|
||||
.label __19 = $13
|
||||
.label buffer_sign = $25
|
||||
.label padding = $16
|
||||
.label format_zero_padding = $24
|
||||
.label format_justify_left = $23
|
||||
.label format_upper_case = $15
|
||||
.label __19 = $31
|
||||
.label buffer_sign = $1f
|
||||
.label padding = $10
|
||||
.label format_zero_padding = $1e
|
||||
.label format_justify_left = $1d
|
||||
.label format_upper_case = $f
|
||||
// if(format.min_length)
|
||||
cpx #0
|
||||
beq __b6
|
||||
@ -534,11 +537,11 @@ printf_number_buffer: {
|
||||
rts
|
||||
}
|
||||
// Print a padding char a number of times
|
||||
// printf_padding(byte zp($18) pad, byte zp($17) length)
|
||||
// printf_padding(byte zp($12) pad, byte zp($11) length)
|
||||
printf_padding: {
|
||||
.label i = $19
|
||||
.label length = $17
|
||||
.label pad = $18
|
||||
.label i = $1c
|
||||
.label length = $11
|
||||
.label pad = $12
|
||||
lda #0
|
||||
sta.z i
|
||||
__b1:
|
||||
@ -602,9 +605,9 @@ cputc: {
|
||||
}
|
||||
// Print a newline
|
||||
cputln: {
|
||||
.label __1 = $1c
|
||||
.label __2 = $1e
|
||||
.label ln_offset = $2f
|
||||
.label __1 = $15
|
||||
.label __2 = $17
|
||||
.label ln_offset = $28
|
||||
// ln_offset = CONIO_WIDTH - conio_cursor_x
|
||||
sec
|
||||
lda #$28
|
||||
@ -643,8 +646,8 @@ cputln: {
|
||||
}
|
||||
// Scroll the entire screen if the cursor is beyond the last line
|
||||
cscroll: {
|
||||
.label __7 = $1c
|
||||
.label __8 = $1e
|
||||
.label __7 = $15
|
||||
.label __8 = $17
|
||||
// if(conio_cursor_y==CONIO_HEIGHT)
|
||||
lda #$19
|
||||
cmp.z conio_cursor_y
|
||||
@ -716,12 +719,12 @@ cscroll: {
|
||||
rts
|
||||
}
|
||||
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
|
||||
// memset(void* zp($13) str, byte register(X) c, word zp($11) num)
|
||||
// memset(void* zp($31) str, byte register(X) c, word zp($28) num)
|
||||
memset: {
|
||||
.label end = $11
|
||||
.label dst = $13
|
||||
.label num = $11
|
||||
.label str = $13
|
||||
.label end = $28
|
||||
.label dst = $31
|
||||
.label num = $28
|
||||
.label str = $31
|
||||
// if(num>0)
|
||||
lda.z num
|
||||
bne !+
|
||||
@ -761,13 +764,13 @@ memset: {
|
||||
}
|
||||
// Copy block of memory (forwards)
|
||||
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
|
||||
// memcpy(void* zp($13) destination, void* zp($11) source)
|
||||
// memcpy(void* zp($31) destination, void* zp($28) source)
|
||||
memcpy: {
|
||||
.label src_end = $2f
|
||||
.label dst = $13
|
||||
.label src = $11
|
||||
.label source = $11
|
||||
.label destination = $13
|
||||
.label src_end = $2b
|
||||
.label dst = $31
|
||||
.label src = $28
|
||||
.label source = $28
|
||||
.label destination = $31
|
||||
// src_end = (char*)source+num
|
||||
lda.z source
|
||||
clc
|
||||
@ -803,9 +806,9 @@ memcpy: {
|
||||
jmp __b1
|
||||
}
|
||||
// Output a NUL-terminated string at the current cursor position
|
||||
// cputs(byte* zp($b) s)
|
||||
// cputs(byte* zp($2e) s)
|
||||
cputs: {
|
||||
.label s = $b
|
||||
.label s = $2e
|
||||
__b1:
|
||||
// c=*s++
|
||||
ldy #0
|
||||
@ -827,7 +830,7 @@ cputs: {
|
||||
// Converts a string to uppercase.
|
||||
strupr: {
|
||||
.label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
.label src = $b
|
||||
.label src = $2e
|
||||
lda #<str
|
||||
sta.z src
|
||||
lda #>str
|
||||
@ -875,11 +878,11 @@ toupper: {
|
||||
rts
|
||||
}
|
||||
// Computes the length of the string str up to but not including the terminating null character.
|
||||
// strlen(byte* zp($11) str)
|
||||
// strlen(byte* zp($28) str)
|
||||
strlen: {
|
||||
.label len = $13
|
||||
.label str = $11
|
||||
.label return = $13
|
||||
.label len = $31
|
||||
.label str = $28
|
||||
.label return = $31
|
||||
lda #<0
|
||||
sta.z len
|
||||
sta.z len+1
|
||||
@ -913,13 +916,13 @@ strlen: {
|
||||
// - value : The number to be converted to RADIX
|
||||
// - buffer : receives the string representing the number and zero-termination.
|
||||
// - radix : The radix to convert the number to (from the enum RADIX)
|
||||
// ultoa(dword zp($d) value, byte* zp($11) buffer)
|
||||
// ultoa(dword zp($b) value, byte* zp($28) buffer)
|
||||
ultoa: {
|
||||
.const max_digits = $a
|
||||
.label digit_value = $27
|
||||
.label buffer = $11
|
||||
.label digit = $23
|
||||
.label value = $d
|
||||
.label digit_value = $20
|
||||
.label buffer = $28
|
||||
.label digit = $1d
|
||||
.label value = $b
|
||||
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
sta.z buffer
|
||||
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
@ -1007,12 +1010,12 @@ ultoa: {
|
||||
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
|
||||
// (For decimal the subs used are 10000, 1000, 100, 10, 1)
|
||||
// returns : the value reduced by sub * digit so that it is less than sub.
|
||||
// ultoa_append(byte* zp($11) buffer, dword zp($d) value, dword zp($27) sub)
|
||||
// ultoa_append(byte* zp($28) buffer, dword zp($b) value, dword zp($20) sub)
|
||||
ultoa_append: {
|
||||
.label buffer = $11
|
||||
.label value = $d
|
||||
.label sub = $27
|
||||
.label return = $d
|
||||
.label buffer = $28
|
||||
.label value = $b
|
||||
.label sub = $20
|
||||
.label return = $b
|
||||
ldx #0
|
||||
__b1:
|
||||
// while (value >= sub)
|
||||
@ -1091,13 +1094,13 @@ printf_uchar: {
|
||||
// - value : The number to be converted to RADIX
|
||||
// - buffer : receives the string representing the number and zero-termination.
|
||||
// - radix : The radix to convert the number to (from the enum RADIX)
|
||||
// uctoa(byte register(X) value, byte* zp($13) buffer)
|
||||
// uctoa(byte register(X) value, byte* zp($31) buffer)
|
||||
uctoa: {
|
||||
.const max_digits = 2
|
||||
.label digit_value = $2b
|
||||
.label buffer = $13
|
||||
.label digit = $24
|
||||
.label started = $25
|
||||
.label digit_value = $24
|
||||
.label buffer = $31
|
||||
.label digit = $1e
|
||||
.label started = $1f
|
||||
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
sta.z buffer
|
||||
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
@ -1162,10 +1165,10 @@ uctoa: {
|
||||
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
|
||||
// (For decimal the subs used are 10000, 1000, 100, 10, 1)
|
||||
// returns : the value reduced by sub * digit so that it is less than sub.
|
||||
// uctoa_append(byte* zp($13) buffer, byte register(X) value, byte zp($2b) sub)
|
||||
// uctoa_append(byte* zp($31) buffer, byte register(X) value, byte zp($24) sub)
|
||||
uctoa_append: {
|
||||
.label buffer = $13
|
||||
.label sub = $2b
|
||||
.label buffer = $31
|
||||
.label sub = $24
|
||||
ldy #0
|
||||
__b1:
|
||||
// while (value >= sub)
|
||||
@ -1214,7 +1217,7 @@ gotoxy: {
|
||||
// Returns the processor clock time used since the beginning of an implementation defined era (normally the beginning of the program).
|
||||
// This uses CIA #2 Timer A+B on the C64, and must be initialized using clock_start()
|
||||
clock: {
|
||||
.label return = $d
|
||||
.label return = $b
|
||||
// 0xffffffff - *CIA2_TIMER_AB
|
||||
lda #<$ffffffff
|
||||
sec
|
||||
@ -1233,11 +1236,11 @@ clock: {
|
||||
rts
|
||||
}
|
||||
// EOR fill from the line buffer onto the canvas
|
||||
// eorfill(byte* zp($1e) canvas)
|
||||
// eorfill(byte* zp($17) canvas)
|
||||
eorfill: {
|
||||
.label canvas = $1e
|
||||
.label line_column = $1c
|
||||
.label fill_column = $1e
|
||||
.label canvas = $17
|
||||
.label line_column = $15
|
||||
.label fill_column = $17
|
||||
lda #<LINE_BUFFER
|
||||
sta.z line_column
|
||||
lda #>LINE_BUFFER
|
||||
@ -1288,37 +1291,40 @@ eorfill: {
|
||||
}
|
||||
// Draw a EOR friendly line between two points
|
||||
// Uses bresenham line drawing routine
|
||||
// line(byte zp($18) x1, byte register(X) y1, byte zp($15) x2, byte zp($16) y2)
|
||||
// line(byte zp($11) x1, byte zp($12) y1, byte zp($f) x2, byte zp($10) y2)
|
||||
line: {
|
||||
.label x1 = $18
|
||||
.label x2 = $15
|
||||
.label y2 = $16
|
||||
.label x = $18
|
||||
.label dx = $2b
|
||||
.label dy = $2c
|
||||
.label sx = $2d
|
||||
.label sy = $2e
|
||||
.label e1 = $19
|
||||
.label e = $17
|
||||
.label plot1___1 = $2a
|
||||
.label plot2___1 = $2d
|
||||
.label plot3___1 = $30
|
||||
.label x1 = $11
|
||||
.label y1 = $12
|
||||
.label x2 = $f
|
||||
.label y2 = $10
|
||||
.label x = $11
|
||||
.label y = $12
|
||||
.label dx = $24
|
||||
.label dy = $25
|
||||
.label sx = $26
|
||||
.label sy = $27
|
||||
.label plot1_column = $28
|
||||
.label plot2_x = $11
|
||||
.label plot2_column = $2b
|
||||
.label plot3_column = $2e
|
||||
.label plot4_column = $31
|
||||
// abs_u8(x2-x1)
|
||||
lda.z x2
|
||||
sec
|
||||
sbc.z x
|
||||
tay
|
||||
jsr abs_u8
|
||||
// abs_u8(x2-x1)
|
||||
tya
|
||||
// dx = abs_u8(x2-x1)
|
||||
sta.z dx
|
||||
// abs_u8(y2-y1)
|
||||
txa
|
||||
eor #$ff
|
||||
lda.z y2
|
||||
sec
|
||||
adc.z y2
|
||||
tay
|
||||
sbc.z y
|
||||
jsr abs_u8
|
||||
// abs_u8(y2-y1)
|
||||
tya
|
||||
// dy = abs_u8(y2-y1)
|
||||
sta.z dy
|
||||
// sgn_u8(x2-x1)
|
||||
@ -1330,10 +1336,9 @@ line: {
|
||||
// sx = sgn_u8(x2-x1)
|
||||
sta.z sx
|
||||
// sgn_u8(y2-y1)
|
||||
txa
|
||||
eor #$ff
|
||||
lda.z y2
|
||||
sec
|
||||
adc.z y2
|
||||
sbc.z y
|
||||
jsr sgn_u8
|
||||
// sgn_u8(y2-y1)
|
||||
// sy = sgn_u8(y2-y1)
|
||||
@ -1343,7 +1348,7 @@ line: {
|
||||
cmp.z sx
|
||||
bne __b1
|
||||
// y++;
|
||||
inx
|
||||
inc.z y
|
||||
// y2++;
|
||||
inc.z y2
|
||||
__b1:
|
||||
@ -1353,39 +1358,83 @@ line: {
|
||||
bcc __b2
|
||||
// e = dy/2
|
||||
lsr
|
||||
sta.z e
|
||||
// plot(canvas, x, y)
|
||||
jsr plot
|
||||
tax
|
||||
// x/8
|
||||
lda.z x
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
// column = plot_column[x/8]
|
||||
asl
|
||||
tay
|
||||
lda plot_column,y
|
||||
sta.z plot1_column
|
||||
lda plot_column+1,y
|
||||
sta.z plot1_column+1
|
||||
// x&7
|
||||
lda #7
|
||||
and.z x
|
||||
sta.z plot1___1
|
||||
// column[y] |= plot_bit[x&7]
|
||||
ldy.z y
|
||||
lda (plot1_column),y
|
||||
ldy.z plot1___1
|
||||
ora plot_bit,y
|
||||
ldy.z y
|
||||
sta (plot1_column),y
|
||||
__b5:
|
||||
// y += sy
|
||||
txa
|
||||
lda.z y
|
||||
clc
|
||||
adc.z sy
|
||||
tax
|
||||
sta.z y
|
||||
// e += dx
|
||||
lda.z e
|
||||
txa
|
||||
clc
|
||||
adc.z dx
|
||||
sta.z e
|
||||
tax
|
||||
// if(dy<e)
|
||||
lda.z dy
|
||||
cmp.z e
|
||||
stx.z $ff
|
||||
cmp.z $ff
|
||||
bcs __b6
|
||||
// x += sx
|
||||
lda.z x
|
||||
lda.z plot2_x
|
||||
clc
|
||||
adc.z sx
|
||||
sta.z x
|
||||
sta.z plot2_x
|
||||
// e -= dy
|
||||
lda.z e
|
||||
txa
|
||||
sec
|
||||
sbc.z dy
|
||||
sta.z e
|
||||
// plot(canvas, x, y)
|
||||
jsr plot
|
||||
tax
|
||||
// x/8
|
||||
lda.z plot2_x
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
// column = plot_column[x/8]
|
||||
asl
|
||||
tay
|
||||
lda plot_column,y
|
||||
sta.z plot2_column
|
||||
lda plot_column+1,y
|
||||
sta.z plot2_column+1
|
||||
// x&7
|
||||
lda #7
|
||||
and.z plot2_x
|
||||
sta.z plot2___1
|
||||
// column[y] |= plot_bit[x&7]
|
||||
ldy.z y
|
||||
lda (plot2_column),y
|
||||
ldy.z plot2___1
|
||||
ora plot_bit,y
|
||||
ldy.z y
|
||||
sta (plot2_column),y
|
||||
__b6:
|
||||
// while (y != y2)
|
||||
cpx.z y2
|
||||
lda.z y
|
||||
cmp.z y2
|
||||
bne __b5
|
||||
// }
|
||||
rts
|
||||
@ -1393,80 +1442,81 @@ line: {
|
||||
// e = dx/2
|
||||
lda.z dx
|
||||
lsr
|
||||
sta.z e1
|
||||
tax
|
||||
__b8:
|
||||
// plot(canvas, x, y)
|
||||
jsr plot
|
||||
// x/8
|
||||
lda.z x
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
// column = plot_column[x/8]
|
||||
asl
|
||||
tay
|
||||
lda plot_column,y
|
||||
sta.z plot3_column
|
||||
lda plot_column+1,y
|
||||
sta.z plot3_column+1
|
||||
// x&7
|
||||
lda #7
|
||||
and.z x
|
||||
sta.z plot3___1
|
||||
// column[y] |= plot_bit[x&7]
|
||||
ldy.z y
|
||||
lda (plot3_column),y
|
||||
ldy.z plot3___1
|
||||
ora plot_bit,y
|
||||
ldy.z y
|
||||
sta (plot3_column),y
|
||||
// x += sx
|
||||
lda.z x
|
||||
clc
|
||||
adc.z sx
|
||||
sta.z x
|
||||
// e += dy
|
||||
lda.z e1
|
||||
clc
|
||||
adc.z dy
|
||||
sta.z e1
|
||||
// if(dx < e)
|
||||
lda.z dx
|
||||
cmp.z e1
|
||||
bcs __b9
|
||||
// y += sy
|
||||
txa
|
||||
clc
|
||||
adc.z sy
|
||||
adc.z dy
|
||||
tax
|
||||
// if(dx < e)
|
||||
lda.z dx
|
||||
stx.z $ff
|
||||
cmp.z $ff
|
||||
bcs __b9
|
||||
// y += sy
|
||||
tya
|
||||
clc
|
||||
adc.z sy
|
||||
sta.z y
|
||||
// e -= dx
|
||||
lda.z e1
|
||||
txa
|
||||
sec
|
||||
sbc.z dx
|
||||
sta.z e1
|
||||
tax
|
||||
__b9:
|
||||
// while (x != x2)
|
||||
lda.z x
|
||||
cmp.z x2
|
||||
bne __b8
|
||||
// plot(canvas, x, y)
|
||||
jsr plot
|
||||
rts
|
||||
}
|
||||
// Plot a single point on the canvas
|
||||
// plot(byte zp($18) x, byte register(X) y)
|
||||
plot: {
|
||||
.label __2 = $31
|
||||
.label x = $18
|
||||
.label column = $2f
|
||||
// x/8
|
||||
lda.z x
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
// canvas + plot_column[x/8]
|
||||
// column = plot_column[x/8]
|
||||
asl
|
||||
// column = canvas + plot_column[x/8]
|
||||
tay
|
||||
clc
|
||||
lda #<LINE_BUFFER
|
||||
adc plot_column,y
|
||||
sta.z column
|
||||
lda #>LINE_BUFFER
|
||||
adc plot_column+1,y
|
||||
sta.z column+1
|
||||
lda plot_column,y
|
||||
sta.z plot4_column
|
||||
lda plot_column+1,y
|
||||
sta.z plot4_column+1
|
||||
// x&7
|
||||
lda #7
|
||||
and.z x
|
||||
sta.z __2
|
||||
// column[y] |= plot_bit[x&7]
|
||||
// Plot the bit
|
||||
txa
|
||||
tay
|
||||
lda (column),y
|
||||
ldy.z __2
|
||||
stx.z $ff
|
||||
ora plot_bit,y
|
||||
ldy.z $ff
|
||||
sta (column),y
|
||||
// }
|
||||
ldy.z y
|
||||
tax
|
||||
lda (plot4_column),y
|
||||
ora plot_bit,x
|
||||
sta (plot4_column),y
|
||||
rts
|
||||
}
|
||||
// Get the sign of a 8-bit unsigned number treated as a signed number.
|
||||
@ -1486,21 +1536,20 @@ sgn_u8: {
|
||||
rts
|
||||
}
|
||||
// Get the absolute value of a u-bit unsigned number treated as a signed number.
|
||||
// abs_u8(byte register(Y) u)
|
||||
// abs_u8(byte register(A) u)
|
||||
abs_u8: {
|
||||
// u & 0x80
|
||||
tya
|
||||
and #$80
|
||||
ldx #$80
|
||||
axs #0
|
||||
// if(u & 0x80)
|
||||
cmp #0
|
||||
cpx #0
|
||||
bne __b1
|
||||
rts
|
||||
__b1:
|
||||
// return -u;
|
||||
dey
|
||||
tya
|
||||
eor #$ff
|
||||
tay
|
||||
clc
|
||||
adc #1
|
||||
// }
|
||||
rts
|
||||
}
|
||||
@ -1655,7 +1704,7 @@ SINTAB:
|
||||
.fill $200, 63 + 63*sin(i*2*PI/$100)
|
||||
|
||||
// Column offsets
|
||||
plot_column: .word 0, 1*$80, 2*$80, 3*$80, 4*$80, 5*$80, 6*$80, 7*$80, 8*$80, 9*$80, $a*$80, $b*$80, $c*$80, $d*$80, $e*$80, $f*$80
|
||||
plot_column: .word LINE_BUFFER, LINE_BUFFER+1*$80, LINE_BUFFER+2*$80, LINE_BUFFER+3*$80, LINE_BUFFER+4*$80, LINE_BUFFER+5*$80, LINE_BUFFER+6*$80, LINE_BUFFER+7*$80, LINE_BUFFER+8*$80, LINE_BUFFER+9*$80, LINE_BUFFER+$a*$80, LINE_BUFFER+$b*$80, LINE_BUFFER+$c*$80, LINE_BUFFER+$d*$80, LINE_BUFFER+$e*$80, LINE_BUFFER+$f*$80
|
||||
// The bits used for plotting a pixel
|
||||
plot_bit: .byte $80, $40, $20, $10, 8, 4, 2, 1
|
||||
// Buffer used for stringified number being printed
|
||||
|
@ -52,9 +52,9 @@ main::@14: scope:[main] from main::@3
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::@14 main::@26
|
||||
[25] (byte*) main::canvas#10 ← phi( main::@14/(const nomodify byte*) CANVAS1 main::@26/(byte*) main::canvas#24 )
|
||||
[25] (byte) main::p2_idx#2 ← phi( main::@14/(byte) $88+(byte) $aa main::@26/(byte) main::p2_idx#1 )
|
||||
[25] (byte) main::p1_idx#2 ← phi( main::@14/(byte) $88+(byte) $f main::@26/(byte) main::p1_idx#1 )
|
||||
[25] (byte) main::p0_idx#11 ← phi( main::@14/(byte) $88 main::@26/(byte) main::p0_idx#1 )
|
||||
[25] (byte) main::p2_idx#2 ← phi( main::@14/(byte) $f0+(byte) $aa main::@26/(byte) main::p2_idx#1 )
|
||||
[25] (byte) main::p1_idx#2 ← phi( main::@14/(byte) $f0+(byte) $f main::@26/(byte) main::p1_idx#1 )
|
||||
[25] (byte) main::p0_idx#11 ← phi( main::@14/(byte) $f0 main::@26/(byte) main::p0_idx#1 )
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main::@7
|
||||
[26] phi()
|
||||
@ -95,27 +95,27 @@ main::@19: scope:[main] from main::@18
|
||||
[51] (byte) main::p0_idx#1 ← ++ (byte) main::p0_idx#11
|
||||
[52] (byte) main::p1_idx#1 ← ++ (byte) main::p1_idx#2
|
||||
[53] (byte) main::p2_idx#1 ← ++ (byte) main::p2_idx#2
|
||||
[54] (byte*) eorfill::canvas#0 ← (byte*) main::canvas#10
|
||||
[55] call eorfill
|
||||
to:main::@20
|
||||
main::@20: scope:[main] from main::@19
|
||||
[56] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) RED
|
||||
[54] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) RED
|
||||
to:main::@9
|
||||
main::@9: scope:[main] from main::@20 main::@9
|
||||
[57] if((byte) 0!=(volatile byte) canvas_show_flag) goto main::@9
|
||||
main::@9: scope:[main] from main::@19 main::@9
|
||||
[55] if((byte) 0!=(volatile byte) canvas_show_flag) goto main::@9
|
||||
to:main::@10
|
||||
main::@10: scope:[main] from main::@9
|
||||
[58] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
||||
[56] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
||||
[57] (byte*) eorfill::canvas#0 ← (byte*) main::canvas#10
|
||||
[58] call eorfill
|
||||
to:main::@20
|
||||
main::@20: scope:[main] from main::@10
|
||||
[59] (word) main::canvas#1 ← (byte*) main::canvas#10 ^ (const nomodify byte*) CANVAS1^(const nomodify byte*) CANVAS2
|
||||
to:main::toD0181
|
||||
main::toD0181: scope:[main] from main::@10
|
||||
[59] phi()
|
||||
main::toD0181: scope:[main] from main::@20
|
||||
[60] phi()
|
||||
to:main::toD0182
|
||||
main::toD0182: scope:[main] from main::toD0181
|
||||
[60] phi()
|
||||
[61] phi()
|
||||
to:main::@11
|
||||
main::@11: scope:[main] from main::toD0182
|
||||
[61] (volatile byte) canvas_show_memory ← (volatile byte) canvas_show_memory ^ (const byte) main::toD0181_return#0^(const byte) main::toD0182_return#0
|
||||
[62] (word) main::canvas#1 ← (byte*) main::canvas#10 ^ (const nomodify byte*) CANVAS1^(const nomodify byte*) CANVAS2
|
||||
[62] (volatile byte) canvas_show_memory ← (volatile byte) canvas_show_memory ^ (const byte) main::toD0181_return#0^(const byte) main::toD0182_return#0
|
||||
[63] (volatile byte) canvas_show_flag ← (byte) 1
|
||||
[64] call clock
|
||||
[65] (dword) clock::return#2 ← (dword) clock::return#0
|
||||
@ -650,7 +650,7 @@ clock::@return: scope:[clock] from clock
|
||||
to:@return
|
||||
|
||||
(void()) eorfill((byte*) eorfill::line_buffer , (byte*) eorfill::canvas)
|
||||
eorfill: scope:[eorfill] from main::@19
|
||||
eorfill: scope:[eorfill] from main::@10
|
||||
[294] phi()
|
||||
to:eorfill::@1
|
||||
eorfill::@1: scope:[eorfill] from eorfill eorfill::@5
|
||||
@ -684,10 +684,10 @@ eorfill::@4: scope:[eorfill] from eorfill::@3
|
||||
(void()) line((byte*) line::canvas , (byte) line::x1 , (byte) line::y1 , (byte) line::x2 , (byte) line::y2)
|
||||
line: scope:[line] from main::@16 main::@17 main::@18
|
||||
[307] (byte) line::y2#10 ← phi( main::@16/(byte) line::y2#0 main::@17/(byte) line::y2#1 main::@18/(byte) line::y2#2 )
|
||||
[307] (byte) line::x2#10 ← phi( main::@16/(byte) line::x2#0 main::@17/(byte) line::x2#1 main::@18/(byte) line::x2#2 )
|
||||
[307] (byte) line::x2#11 ← phi( main::@16/(byte) line::x2#0 main::@17/(byte) line::x2#1 main::@18/(byte) line::x2#2 )
|
||||
[307] (byte) line::y#0 ← phi( main::@16/(byte) line::y1#0 main::@17/(byte) line::y1#1 main::@18/(byte) line::y1#2 )
|
||||
[307] (byte) line::x#0 ← phi( main::@16/(byte) line::x1#0 main::@17/(byte) line::x1#1 main::@18/(byte) line::x1#2 )
|
||||
[308] (byte) abs_u8::u#0 ← (byte) line::x2#10 - (byte) line::x#0
|
||||
[308] (byte) abs_u8::u#0 ← (byte) line::x2#11 - (byte) line::x#0
|
||||
[309] call abs_u8
|
||||
[310] (byte) abs_u8::return#0 ← (byte) abs_u8::return#4
|
||||
to:line::@12
|
||||
@ -699,7 +699,7 @@ line::@12: scope:[line] from line
|
||||
to:line::@13
|
||||
line::@13: scope:[line] from line::@12
|
||||
[315] (byte) line::dy#0 ← (byte) abs_u8::return#1
|
||||
[316] (byte) sgn_u8::u#0 ← (byte) line::x2#10 - (byte) line::x#0
|
||||
[316] (byte) sgn_u8::u#0 ← (byte) line::x2#11 - (byte) line::x#0
|
||||
[317] call sgn_u8
|
||||
[318] (byte) sgn_u8::return#0 ← (byte) sgn_u8::return#4
|
||||
to:line::@14
|
||||
@ -724,185 +724,185 @@ line::@1: scope:[line] from line::@15 line::@3
|
||||
to:line::@4
|
||||
line::@4: scope:[line] from line::@1
|
||||
[329] (byte) line::e#0 ← (byte) line::dy#0 >> (byte) 1
|
||||
[330] (byte) plot::x#0 ← (byte) line::x#0
|
||||
[331] (byte) plot::y#0 ← (byte) line::y#13
|
||||
[332] call plot
|
||||
to:line::plot1
|
||||
line::plot1: scope:[line] from line::@4
|
||||
[330] (byte~) line::plot1_$0 ← (byte) line::x#0 >> (byte) 3
|
||||
[331] (byte~) line::plot1_$2 ← (byte~) line::plot1_$0 << (byte) 1
|
||||
[332] (byte*) line::plot1_column#0 ← *((const byte**) plot_column + (byte~) line::plot1_$2)
|
||||
[333] (byte~) line::plot1_$1 ← (byte) line::x#0 & (byte) 7
|
||||
[334] *((byte*) line::plot1_column#0 + (byte) line::y#13) ← *((byte*) line::plot1_column#0 + (byte) line::y#13) | *((const byte*) plot_bit + (byte~) line::plot1_$1)
|
||||
to:line::@5
|
||||
line::@5: scope:[line] from line::@4 line::@6
|
||||
[333] (byte) line::x#10 ← phi( line::@4/(byte) line::x#0 line::@6/(byte) line::x#16 )
|
||||
[333] (byte) line::e#3 ← phi( line::@4/(byte) line::e#0 line::@6/(byte) line::e#6 )
|
||||
[333] (byte) line::y#6 ← phi( line::@4/(byte) line::y#13 line::@6/(byte) line::y#15 )
|
||||
[334] (byte) line::y#15 ← (byte) line::y#6 + (byte) line::sy#0
|
||||
[335] (byte) line::e#1 ← (byte) line::e#3 + (byte) line::dx#0
|
||||
[336] if((byte) line::dy#0>=(byte) line::e#1) goto line::@6
|
||||
line::@5: scope:[line] from line::@6 line::plot1
|
||||
[335] (byte) line::x#10 ← phi( line::@6/(byte) line::x#16 line::plot1/(byte) line::x#0 )
|
||||
[335] (byte) line::e#3 ← phi( line::@6/(byte) line::e#5 line::plot1/(byte) line::e#0 )
|
||||
[335] (byte) line::y#6 ← phi( line::@6/(byte) line::y#15 line::plot1/(byte) line::y#13 )
|
||||
[336] (byte) line::y#15 ← (byte) line::y#6 + (byte) line::sy#0
|
||||
[337] (byte) line::e#1 ← (byte) line::e#3 + (byte) line::dx#0
|
||||
[338] if((byte) line::dy#0>=(byte) line::e#1) goto line::@6
|
||||
to:line::@7
|
||||
line::@7: scope:[line] from line::@5
|
||||
[337] (byte) line::x#1 ← (byte) line::x#10 + (byte) line::sx#0
|
||||
[338] (byte) line::e#2 ← (byte) line::e#1 - (byte) line::dy#0
|
||||
[339] (byte) plot::x#1 ← (byte) line::x#1
|
||||
[340] (byte) plot::y#1 ← (byte) line::y#15
|
||||
[341] call plot
|
||||
[339] (byte) line::plot2_x#0 ← (byte) line::x#10 + (byte) line::sx#0
|
||||
[340] (byte) line::e#2 ← (byte) line::e#1 - (byte) line::dy#0
|
||||
to:line::plot2
|
||||
line::plot2: scope:[line] from line::@7
|
||||
[341] (byte~) line::plot2_$0 ← (byte) line::plot2_x#0 >> (byte) 3
|
||||
[342] (byte~) line::plot2_$2 ← (byte~) line::plot2_$0 << (byte) 1
|
||||
[343] (byte*) line::plot2_column#0 ← *((const byte**) plot_column + (byte~) line::plot2_$2)
|
||||
[344] (byte~) line::plot2_$1 ← (byte) line::plot2_x#0 & (byte) 7
|
||||
[345] *((byte*) line::plot2_column#0 + (byte) line::y#15) ← *((byte*) line::plot2_column#0 + (byte) line::y#15) | *((const byte*) plot_bit + (byte~) line::plot2_$1)
|
||||
to:line::@6
|
||||
line::@6: scope:[line] from line::@5 line::@7
|
||||
[342] (byte) line::x#16 ← phi( line::@7/(byte) line::x#1 line::@5/(byte) line::x#10 )
|
||||
[342] (byte) line::e#6 ← phi( line::@7/(byte) line::e#2 line::@5/(byte) line::e#1 )
|
||||
[343] if((byte) line::y#15!=(byte) line::y2#13) goto line::@5
|
||||
line::@6: scope:[line] from line::@5 line::plot2
|
||||
[346] (byte) line::x#16 ← phi( line::@5/(byte) line::x#10 line::plot2/(byte) line::plot2_x#0 )
|
||||
[346] (byte) line::e#5 ← phi( line::@5/(byte) line::e#1 line::plot2/(byte) line::e#2 )
|
||||
[347] if((byte) line::y#15!=(byte) line::y2#13) goto line::@5
|
||||
to:line::@return
|
||||
line::@return: scope:[line] from line::@11 line::@6
|
||||
[344] return
|
||||
line::@return: scope:[line] from line::@6 line::plot4
|
||||
[348] return
|
||||
to:@return
|
||||
line::@2: scope:[line] from line::@1
|
||||
[345] (byte) line::e1#0 ← (byte) line::dx#0 >> (byte) 1
|
||||
[349] (byte) line::e1#0 ← (byte) line::dx#0 >> (byte) 1
|
||||
to:line::@8
|
||||
line::@8: scope:[line] from line::@2 line::@9
|
||||
[346] (byte) line::e1#3 ← phi( line::@2/(byte) line::e1#0 line::@9/(byte) line::e1#6 )
|
||||
[346] (byte) line::y#10 ← phi( line::@2/(byte) line::y#13 line::@9/(byte) line::y#11 )
|
||||
[346] (byte) line::x#5 ← phi( line::@2/(byte) line::x#0 line::@9/(byte) line::x#12 )
|
||||
[347] (byte) plot::x#2 ← (byte) line::x#5
|
||||
[348] (byte) plot::y#2 ← (byte) line::y#10
|
||||
[349] call plot
|
||||
to:line::@16
|
||||
line::@16: scope:[line] from line::@8
|
||||
[350] (byte) line::x#12 ← (byte) line::x#5 + (byte) line::sx#0
|
||||
[351] (byte) line::e1#1 ← (byte) line::e1#3 + (byte) line::dy#0
|
||||
[352] if((byte) line::dx#0>=(byte) line::e1#1) goto line::@9
|
||||
to:line::@10
|
||||
line::@10: scope:[line] from line::@16
|
||||
[353] (byte) line::y#3 ← (byte) line::y#10 + (byte) line::sy#0
|
||||
[354] (byte) line::e1#2 ← (byte) line::e1#1 - (byte) line::dx#0
|
||||
to:line::@9
|
||||
line::@9: scope:[line] from line::@10 line::@16
|
||||
[355] (byte) line::e1#6 ← phi( line::@10/(byte) line::e1#2 line::@16/(byte) line::e1#1 )
|
||||
[355] (byte) line::y#11 ← phi( line::@10/(byte) line::y#3 line::@16/(byte) line::y#10 )
|
||||
[356] if((byte) line::x#12!=(byte) line::x2#10) goto line::@8
|
||||
[350] (byte) line::e1#3 ← phi( line::@2/(byte) line::e1#0 line::@9/(byte) line::e1#7 )
|
||||
[350] (byte) line::y#10 ← phi( line::@2/(byte) line::y#13 line::@9/(byte) line::y#11 )
|
||||
[350] (byte) line::x#12 ← phi( line::@2/(byte) line::x#0 line::@9/(byte) line::x#13 )
|
||||
to:line::plot3
|
||||
line::plot3: scope:[line] from line::@8
|
||||
[351] (byte~) line::plot3_$0 ← (byte) line::x#12 >> (byte) 3
|
||||
[352] (byte~) line::plot3_$2 ← (byte~) line::plot3_$0 << (byte) 1
|
||||
[353] (byte*) line::plot3_column#0 ← *((const byte**) plot_column + (byte~) line::plot3_$2)
|
||||
[354] (byte~) line::plot3_$1 ← (byte) line::x#12 & (byte) 7
|
||||
[355] *((byte*) line::plot3_column#0 + (byte) line::y#10) ← *((byte*) line::plot3_column#0 + (byte) line::y#10) | *((const byte*) plot_bit + (byte~) line::plot3_$1)
|
||||
to:line::@11
|
||||
line::@11: scope:[line] from line::@9
|
||||
[357] (byte) plot::x#3 ← (byte) line::x#12
|
||||
[358] (byte) plot::y#3 ← (byte) line::y#11
|
||||
[359] call plot
|
||||
line::@11: scope:[line] from line::plot3
|
||||
[356] (byte) line::x#13 ← (byte) line::x#12 + (byte) line::sx#0
|
||||
[357] (byte) line::e1#1 ← (byte) line::e1#3 + (byte) line::dy#0
|
||||
[358] if((byte) line::dx#0>=(byte) line::e1#1) goto line::@9
|
||||
to:line::@10
|
||||
line::@10: scope:[line] from line::@11
|
||||
[359] (byte) line::y#3 ← (byte) line::y#10 + (byte) line::sy#0
|
||||
[360] (byte) line::e1#2 ← (byte) line::e1#1 - (byte) line::dx#0
|
||||
to:line::@9
|
||||
line::@9: scope:[line] from line::@10 line::@11
|
||||
[361] (byte) line::e1#7 ← phi( line::@10/(byte) line::e1#2 line::@11/(byte) line::e1#1 )
|
||||
[361] (byte) line::y#11 ← phi( line::@10/(byte) line::y#3 line::@11/(byte) line::y#10 )
|
||||
[362] if((byte) line::x#13!=(byte) line::x2#11) goto line::@8
|
||||
to:line::plot4
|
||||
line::plot4: scope:[line] from line::@9
|
||||
[363] (byte~) line::plot4_$0 ← (byte) line::x#13 >> (byte) 3
|
||||
[364] (byte~) line::plot4_$2 ← (byte~) line::plot4_$0 << (byte) 1
|
||||
[365] (byte*) line::plot4_column#0 ← *((const byte**) plot_column + (byte~) line::plot4_$2)
|
||||
[366] (byte~) line::plot4_$1 ← (byte) line::x#13 & (byte) 7
|
||||
[367] *((byte*) line::plot4_column#0 + (byte) line::y#11) ← *((byte*) line::plot4_column#0 + (byte) line::y#11) | *((const byte*) plot_bit + (byte~) line::plot4_$1)
|
||||
to:line::@return
|
||||
|
||||
(void()) plot((byte*) plot::canvas , (byte) plot::x , (byte) plot::y)
|
||||
plot: scope:[plot] from line::@11 line::@4 line::@7 line::@8
|
||||
[360] (byte) plot::y#4 ← phi( line::@11/(byte) plot::y#3 line::@4/(byte) plot::y#0 line::@7/(byte) plot::y#1 line::@8/(byte) plot::y#2 )
|
||||
[360] (byte) plot::x#4 ← phi( line::@11/(byte) plot::x#3 line::@4/(byte) plot::x#0 line::@7/(byte) plot::x#1 line::@8/(byte) plot::x#2 )
|
||||
[361] (byte~) plot::$0 ← (byte) plot::x#4 >> (byte) 3
|
||||
[362] (byte~) plot::$3 ← (byte~) plot::$0 << (byte) 1
|
||||
[363] (byte*) plot::column#0 ← (const nomodify byte*) LINE_BUFFER + *((const word*) plot_column + (byte~) plot::$3)
|
||||
[364] (byte~) plot::$2 ← (byte) plot::x#4 & (byte) 7
|
||||
[365] *((byte*) plot::column#0 + (byte) plot::y#4) ← *((byte*) plot::column#0 + (byte) plot::y#4) | *((const byte*) plot_bit + (byte~) plot::$2)
|
||||
to:plot::@return
|
||||
plot::@return: scope:[plot] from plot
|
||||
[366] return
|
||||
to:@return
|
||||
|
||||
(byte()) sgn_u8((byte) sgn_u8::u)
|
||||
sgn_u8: scope:[sgn_u8] from line::@13 line::@14
|
||||
[367] (byte) sgn_u8::u#2 ← phi( line::@13/(byte) sgn_u8::u#0 line::@14/(byte) sgn_u8::u#1 )
|
||||
[368] (byte~) sgn_u8::$0 ← (byte) sgn_u8::u#2 & (byte) $80
|
||||
[369] if((byte) 0!=(byte~) sgn_u8::$0) goto sgn_u8::@1
|
||||
[368] (byte) sgn_u8::u#2 ← phi( line::@13/(byte) sgn_u8::u#0 line::@14/(byte) sgn_u8::u#1 )
|
||||
[369] (byte~) sgn_u8::$0 ← (byte) sgn_u8::u#2 & (byte) $80
|
||||
[370] if((byte) 0!=(byte~) sgn_u8::$0) goto sgn_u8::@1
|
||||
to:sgn_u8::@return
|
||||
sgn_u8::@1: scope:[sgn_u8] from sgn_u8
|
||||
[370] phi()
|
||||
[371] phi()
|
||||
to:sgn_u8::@return
|
||||
sgn_u8::@return: scope:[sgn_u8] from sgn_u8 sgn_u8::@1
|
||||
[371] (byte) sgn_u8::return#4 ← phi( sgn_u8::@1/(byte) -1 sgn_u8/(byte) 1 )
|
||||
[372] return
|
||||
[372] (byte) sgn_u8::return#4 ← phi( sgn_u8::@1/(byte) -1 sgn_u8/(byte) 1 )
|
||||
[373] return
|
||||
to:@return
|
||||
|
||||
(byte()) abs_u8((byte) abs_u8::u)
|
||||
abs_u8: scope:[abs_u8] from line line::@12
|
||||
[373] (byte) abs_u8::u#2 ← phi( line/(byte) abs_u8::u#0 line::@12/(byte) abs_u8::u#1 )
|
||||
[374] (byte~) abs_u8::$0 ← (byte) abs_u8::u#2 & (byte) $80
|
||||
[375] if((byte) 0!=(byte~) abs_u8::$0) goto abs_u8::@1
|
||||
[374] (byte) abs_u8::u#2 ← phi( line/(byte) abs_u8::u#0 line::@12/(byte) abs_u8::u#1 )
|
||||
[375] (byte~) abs_u8::$0 ← (byte) abs_u8::u#2 & (byte) $80
|
||||
[376] if((byte) 0!=(byte~) abs_u8::$0) goto abs_u8::@1
|
||||
to:abs_u8::@return
|
||||
abs_u8::@1: scope:[abs_u8] from abs_u8
|
||||
[376] (byte) abs_u8::return#2 ← - (byte) abs_u8::u#2
|
||||
[377] (byte) abs_u8::return#2 ← - (byte) abs_u8::u#2
|
||||
to:abs_u8::@return
|
||||
abs_u8::@return: scope:[abs_u8] from abs_u8 abs_u8::@1
|
||||
[377] (byte) abs_u8::return#4 ← phi( abs_u8::@1/(byte) abs_u8::return#2 abs_u8/(byte) abs_u8::u#2 )
|
||||
[378] return
|
||||
[378] (byte) abs_u8::return#4 ← phi( abs_u8::@1/(byte) abs_u8::return#2 abs_u8/(byte) abs_u8::u#2 )
|
||||
[379] return
|
||||
to:@return
|
||||
|
||||
(void()) clock_start()
|
||||
clock_start: scope:[clock_start] from main::@8
|
||||
[379] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) ← (byte) 0
|
||||
[380] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
|
||||
[381] *((const nomodify dword*) CIA2_TIMER_AB) ← (dword) $ffffffff
|
||||
[382] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_START|(const nomodify byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
|
||||
[383] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_START
|
||||
[380] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) ← (byte) 0
|
||||
[381] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
|
||||
[382] *((const nomodify dword*) CIA2_TIMER_AB) ← (dword) $ffffffff
|
||||
[383] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_START|(const nomodify byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
|
||||
[384] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) ← (const nomodify byte) CIA_TIMER_CONTROL_START
|
||||
to:clock_start::@return
|
||||
clock_start::@return: scope:[clock_start] from clock_start
|
||||
[384] return
|
||||
[385] return
|
||||
to:@return
|
||||
|
||||
(byte()) textcolor((byte) textcolor::color)
|
||||
textcolor: scope:[textcolor] from main::@14
|
||||
[385] (byte) conio_textcolor ← (const nomodify byte) WHITE
|
||||
[386] (byte) conio_textcolor ← (const nomodify byte) WHITE
|
||||
to:textcolor::@return
|
||||
textcolor::@return: scope:[textcolor] from textcolor
|
||||
[386] return
|
||||
[387] return
|
||||
to:@return
|
||||
|
||||
(void()) setup_irq()
|
||||
setup_irq: scope:[setup_irq] from main::@3
|
||||
asm { sei }
|
||||
[388] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) ← (const nomodify byte) CIA_INTERRUPT_CLEAR
|
||||
[389] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) & (byte) $7f
|
||||
[390] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM-(byte) 8
|
||||
[391] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_ENABLE) ← (const nomodify byte) IRQ_RASTER
|
||||
[392] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_MIN)(void()) irq_bottom_1()
|
||||
[389] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) ← (const nomodify byte) CIA_INTERRUPT_CLEAR
|
||||
[390] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) & (byte) $7f
|
||||
[391] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM-(byte) 8
|
||||
[392] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_ENABLE) ← (const nomodify byte) IRQ_RASTER
|
||||
[393] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_MIN)(void()) irq_bottom_1()
|
||||
asm { cli }
|
||||
to:setup_irq::@return
|
||||
setup_irq::@return: scope:[setup_irq] from setup_irq
|
||||
[394] return
|
||||
[395] return
|
||||
to:@return
|
||||
|
||||
interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
irq_bottom_2: scope:[irq_bottom_2] from
|
||||
[395] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
||||
[396] call kbhit
|
||||
[397] (byte) kbhit::return#2 ← (byte) kbhit::return#0
|
||||
[396] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) BLACK
|
||||
[397] call kbhit
|
||||
[398] (byte) kbhit::return#2 ← (byte) kbhit::return#0
|
||||
to:irq_bottom_2::@3
|
||||
irq_bottom_2::@3: scope:[irq_bottom_2] from irq_bottom_2
|
||||
[398] (byte~) irq_bottom_2::$0 ← (byte) kbhit::return#2
|
||||
[399] if((byte) 0!=(byte~) irq_bottom_2::$0) goto irq_bottom_2::@1
|
||||
[399] (byte~) irq_bottom_2::$0 ← (byte) kbhit::return#2
|
||||
[400] if((byte) 0!=(byte~) irq_bottom_2::$0) goto irq_bottom_2::@1
|
||||
to:irq_bottom_2::@2
|
||||
irq_bottom_2::@2: scope:[irq_bottom_2] from irq_bottom_2::@3
|
||||
[400] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (volatile byte) canvas_show_memory
|
||||
[401] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (volatile byte) canvas_show_memory
|
||||
to:irq_bottom_2::@1
|
||||
irq_bottom_2::@1: scope:[irq_bottom_2] from irq_bottom_2::@2 irq_bottom_2::@3
|
||||
[401] (volatile byte) canvas_show_flag ← (byte) 0
|
||||
[402] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
[403] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM-(byte) 8
|
||||
[404] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_MIN)(void()) irq_bottom_1()
|
||||
[402] (volatile byte) canvas_show_flag ← (byte) 0
|
||||
[403] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
[404] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM-(byte) 8
|
||||
[405] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_MIN)(void()) irq_bottom_1()
|
||||
to:irq_bottom_2::@return
|
||||
irq_bottom_2::@return: scope:[irq_bottom_2] from irq_bottom_2::@1
|
||||
[405] return
|
||||
[406] return
|
||||
to:@return
|
||||
|
||||
(byte()) kbhit()
|
||||
kbhit: scope:[kbhit] from irq_bottom_2
|
||||
[406] *((const nomodify byte*) CONIO_CIA1_PORT_A) ← (byte) 0
|
||||
[407] (byte) kbhit::return#0 ← ~ *((const nomodify byte*) CONIO_CIA1_PORT_B)
|
||||
[407] *((const nomodify byte*) CONIO_CIA1_PORT_A) ← (byte) 0
|
||||
[408] (byte) kbhit::return#0 ← ~ *((const nomodify byte*) CONIO_CIA1_PORT_B)
|
||||
to:kbhit::@return
|
||||
kbhit::@return: scope:[kbhit] from kbhit
|
||||
[408] return
|
||||
[409] return
|
||||
to:@return
|
||||
|
||||
interrupt(KERNEL_MIN)(void()) irq_bottom_1()
|
||||
irq_bottom_1: scope:[irq_bottom_1] from
|
||||
[409] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) WHITE
|
||||
[410] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (const nomodify byte) WHITE
|
||||
to:irq_bottom_1::toD0181
|
||||
irq_bottom_1::toD0181: scope:[irq_bottom_1] from irq_bottom_1
|
||||
[410] phi()
|
||||
[411] phi()
|
||||
to:irq_bottom_1::@1
|
||||
irq_bottom_1::@1: scope:[irq_bottom_1] from irq_bottom_1::toD0181
|
||||
[411] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) irq_bottom_1::toD0181_return#0
|
||||
[412] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
[413] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM
|
||||
[414] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
[412] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (const byte) irq_bottom_1::toD0181_return#0
|
||||
[413] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
[414] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) ← (const nomodify byte) BORDER_YPOS_BOTTOM
|
||||
[415] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
to:irq_bottom_1::@return
|
||||
irq_bottom_1::@return: scope:[irq_bottom_1] from irq_bottom_1::@1
|
||||
[415] return
|
||||
[416] return
|
||||
to:@return
|
||||
|
File diff suppressed because one or more lines are too long
@ -25,7 +25,7 @@
|
||||
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"z
|
||||
(const nomodify byte) IRQ_RASTER = (byte) 1
|
||||
(const nomodify void()**) KERNEL_IRQ = (void()**) 788
|
||||
(const nomodify byte*) LINE_BUFFER = (byte*) 16384
|
||||
(const nomodify byte*) LINE_BUFFER = (byte*) 8192
|
||||
(byte) MOS6526_CIA::INTERRUPT
|
||||
(byte) MOS6526_CIA::PORT_A
|
||||
(byte) MOS6526_CIA::PORT_A_DDR
|
||||
@ -136,32 +136,32 @@
|
||||
(const nomodify struct MOS6569_VICII*) VICII = (struct MOS6569_VICII*) 53248
|
||||
(const nomodify byte) WHITE = (byte) 1
|
||||
(byte()) abs_u8((byte) abs_u8::u)
|
||||
(byte~) abs_u8::$0 reg byte a 20002.0
|
||||
(byte~) abs_u8::$0 reg byte x 20002.0
|
||||
(label) abs_u8::@1
|
||||
(label) abs_u8::@return
|
||||
(byte) abs_u8::return
|
||||
(byte) abs_u8::return#0 reg byte a 2002.0
|
||||
(byte) abs_u8::return#1 reg byte a 2002.0
|
||||
(byte) abs_u8::return#2 reg byte y 20002.0
|
||||
(byte) abs_u8::return#4 reg byte y 5501.0
|
||||
(byte) abs_u8::return#2 reg byte a 20002.0
|
||||
(byte) abs_u8::return#4 reg byte a 5501.0
|
||||
(byte) abs_u8::u
|
||||
(byte) abs_u8::u#0 reg byte y 2002.0
|
||||
(byte) abs_u8::u#1 reg byte y 2002.0
|
||||
(byte) abs_u8::u#2 reg byte y 10668.333333333332
|
||||
(volatile byte) canvas_show_flag loadstore zp[1]:34 15.150684931506847
|
||||
(volatile byte) canvas_show_memory loadstore zp[1]:33 2.452380952380952
|
||||
(byte) abs_u8::u#0 reg byte a 2002.0
|
||||
(byte) abs_u8::u#1 reg byte a 2002.0
|
||||
(byte) abs_u8::u#2 reg byte a 10668.333333333332
|
||||
(volatile byte) canvas_show_flag loadstore zp[1]:27 15.577464788732396
|
||||
(volatile byte) canvas_show_memory loadstore zp[1]:26 2.452380952380952
|
||||
(dword()) clock()
|
||||
(label) clock::@return
|
||||
(dword) clock::return
|
||||
(dword) clock::return#0 return zp[4]:13 367.33333333333337
|
||||
(dword) clock::return#2 return zp[4]:13 202.0
|
||||
(dword) clock::return#0 return zp[4]:11 367.33333333333337
|
||||
(dword) clock::return#2 return zp[4]:11 202.0
|
||||
(void()) clock_start()
|
||||
(label) clock_start::@return
|
||||
(byte*) conio_cursor_color loadstore zp[2]:30 2.027272819090909E8
|
||||
(byte*) conio_cursor_text loadstore zp[2]:28 2.0090091E8
|
||||
(byte) conio_cursor_x loadstore zp[1]:26 2.5263168515789475E7
|
||||
(byte) conio_cursor_y loadstore zp[1]:27 2.824561492105263E8
|
||||
(byte) conio_textcolor loadstore zp[1]:32 6.312500065625E7
|
||||
(byte*) conio_cursor_color loadstore zp[2]:23 2.027272819090909E8
|
||||
(byte*) conio_cursor_text loadstore zp[2]:21 2.0090091E8
|
||||
(byte) conio_cursor_x loadstore zp[1]:19 2.5263168515789475E7
|
||||
(byte) conio_cursor_y loadstore zp[1]:20 2.824561492105263E8
|
||||
(byte) conio_textcolor loadstore zp[1]:25 6.312500065625E7
|
||||
(void()) cputc((byte) cputc::c)
|
||||
(label) cputc::@1
|
||||
(label) cputc::@2
|
||||
@ -173,11 +173,11 @@
|
||||
(byte) cputc::c#2 reg byte a 20002.0
|
||||
(byte) cputc::c#3 reg byte a 1.100050025E8
|
||||
(void()) cputln()
|
||||
(byte*~) cputln::$1 zp[2]:28 2.000000002E9
|
||||
(byte*~) cputln::$2 zp[2]:30 2.000000002E9
|
||||
(byte*~) cputln::$1 zp[2]:21 2.000000002E9
|
||||
(byte*~) cputln::$2 zp[2]:23 2.000000002E9
|
||||
(label) cputln::@return
|
||||
(word) cputln::ln_offset
|
||||
(word) cputln::ln_offset#0 ln_offset zp[2]:47 1.000000001E9
|
||||
(word) cputln::ln_offset#0 ln_offset zp[2]:40 1.000000001E9
|
||||
(void()) cputs((to_nomodify byte*) cputs::s)
|
||||
(label) cputs::@1
|
||||
(label) cputs::@2
|
||||
@ -185,12 +185,12 @@
|
||||
(byte) cputs::c
|
||||
(byte) cputs::c#1 reg byte a 1.0000001E7
|
||||
(to_nomodify byte*) cputs::s
|
||||
(to_nomodify byte*) cputs::s#0 s zp[2]:11 5000000.5
|
||||
(to_nomodify byte*) cputs::s#4 s zp[2]:11 1.5050002E7
|
||||
(to_nomodify byte*) cputs::s#5 s zp[2]:11 100001.0
|
||||
(to_nomodify byte*) cputs::s#0 s zp[2]:46 5000000.5
|
||||
(to_nomodify byte*) cputs::s#4 s zp[2]:46 1.5050002E7
|
||||
(to_nomodify byte*) cputs::s#5 s zp[2]:46 100001.0
|
||||
(void()) cscroll()
|
||||
(byte*~) cscroll::$7 zp[2]:28 2.0000000002E10
|
||||
(byte*~) cscroll::$8 zp[2]:30 2.0000000002E10
|
||||
(byte*~) cscroll::$7 zp[2]:21 2.0000000002E10
|
||||
(byte*~) cscroll::$8 zp[2]:23 2.0000000002E10
|
||||
(label) cscroll::@1
|
||||
(label) cscroll::@2
|
||||
(label) cscroll::@3
|
||||
@ -205,18 +205,18 @@
|
||||
(label) eorfill::@5
|
||||
(label) eorfill::@return
|
||||
(byte*) eorfill::canvas
|
||||
(byte*) eorfill::canvas#0 canvas zp[2]:30 551.0
|
||||
(byte*) eorfill::canvas#0 canvas zp[2]:23 551.0
|
||||
(byte) eorfill::eor
|
||||
(byte) eorfill::eor#0 reg byte a 200002.0
|
||||
(byte) eorfill::eor#1 reg byte a 1000001.0
|
||||
(byte) eorfill::eor#2 reg byte a 1050001.5
|
||||
(byte*) eorfill::fill_column
|
||||
(byte*) eorfill::fill_column#1 fill_column zp[2]:30 100001.0
|
||||
(byte*) eorfill::fill_column#5 fill_column zp[2]:30 133444.88888888888
|
||||
(byte*) eorfill::fill_column#1 fill_column zp[2]:23 100001.0
|
||||
(byte*) eorfill::fill_column#5 fill_column zp[2]:23 133444.88888888888
|
||||
(byte*) eorfill::line_buffer
|
||||
(byte*) eorfill::line_column
|
||||
(byte*) eorfill::line_column#1 line_column zp[2]:28 66667.33333333333
|
||||
(byte*) eorfill::line_column#2 line_column zp[2]:28 162500.5
|
||||
(byte*) eorfill::line_column#1 line_column zp[2]:21 66667.33333333333
|
||||
(byte*) eorfill::line_column#2 line_column zp[2]:21 162500.5
|
||||
(byte) eorfill::x
|
||||
(byte) eorfill::x#1 reg byte x 200002.0
|
||||
(byte) eorfill::x#2 reg byte x 30000.300000000003
|
||||
@ -259,7 +259,6 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) line::@13
|
||||
(label) line::@14
|
||||
(label) line::@15
|
||||
(label) line::@16
|
||||
(label) line::@2
|
||||
(label) line::@3
|
||||
(label) line::@4
|
||||
@ -271,63 +270,95 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) line::@return
|
||||
(byte*) line::canvas
|
||||
(byte) line::dx
|
||||
(byte) line::dx#0 dx zp[1]:43 6733.466666666667
|
||||
(byte) line::dx#0 dx zp[1]:36 5941.294117647059
|
||||
(byte) line::dy
|
||||
(byte) line::dy#0 dy zp[1]:44 7390.390243902439
|
||||
(byte) line::dy#0 dy zp[1]:37 6446.936170212766
|
||||
(byte) line::e
|
||||
(byte) line::e#0 e zp[1]:23 500.5
|
||||
(byte) line::e#1 e zp[1]:23 133334.66666666666
|
||||
(byte) line::e#2 e zp[1]:23 50000.5
|
||||
(byte) line::e#3 e zp[1]:23 100501.5
|
||||
(byte) line::e#6 e zp[1]:23 150001.5
|
||||
(byte) line::e#0 reg byte x 333.6666666666667
|
||||
(byte) line::e#1 reg byte x 133334.66666666666
|
||||
(byte) line::e#2 reg byte x 33333.666666666664
|
||||
(byte) line::e#3 reg byte x 100501.5
|
||||
(byte) line::e#5 reg byte x 150001.5
|
||||
(byte) line::e1
|
||||
(byte) line::e1#0 e1 zp[1]:25 2002.0
|
||||
(byte) line::e1#1 e1 zp[1]:25 133334.66666666666
|
||||
(byte) line::e1#2 e1 zp[1]:25 200002.0
|
||||
(byte) line::e1#3 e1 zp[1]:25 40200.600000000006
|
||||
(byte) line::e1#6 e1 zp[1]:25 150001.5
|
||||
(byte) line::e1#0 reg byte x 2002.0
|
||||
(byte) line::e1#1 reg byte x 133334.66666666666
|
||||
(byte) line::e1#2 reg byte x 200002.0
|
||||
(byte) line::e1#3 reg byte x 28714.714285714286
|
||||
(byte) line::e1#7 reg byte x 150001.5
|
||||
(label) line::plot1
|
||||
(byte~) line::plot1_$0 reg byte a 2002.0
|
||||
(byte~) line::plot1_$1 zp[1]:42 2002.0
|
||||
(byte~) line::plot1_$2 reg byte a 2002.0
|
||||
(byte*) line::plot1_column
|
||||
(byte*) line::plot1_column#0 plot1_column zp[2]:40 1501.5
|
||||
(byte) line::plot1_x
|
||||
(byte) line::plot1_y
|
||||
(label) line::plot2
|
||||
(byte~) line::plot2_$0 reg byte a 200002.0
|
||||
(byte~) line::plot2_$1 zp[1]:45 200002.0
|
||||
(byte~) line::plot2_$2 reg byte a 200002.0
|
||||
(byte*) line::plot2_column
|
||||
(byte*) line::plot2_column#0 plot2_column zp[2]:43 150001.5
|
||||
(byte) line::plot2_x
|
||||
(byte) line::plot2_x#0 plot2_x zp[1]:17 57143.42857142857
|
||||
(byte) line::plot2_y
|
||||
(label) line::plot3
|
||||
(byte~) line::plot3_$0 reg byte a 200002.0
|
||||
(byte~) line::plot3_$1 zp[1]:48 200002.0
|
||||
(byte~) line::plot3_$2 reg byte a 200002.0
|
||||
(byte*) line::plot3_column
|
||||
(byte*) line::plot3_column#0 plot3_column zp[2]:46 150001.5
|
||||
(byte) line::plot3_x
|
||||
(byte) line::plot3_y
|
||||
(label) line::plot4
|
||||
(byte~) line::plot4_$0 reg byte a 2002.0
|
||||
(byte~) line::plot4_$1 reg byte a 2002.0
|
||||
(byte~) line::plot4_$2 reg byte a 2002.0
|
||||
(byte*) line::plot4_column
|
||||
(byte*) line::plot4_column#0 plot4_column zp[2]:49 1501.5
|
||||
(byte) line::plot4_x
|
||||
(byte) line::plot4_y
|
||||
(byte) line::sx
|
||||
(byte) line::sx#0 sx zp[1]:45 5459.567567567567
|
||||
(byte) line::sx#0 sx zp[1]:38 4697.767441860465
|
||||
(byte) line::sy
|
||||
(byte) line::sy#0 sy zp[1]:46 6091.0
|
||||
(byte) line::sy#0 sy zp[1]:39 5153.923076923076
|
||||
(byte) line::x
|
||||
(byte) line::x#0 x zp[1]:24 196.5925925925926
|
||||
(byte) line::x#1 x zp[1]:24 60000.600000000006
|
||||
(byte) line::x#10 x zp[1]:24 75251.0
|
||||
(byte) line::x#12 x zp[1]:24 43000.57142857143
|
||||
(byte) line::x#16 x zp[1]:24 150001.5
|
||||
(byte) line::x#5 x zp[1]:24 75251.0
|
||||
(byte) line::x#0 x zp[1]:17 217.55172413793105
|
||||
(byte) line::x#10 x zp[1]:17 75251.0
|
||||
(byte) line::x#12 x zp[1]:17 66834.16666666666
|
||||
(byte) line::x#13 x zp[1]:17 30200.5
|
||||
(byte) line::x#16 x zp[1]:17 150001.5
|
||||
(byte) line::x1
|
||||
(byte) line::x1#0 x1 zp[1]:24 50.5
|
||||
(byte) line::x1#1 x1 zp[1]:24 50.5
|
||||
(byte) line::x1#2 x1 zp[1]:24 50.5
|
||||
(byte) line::x1#0 x1 zp[1]:17 50.5
|
||||
(byte) line::x1#1 x1 zp[1]:17 50.5
|
||||
(byte) line::x1#2 x1 zp[1]:17 50.5
|
||||
(byte) line::x2
|
||||
(byte) line::x2#0 x2 zp[1]:21 101.0
|
||||
(byte) line::x2#1 x2 zp[1]:21 101.0
|
||||
(byte) line::x2#10 x2 zp[1]:21 3009.0
|
||||
(byte) line::x2#2 x2 zp[1]:21 101.0
|
||||
(byte) line::x2#0 x2 zp[1]:15 101.0
|
||||
(byte) line::x2#1 x2 zp[1]:15 101.0
|
||||
(byte) line::x2#11 x2 zp[1]:15 2841.8333333333335
|
||||
(byte) line::x2#2 x2 zp[1]:15 101.0
|
||||
(byte) line::y
|
||||
(byte) line::y#0 reg byte x 239.27777777777777
|
||||
(byte) line::y#1 reg byte x 1001.0
|
||||
(byte) line::y#10 reg byte x 57286.42857142857
|
||||
(byte) line::y#11 reg byte x 100334.66666666667
|
||||
(byte) line::y#13 reg byte x 715.0
|
||||
(byte) line::y#15 reg byte x 40000.4
|
||||
(byte) line::y#3 reg byte x 100001.0
|
||||
(byte) line::y#6 reg byte x 201003.0
|
||||
(byte) line::y#0 y zp[1]:18 239.27777777777777
|
||||
(byte) line::y#1 y zp[1]:18 1001.0
|
||||
(byte) line::y#10 y zp[1]:18 55667.33333333333
|
||||
(byte) line::y#11 y zp[1]:18 50334.16666666667
|
||||
(byte) line::y#13 y zp[1]:18 667.3333333333333
|
||||
(byte) line::y#15 y zp[1]:18 41667.08333333333
|
||||
(byte) line::y#3 y zp[1]:18 100001.0
|
||||
(byte) line::y#6 y zp[1]:18 201003.0
|
||||
(byte) line::y1
|
||||
(byte) line::y1#0 reg byte x 67.33333333333333
|
||||
(byte) line::y1#1 reg byte x 67.33333333333333
|
||||
(byte) line::y1#2 reg byte x 67.33333333333333
|
||||
(byte) line::y1#0 y1 zp[1]:18 67.33333333333333
|
||||
(byte) line::y1#1 y1 zp[1]:18 67.33333333333333
|
||||
(byte) line::y1#2 y1 zp[1]:18 67.33333333333333
|
||||
(byte) line::y2
|
||||
(byte) line::y2#0 y2 zp[1]:22 202.0
|
||||
(byte) line::y2#1 y2 zp[1]:22 202.0
|
||||
(byte) line::y2#10 y2 zp[1]:22 226.68421052631578
|
||||
(byte) line::y2#13 y2 zp[1]:22 6000.176470588235
|
||||
(byte) line::y2#2 y2 zp[1]:22 202.0
|
||||
(byte) line::y2#3 y2 zp[1]:22 2002.0
|
||||
(byte) line::y2#0 y2 zp[1]:16 202.0
|
||||
(byte) line::y2#1 y2 zp[1]:16 202.0
|
||||
(byte) line::y2#10 y2 zp[1]:16 226.68421052631578
|
||||
(byte) line::y2#13 y2 zp[1]:16 4857.285714285714
|
||||
(byte) line::y2#2 y2 zp[1]:16 202.0
|
||||
(byte) line::y2#3 y2 zp[1]:16 2002.0
|
||||
(void()) main()
|
||||
(dword~) main::$18 zp[4]:13 202.0
|
||||
(dword~) main::$18 zp[4]:11 202.0
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
@ -359,14 +390,14 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) main::c#2 reg byte x 776.0
|
||||
(byte) main::c#4 reg byte x 202.0
|
||||
(byte*) main::canvas
|
||||
(word) main::canvas#1 canvas zp[2]:9 6.733333333333333
|
||||
(byte*) main::canvas#10 canvas zp[2]:9 8.18918918918919
|
||||
(word) main::canvas#1 canvas zp[2]:9 5.611111111111111
|
||||
(byte*) main::canvas#10 canvas zp[2]:9 8.911764705882353
|
||||
(byte*) main::canvas#24 canvas zp[2]:9 202.0
|
||||
(byte*) main::cols
|
||||
(byte*) main::cols#1 cols zp[2]:2 67.33333333333333
|
||||
(byte*) main::cols#5 cols zp[2]:2 133.66666666666669
|
||||
(dword) main::cyclecount
|
||||
(dword) main::cyclecount#0 cyclecount zp[4]:13 25.25
|
||||
(dword) main::cyclecount#0 cyclecount zp[4]:11 25.25
|
||||
(byte) main::p0_idx
|
||||
(byte) main::p0_idx#1 p0_idx zp[1]:6 11.222222222222223
|
||||
(byte) main::p0_idx#11 p0_idx zp[1]:6 15.538461538461538
|
||||
@ -395,40 +426,40 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) main::x#1 reg byte y 2002.0
|
||||
(byte) main::x#2 reg byte y 1001.0
|
||||
(byte) main::x0
|
||||
(byte) main::x0#0 x0 zp[1]:35 16.833333333333332
|
||||
(byte) main::x0#0 x0 zp[1]:28 16.833333333333332
|
||||
(byte) main::x1
|
||||
(byte) main::x1#0 x1 zp[1]:21 33.666666666666664
|
||||
(byte) main::x1#0 x1 zp[1]:15 33.666666666666664
|
||||
(byte) main::x2
|
||||
(byte) main::x2#0 x2 zp[1]:21 43.285714285714285
|
||||
(byte) main::x2#0 x2 zp[1]:15 43.285714285714285
|
||||
(byte) main::y
|
||||
(byte) main::y#1 y zp[1]:26 202.0
|
||||
(byte) main::y#2 y zp[1]:26 36.72727272727273
|
||||
(byte) main::y#1 y zp[1]:19 202.0
|
||||
(byte) main::y#2 y zp[1]:19 36.72727272727273
|
||||
(byte) main::y0
|
||||
(byte) main::y0#0 y0 zp[1]:36 16.833333333333332
|
||||
(byte) main::y0#0 y0 zp[1]:29 16.833333333333332
|
||||
(byte) main::y1
|
||||
(byte) main::y1#0 y1 zp[1]:37 33.666666666666664
|
||||
(byte) main::y1#0 y1 zp[1]:30 33.666666666666664
|
||||
(byte) main::y2
|
||||
(byte) main::y2#0 y2 zp[1]:38 43.285714285714285
|
||||
(byte) main::y2#0 y2 zp[1]:31 43.285714285714285
|
||||
(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num)
|
||||
(label) memcpy::@1
|
||||
(label) memcpy::@2
|
||||
(label) memcpy::@return
|
||||
(void*) memcpy::destination
|
||||
(void*) memcpy::destination#2 destination zp[2]:19
|
||||
(void*) memcpy::destination#2 destination zp[2]:49
|
||||
(byte*) memcpy::dst
|
||||
(byte*) memcpy::dst#1 dst zp[2]:19 1.00000000000001E14
|
||||
(byte*) memcpy::dst#2 dst zp[2]:19 1.0003333333333467E14
|
||||
(byte*) memcpy::dst#4 dst zp[2]:19 2.00000000002E11
|
||||
(byte*) memcpy::dst#1 dst zp[2]:49 1.00000000000001E14
|
||||
(byte*) memcpy::dst#2 dst zp[2]:49 1.0003333333333467E14
|
||||
(byte*) memcpy::dst#4 dst zp[2]:49 2.00000000002E11
|
||||
(word) memcpy::num
|
||||
(void*) memcpy::return
|
||||
(void*) memcpy::source
|
||||
(void*) memcpy::source#2 source zp[2]:17
|
||||
(void*) memcpy::source#2 source zp[2]:40
|
||||
(byte*) memcpy::src
|
||||
(byte*) memcpy::src#1 src zp[2]:17 2.00000000000002E14
|
||||
(byte*) memcpy::src#2 src zp[2]:17 1.0002500000000125E14
|
||||
(byte*) memcpy::src#4 src zp[2]:17 1.00000000001E11
|
||||
(byte*) memcpy::src#1 src zp[2]:40 2.00000000000002E14
|
||||
(byte*) memcpy::src#2 src zp[2]:40 1.0002500000000125E14
|
||||
(byte*) memcpy::src#4 src zp[2]:40 1.00000000001E11
|
||||
(byte*) memcpy::src_end
|
||||
(byte*) memcpy::src_end#0 src_end zp[2]:47 1.251250000000025E13
|
||||
(byte*) memcpy::src_end#0 src_end zp[2]:43 1.251250000000025E13
|
||||
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
||||
(label) memset::@1
|
||||
(label) memset::@2
|
||||
@ -438,38 +469,18 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) memset::c#1 reg byte x 2.0000000002E10
|
||||
(byte) memset::c#8 reg byte x 1.25125000000025E12
|
||||
(byte*) memset::dst
|
||||
(byte*) memset::dst#1 dst zp[2]:19 2.0000000000002E13
|
||||
(byte*) memset::dst#2 dst zp[2]:19 1.3366666666668332E13
|
||||
(byte*) memset::dst#4 dst zp[2]:19 2.00000000002E11
|
||||
(byte*) memset::dst#1 dst zp[2]:49 2.0000000000002E13
|
||||
(byte*) memset::dst#2 dst zp[2]:49 1.3366666666668332E13
|
||||
(byte*) memset::dst#4 dst zp[2]:49 2.00000000002E11
|
||||
(byte*) memset::end
|
||||
(byte*) memset::end#0 end zp[2]:17 1.6833333333336665E12
|
||||
(byte*) memset::end#0 end zp[2]:40 1.6833333333336665E12
|
||||
(word) memset::num
|
||||
(word) memset::num#6 num zp[2]:17 1.00000000001E11
|
||||
(word) memset::num#6 num zp[2]:40 1.00000000001E11
|
||||
(void*) memset::return
|
||||
(void*) memset::str
|
||||
(void*) memset::str#7 str zp[2]:19
|
||||
(void()) plot((byte*) plot::canvas , (byte) plot::x , (byte) plot::y)
|
||||
(byte~) plot::$0 reg byte a 2000002.0
|
||||
(byte~) plot::$2 zp[1]:49 2000002.0
|
||||
(byte~) plot::$3 reg byte a 2000002.0
|
||||
(label) plot::@return
|
||||
(byte*) plot::canvas
|
||||
(byte*) plot::column
|
||||
(byte*) plot::column#0 column zp[2]:47 1500001.5
|
||||
(byte) plot::x
|
||||
(byte) plot::x#0 x zp[1]:24 1001.0
|
||||
(byte) plot::x#1 x zp[1]:24 100001.0
|
||||
(byte) plot::x#2 x zp[1]:24 100001.0
|
||||
(byte) plot::x#3 x zp[1]:24 1001.0
|
||||
(byte) plot::x#4 x zp[1]:24 550501.5
|
||||
(byte) plot::y
|
||||
(byte) plot::y#0 reg byte x 2002.0
|
||||
(byte) plot::y#1 reg byte x 200002.0
|
||||
(byte) plot::y#2 reg byte x 200002.0
|
||||
(byte) plot::y#3 reg byte x 2002.0
|
||||
(byte) plot::y#4 reg byte x 440401.2
|
||||
(void*) memset::str#7 str zp[2]:49
|
||||
(const byte*) plot_bit[(number) 8] = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 }
|
||||
(const word*) plot_column[(number) $10] = { (word) 0, (word)(number) 1*(number) $80, (word)(number) 2*(number) $80, (word)(number) 3*(number) $80, (word)(number) 4*(number) $80, (word)(number) 5*(number) $80, (word)(number) 6*(number) $80, (word)(number) 7*(number) $80, (word)(number) 8*(number) $80, (word)(number) 9*(number) $80, (word)(number) $a*(number) $80, (word)(number) $b*(number) $80, (word)(number) $c*(number) $80, (word)(number) $d*(number) $80, (word)(number) $e*(number) $80, (word)(number) $f*(number) $80 }
|
||||
(const byte**) plot_column[(number) $10] = { (const nomodify byte*) LINE_BUFFER, (const nomodify byte*) LINE_BUFFER+(byte)(number) 1*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 2*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 3*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 4*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 5*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 6*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 7*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 8*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) 9*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $a*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $b*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $c*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $d*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $e*(number) $80, (const nomodify byte*) LINE_BUFFER+(word)(number) $f*(number) $80 }
|
||||
(struct printf_buffer_number) printf_buffer loadstore mem[12] = {}
|
||||
(const byte*) printf_buffer_number::digits[(number) $b] = { fill( $b, 0) }
|
||||
(byte) printf_buffer_number::sign
|
||||
@ -482,7 +493,7 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) printf_format_string::justify_left
|
||||
(byte) printf_format_string::min_length
|
||||
(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix)
|
||||
(word~) printf_number_buffer::$19 zp[2]:19 10001.0
|
||||
(word~) printf_number_buffer::$19 zp[2]:49 10001.0
|
||||
(label) printf_number_buffer::@1
|
||||
(label) printf_number_buffer::@10
|
||||
(label) printf_number_buffer::@11
|
||||
@ -508,42 +519,42 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(struct printf_buffer_number) printf_number_buffer::buffer
|
||||
(byte*) printf_number_buffer::buffer_digits
|
||||
(byte) printf_number_buffer::buffer_sign
|
||||
(byte) printf_number_buffer::buffer_sign#0 buffer_sign zp[1]:37 2002.0
|
||||
(byte) printf_number_buffer::buffer_sign#1 buffer_sign zp[1]:37 2002.0
|
||||
(byte) printf_number_buffer::buffer_sign#10 buffer_sign zp[1]:37 1600.25
|
||||
(byte) printf_number_buffer::buffer_sign#0 buffer_sign zp[1]:31 2002.0
|
||||
(byte) printf_number_buffer::buffer_sign#1 buffer_sign zp[1]:31 2002.0
|
||||
(byte) printf_number_buffer::buffer_sign#10 buffer_sign zp[1]:31 1600.25
|
||||
(struct printf_format_number) printf_number_buffer::format
|
||||
(byte) printf_number_buffer::format_justify_left
|
||||
(byte) printf_number_buffer::format_justify_left#10 format_justify_left zp[1]:35 645.2258064516129
|
||||
(byte) printf_number_buffer::format_justify_left#10 format_justify_left zp[1]:29 645.2258064516129
|
||||
(byte) printf_number_buffer::format_min_length
|
||||
(byte) printf_number_buffer::format_min_length#2 reg byte x 1000.1
|
||||
(byte) printf_number_buffer::format_radix
|
||||
(byte) printf_number_buffer::format_sign_always
|
||||
(byte) printf_number_buffer::format_upper_case
|
||||
(byte) printf_number_buffer::format_upper_case#10 format_upper_case zp[1]:21 384.65384615384613
|
||||
(byte) printf_number_buffer::format_upper_case#10 format_upper_case zp[1]:15 384.65384615384613
|
||||
(byte) printf_number_buffer::format_zero_padding
|
||||
(byte) printf_number_buffer::format_zero_padding#10 format_zero_padding zp[1]:36 937.59375
|
||||
(byte) printf_number_buffer::format_zero_padding#10 format_zero_padding zp[1]:30 937.59375
|
||||
(signed byte) printf_number_buffer::len
|
||||
(signed byte) printf_number_buffer::len#0 reg byte y 15001.5
|
||||
(signed byte) printf_number_buffer::len#1 reg byte y 20002.0
|
||||
(signed byte) printf_number_buffer::len#2 reg byte y 30003.0
|
||||
(signed byte) printf_number_buffer::padding
|
||||
(signed byte) printf_number_buffer::padding#1 padding zp[1]:22 10001.0
|
||||
(signed byte) printf_number_buffer::padding#10 padding zp[1]:22 1904.952380952381
|
||||
(signed byte) printf_number_buffer::padding#1 padding zp[1]:16 10001.0
|
||||
(signed byte) printf_number_buffer::padding#10 padding zp[1]:16 1904.952380952381
|
||||
(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length)
|
||||
(label) printf_padding::@1
|
||||
(label) printf_padding::@2
|
||||
(label) printf_padding::@3
|
||||
(label) printf_padding::@return
|
||||
(byte) printf_padding::i
|
||||
(byte) printf_padding::i#1 i zp[1]:25 2.0000002E7
|
||||
(byte) printf_padding::i#2 i zp[1]:25 7500000.75
|
||||
(byte) printf_padding::i#1 i zp[1]:28 2.0000002E7
|
||||
(byte) printf_padding::i#2 i zp[1]:28 7500000.75
|
||||
(byte) printf_padding::length
|
||||
(byte) printf_padding::length#0 length zp[1]:23 20002.0
|
||||
(byte) printf_padding::length#1 length zp[1]:23 20002.0
|
||||
(byte) printf_padding::length#2 length zp[1]:23 20002.0
|
||||
(byte) printf_padding::length#4 length zp[1]:23 1671667.3333333333
|
||||
(byte) printf_padding::length#0 length zp[1]:17 20002.0
|
||||
(byte) printf_padding::length#1 length zp[1]:17 20002.0
|
||||
(byte) printf_padding::length#2 length zp[1]:17 20002.0
|
||||
(byte) printf_padding::length#4 length zp[1]:17 1671667.3333333333
|
||||
(byte) printf_padding::pad
|
||||
(byte) printf_padding::pad#5 pad zp[1]:24 1666666.8333333333
|
||||
(byte) printf_padding::pad#5 pad zp[1]:18 1666666.8333333333
|
||||
(void()) printf_uchar((byte) printf_uchar::uvalue , (byte) printf_uchar::format_min_length , (byte) printf_uchar::format_justify_left , (byte) printf_uchar::format_sign_always , (byte) printf_uchar::format_zero_padding , (byte) printf_uchar::format_upper_case , (byte) printf_uchar::format_radix)
|
||||
(label) printf_uchar::@1
|
||||
(label) printf_uchar::@2
|
||||
@ -577,7 +588,7 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) printf_ulong::format_zero_padding
|
||||
(const byte) printf_ulong::format_zero_padding#0 format_zero_padding = (byte) 0
|
||||
(dword) printf_ulong::uvalue
|
||||
(dword) printf_ulong::uvalue#0 uvalue zp[4]:13 367.33333333333337
|
||||
(dword) printf_ulong::uvalue#0 uvalue zp[4]:11 367.33333333333337
|
||||
(void()) setup_irq()
|
||||
(label) setup_irq::@return
|
||||
(byte()) sgn_u8((byte) sgn_u8::u)
|
||||
@ -597,13 +608,13 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) strlen::@2
|
||||
(label) strlen::@return
|
||||
(word) strlen::len
|
||||
(word) strlen::len#1 len zp[2]:19 1.0000001E7
|
||||
(word) strlen::len#2 len zp[2]:19 5002500.75
|
||||
(word) strlen::len#1 len zp[2]:49 1.0000001E7
|
||||
(word) strlen::len#2 len zp[2]:49 5002500.75
|
||||
(word) strlen::return
|
||||
(word) strlen::return#2 return zp[2]:19 20002.0
|
||||
(word) strlen::return#2 return zp[2]:49 20002.0
|
||||
(byte*) strlen::str
|
||||
(byte*) strlen::str#0 str zp[2]:17 2.0000002E7
|
||||
(byte*) strlen::str#2 str zp[2]:17 1.0000001E7
|
||||
(byte*) strlen::str#0 str zp[2]:40 2.0000002E7
|
||||
(byte*) strlen::str#2 str zp[2]:40 1.0000001E7
|
||||
(byte*()) strupr((byte*) strupr::str)
|
||||
(byte~) strupr::$0 reg byte a 2.0000002E7
|
||||
(label) strupr::@1
|
||||
@ -612,8 +623,8 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) strupr::@return
|
||||
(byte*) strupr::return
|
||||
(byte*) strupr::src
|
||||
(byte*) strupr::src#1 src zp[2]:11 2.0000002E7
|
||||
(byte*) strupr::src#2 src zp[2]:11 7142857.857142856
|
||||
(byte*) strupr::src#1 src zp[2]:46 2.0000002E7
|
||||
(byte*) strupr::src#2 src zp[2]:46 7142857.857142856
|
||||
(byte*) strupr::str
|
||||
(const byte*) strupr::str#0 str = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
|
||||
(byte()) textcolor((byte) textcolor::color)
|
||||
@ -646,22 +657,22 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) uctoa::@7
|
||||
(label) uctoa::@return
|
||||
(byte*) uctoa::buffer
|
||||
(byte*) uctoa::buffer#11 buffer zp[2]:19 335000.50000000006
|
||||
(byte*) uctoa::buffer#14 buffer zp[2]:19 1500001.5
|
||||
(byte*) uctoa::buffer#3 buffer zp[2]:19 20002.0
|
||||
(byte*) uctoa::buffer#4 buffer zp[2]:19 2000002.0
|
||||
(byte*) uctoa::buffer#11 buffer zp[2]:49 335000.50000000006
|
||||
(byte*) uctoa::buffer#14 buffer zp[2]:49 1500001.5
|
||||
(byte*) uctoa::buffer#3 buffer zp[2]:49 20002.0
|
||||
(byte*) uctoa::buffer#4 buffer zp[2]:49 2000002.0
|
||||
(byte) uctoa::digit
|
||||
(byte) uctoa::digit#1 digit zp[1]:36 2000002.0
|
||||
(byte) uctoa::digit#2 digit zp[1]:36 307692.6153846154
|
||||
(byte) uctoa::digit#1 digit zp[1]:30 2000002.0
|
||||
(byte) uctoa::digit#2 digit zp[1]:30 307692.6153846154
|
||||
(byte) uctoa::digit_value
|
||||
(byte) uctoa::digit_value#0 digit_value zp[1]:43 600000.6000000001
|
||||
(byte) uctoa::digit_value#0 digit_value zp[1]:36 600000.6000000001
|
||||
(byte*) uctoa::digit_values
|
||||
(byte) uctoa::max_digits
|
||||
(const byte) uctoa::max_digits#2 max_digits = (byte) 2
|
||||
(byte) uctoa::radix
|
||||
(byte) uctoa::started
|
||||
(byte) uctoa::started#2 started zp[1]:37 600000.6000000001
|
||||
(byte) uctoa::started#4 started zp[1]:37 1000001.0
|
||||
(byte) uctoa::started#2 started zp[1]:31 600000.6000000001
|
||||
(byte) uctoa::started#4 started zp[1]:31 1000001.0
|
||||
(byte) uctoa::value
|
||||
(byte) uctoa::value#0 reg byte x 1000001.0
|
||||
(byte) uctoa::value#1 reg byte x 5501.0
|
||||
@ -673,14 +684,14 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) uctoa_append::@3
|
||||
(label) uctoa_append::@return
|
||||
(byte*) uctoa_append::buffer
|
||||
(byte*) uctoa_append::buffer#0 buffer zp[2]:19 1375000.25
|
||||
(byte*) uctoa_append::buffer#0 buffer zp[2]:49 1375000.25
|
||||
(byte) uctoa_append::digit
|
||||
(byte) uctoa_append::digit#1 reg byte y 1.0000000001E10
|
||||
(byte) uctoa_append::digit#2 reg byte y 1.00050000015E10
|
||||
(byte) uctoa_append::return
|
||||
(byte) uctoa_append::return#0 reg byte x 2000002.0
|
||||
(byte) uctoa_append::sub
|
||||
(byte) uctoa_append::sub#0 sub zp[1]:43 3.3335000005E9
|
||||
(byte) uctoa_append::sub#0 sub zp[1]:36 3.3335000005E9
|
||||
(byte) uctoa_append::value
|
||||
(byte) uctoa_append::value#0 reg byte x 3666667.333333333
|
||||
(byte) uctoa_append::value#1 reg byte x 2.0000000002E10
|
||||
@ -697,15 +708,15 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(label) ultoa::@7
|
||||
(label) ultoa::@return
|
||||
(byte*) ultoa::buffer
|
||||
(byte*) ultoa::buffer#11 buffer zp[2]:17 287143.2857142857
|
||||
(byte*) ultoa::buffer#14 buffer zp[2]:17 1500001.5
|
||||
(byte*) ultoa::buffer#3 buffer zp[2]:17 20002.0
|
||||
(byte*) ultoa::buffer#4 buffer zp[2]:17 2000002.0
|
||||
(byte*) ultoa::buffer#11 buffer zp[2]:40 287143.2857142857
|
||||
(byte*) ultoa::buffer#14 buffer zp[2]:40 1500001.5
|
||||
(byte*) ultoa::buffer#3 buffer zp[2]:40 20002.0
|
||||
(byte*) ultoa::buffer#4 buffer zp[2]:40 2000002.0
|
||||
(byte) ultoa::digit
|
||||
(byte) ultoa::digit#1 digit zp[1]:35 2000002.0
|
||||
(byte) ultoa::digit#2 digit zp[1]:35 285714.5714285714
|
||||
(byte) ultoa::digit#1 digit zp[1]:29 2000002.0
|
||||
(byte) ultoa::digit#2 digit zp[1]:29 285714.5714285714
|
||||
(dword) ultoa::digit_value
|
||||
(dword) ultoa::digit_value#0 digit_value zp[4]:39 600000.6000000001
|
||||
(dword) ultoa::digit_value#0 digit_value zp[4]:32 600000.6000000001
|
||||
(dword*) ultoa::digit_values
|
||||
(byte) ultoa::max_digits
|
||||
(const byte) ultoa::max_digits#1 max_digits = (byte) $a
|
||||
@ -714,28 +725,28 @@ interrupt(KERNEL_KEYBOARD)(void()) irq_bottom_2()
|
||||
(byte) ultoa::started#2 reg byte x 500000.5
|
||||
(byte) ultoa::started#4 reg byte x 1000001.0
|
||||
(dword) ultoa::value
|
||||
(dword) ultoa::value#0 value zp[4]:13 1000001.0
|
||||
(dword) ultoa::value#1 value zp[4]:13 5501.0
|
||||
(dword) ultoa::value#2 value zp[4]:13 572857.857142857
|
||||
(dword) ultoa::value#6 value zp[4]:13 1500001.5
|
||||
(dword) ultoa::value#0 value zp[4]:11 1000001.0
|
||||
(dword) ultoa::value#1 value zp[4]:11 5501.0
|
||||
(dword) ultoa::value#2 value zp[4]:11 572857.857142857
|
||||
(dword) ultoa::value#6 value zp[4]:11 1500001.5
|
||||
(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub)
|
||||
(label) ultoa_append::@1
|
||||
(label) ultoa_append::@2
|
||||
(label) ultoa_append::@3
|
||||
(label) ultoa_append::@return
|
||||
(byte*) ultoa_append::buffer
|
||||
(byte*) ultoa_append::buffer#0 buffer zp[2]:17 1375000.25
|
||||
(byte*) ultoa_append::buffer#0 buffer zp[2]:40 1375000.25
|
||||
(byte) ultoa_append::digit
|
||||
(byte) ultoa_append::digit#1 reg byte x 1.0000000001E10
|
||||
(byte) ultoa_append::digit#2 reg byte x 1.00050000015E10
|
||||
(dword) ultoa_append::return
|
||||
(dword) ultoa_append::return#0 return zp[4]:13 2000002.0
|
||||
(dword) ultoa_append::return#0 return zp[4]:11 2000002.0
|
||||
(dword) ultoa_append::sub
|
||||
(dword) ultoa_append::sub#0 sub zp[4]:39 3.3335000005E9
|
||||
(dword) ultoa_append::sub#0 sub zp[4]:32 3.3335000005E9
|
||||
(dword) ultoa_append::value
|
||||
(dword) ultoa_append::value#0 value zp[4]:13 3666667.333333333
|
||||
(dword) ultoa_append::value#1 value zp[4]:13 2.0000000002E10
|
||||
(dword) ultoa_append::value#2 value zp[4]:13 5.001833334166666E9
|
||||
(dword) ultoa_append::value#0 value zp[4]:11 3666667.333333333
|
||||
(dword) ultoa_append::value#1 value zp[4]:11 2.0000000002E10
|
||||
(dword) ultoa_append::value#2 value zp[4]:11 5.001833334166666E9
|
||||
|
||||
zp[2]:2 [ main::cols#5 main::cols#1 ]
|
||||
zp[2]:4 [ main::screen#5 main::screen#1 ]
|
||||
@ -749,62 +760,70 @@ reg byte x [ printf_number_buffer::format_min_length#2 ]
|
||||
reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
|
||||
reg byte a [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ]
|
||||
reg byte x [ memset::c#8 memset::c#1 ]
|
||||
zp[2]:11 [ strupr::src#2 strupr::src#1 cputs::s#4 cputs::s#5 cputs::s#0 ]
|
||||
reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ]
|
||||
zp[4]:13 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 printf_ulong::uvalue#0 ultoa_append::return#0 main::cyclecount#0 clock::return#2 main::$18 clock::return#0 ]
|
||||
zp[4]:11 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 printf_ulong::uvalue#0 ultoa_append::return#0 main::cyclecount#0 clock::return#2 main::$18 clock::return#0 ]
|
||||
reg byte x [ ultoa::started#2 ultoa::started#4 ]
|
||||
zp[2]:17 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::str#2 strlen::str#0 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::num#6 memset::end#0 ]
|
||||
reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ]
|
||||
reg byte x [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
|
||||
zp[2]:19 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 memset::str#7 memset::dst#2 memset::dst#4 memset::dst#1 ]
|
||||
reg byte x [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
|
||||
reg byte y [ uctoa_append::digit#2 uctoa_append::digit#1 ]
|
||||
reg byte x [ eorfill::x#2 eorfill::x#1 ]
|
||||
reg byte y [ eorfill::y#2 eorfill::y#1 ]
|
||||
reg byte a [ eorfill::eor#2 eorfill::eor#0 eorfill::eor#1 ]
|
||||
zp[1]:21 [ line::x2#10 line::x2#0 line::x2#1 line::x2#2 main::x1#0 main::x2#0 printf_number_buffer::format_upper_case#10 ]
|
||||
zp[1]:22 [ line::y2#13 line::y2#10 line::y2#0 line::y2#1 line::y2#2 line::y2#3 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
|
||||
zp[1]:23 [ line::e#3 line::e#0 line::e#6 line::e#2 line::e#1 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
|
||||
zp[1]:24 [ line::x#5 line::x#10 line::x#0 line::x1#0 line::x1#1 line::x1#2 line::x#16 line::x#1 line::x#12 plot::x#4 plot::x#3 plot::x#0 plot::x#1 plot::x#2 printf_padding::pad#5 ]
|
||||
reg byte x [ line::y#10 line::y#6 line::y#13 line::y#0 line::y1#0 line::y1#1 line::y1#2 line::y#1 line::y#15 line::y#11 line::y#3 ]
|
||||
zp[1]:25 [ line::e1#3 line::e1#0 line::e1#6 line::e1#2 line::e1#1 printf_padding::i#2 printf_padding::i#1 ]
|
||||
reg byte x [ plot::y#4 plot::y#3 plot::y#0 plot::y#1 plot::y#2 ]
|
||||
zp[1]:15 [ line::x2#11 line::x2#0 line::x2#1 line::x2#2 main::x1#0 main::x2#0 printf_number_buffer::format_upper_case#10 ]
|
||||
zp[1]:16 [ line::y2#13 line::y2#10 line::y2#0 line::y2#1 line::y2#2 line::y2#3 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
|
||||
reg byte x [ line::e#3 line::e#5 line::e#0 line::e#1 line::e#2 ]
|
||||
zp[1]:17 [ line::x#12 line::x#10 line::x#16 line::x#0 line::x1#0 line::x1#1 line::x1#2 line::plot2_x#0 line::x#13 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
|
||||
zp[1]:18 [ line::y#10 line::y#6 line::y#15 line::y#13 line::y#0 line::y1#0 line::y1#1 line::y1#2 line::y#1 line::y#11 line::y#3 printf_padding::pad#5 ]
|
||||
reg byte x [ line::e1#3 line::e1#0 line::e1#7 line::e1#2 line::e1#1 ]
|
||||
reg byte a [ sgn_u8::u#2 sgn_u8::u#0 sgn_u8::u#1 ]
|
||||
reg byte a [ sgn_u8::return#4 ]
|
||||
reg byte y [ abs_u8::return#4 abs_u8::return#2 abs_u8::u#2 abs_u8::u#0 abs_u8::u#1 ]
|
||||
zp[1]:26 [ conio_cursor_x main::y#2 main::y#1 ]
|
||||
zp[1]:27 [ conio_cursor_y ]
|
||||
zp[2]:28 [ conio_cursor_text cputln::$1 cscroll::$7 eorfill::line_column#2 eorfill::line_column#1 ]
|
||||
zp[2]:30 [ conio_cursor_color cputln::$2 cscroll::$8 eorfill::fill_column#5 eorfill::canvas#0 eorfill::fill_column#1 ]
|
||||
zp[1]:32 [ conio_textcolor ]
|
||||
zp[1]:33 [ canvas_show_memory ]
|
||||
zp[1]:34 [ canvas_show_flag ]
|
||||
zp[1]:35 [ main::x0#0 ultoa::digit#2 ultoa::digit#1 printf_number_buffer::format_justify_left#10 ]
|
||||
zp[1]:36 [ main::y0#0 uctoa::digit#2 uctoa::digit#1 printf_number_buffer::format_zero_padding#10 ]
|
||||
zp[1]:37 [ main::y1#0 uctoa::started#2 uctoa::started#4 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
|
||||
zp[1]:38 [ main::y2#0 ]
|
||||
reg byte a [ abs_u8::return#4 abs_u8::return#2 abs_u8::u#2 abs_u8::u#0 abs_u8::u#1 ]
|
||||
zp[1]:19 [ conio_cursor_x main::y#2 main::y#1 ]
|
||||
zp[1]:20 [ conio_cursor_y ]
|
||||
zp[2]:21 [ conio_cursor_text cputln::$1 cscroll::$7 eorfill::line_column#2 eorfill::line_column#1 ]
|
||||
zp[2]:23 [ conio_cursor_color cputln::$2 cscroll::$8 eorfill::fill_column#5 eorfill::canvas#0 eorfill::fill_column#1 ]
|
||||
zp[1]:25 [ conio_textcolor ]
|
||||
zp[1]:26 [ canvas_show_memory ]
|
||||
zp[1]:27 [ canvas_show_flag ]
|
||||
zp[1]:28 [ main::x0#0 printf_padding::i#2 printf_padding::i#1 ]
|
||||
zp[1]:29 [ main::y0#0 ultoa::digit#2 ultoa::digit#1 printf_number_buffer::format_justify_left#10 ]
|
||||
zp[1]:30 [ main::y1#0 uctoa::digit#2 uctoa::digit#1 printf_number_buffer::format_zero_padding#10 ]
|
||||
zp[1]:31 [ main::y2#0 uctoa::started#2 uctoa::started#4 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
|
||||
reg byte x [ printf_uchar::uvalue#0 ]
|
||||
reg byte a [ cputs::c#1 ]
|
||||
reg byte a [ toupper::return#3 ]
|
||||
reg byte a [ strupr::$0 ]
|
||||
reg byte a [ ultoa::$11 ]
|
||||
reg byte a [ ultoa::$10 ]
|
||||
zp[4]:39 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
|
||||
zp[4]:32 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
|
||||
reg byte x [ uctoa_append::return#0 ]
|
||||
reg byte a [ abs_u8::return#0 ]
|
||||
zp[1]:43 [ line::dx#0 uctoa::digit_value#0 uctoa_append::sub#0 ]
|
||||
zp[1]:36 [ line::dx#0 uctoa::digit_value#0 uctoa_append::sub#0 ]
|
||||
reg byte a [ abs_u8::return#1 ]
|
||||
zp[1]:44 [ line::dy#0 ]
|
||||
zp[1]:37 [ line::dy#0 ]
|
||||
reg byte a [ sgn_u8::return#0 ]
|
||||
zp[1]:45 [ line::sx#0 ]
|
||||
zp[1]:38 [ line::sx#0 ]
|
||||
reg byte a [ sgn_u8::return#1 ]
|
||||
zp[1]:46 [ line::sy#0 ]
|
||||
reg byte a [ plot::$0 ]
|
||||
reg byte a [ plot::$3 ]
|
||||
zp[2]:47 [ plot::column#0 cputln::ln_offset#0 memcpy::src_end#0 ]
|
||||
zp[1]:49 [ plot::$2 ]
|
||||
zp[1]:39 [ line::sy#0 ]
|
||||
reg byte a [ line::plot1_$0 ]
|
||||
reg byte a [ line::plot1_$2 ]
|
||||
zp[2]:40 [ line::plot1_column#0 cputln::ln_offset#0 ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::str#2 strlen::str#0 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::num#6 memset::end#0 ]
|
||||
zp[1]:42 [ line::plot1_$1 ]
|
||||
reg byte a [ line::plot2_$0 ]
|
||||
reg byte a [ line::plot2_$2 ]
|
||||
zp[2]:43 [ line::plot2_column#0 memcpy::src_end#0 ]
|
||||
zp[1]:45 [ line::plot2_$1 ]
|
||||
reg byte a [ line::plot3_$0 ]
|
||||
reg byte a [ line::plot3_$2 ]
|
||||
zp[2]:46 [ line::plot3_column#0 strupr::src#2 strupr::src#1 cputs::s#4 cputs::s#5 cputs::s#0 ]
|
||||
zp[1]:48 [ line::plot3_$1 ]
|
||||
reg byte a [ line::plot4_$0 ]
|
||||
reg byte a [ line::plot4_$2 ]
|
||||
zp[2]:49 [ line::plot4_column#0 uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 memset::str#7 memset::dst#2 memset::dst#4 memset::dst#1 ]
|
||||
reg byte a [ line::plot4_$1 ]
|
||||
reg byte a [ sgn_u8::$0 ]
|
||||
reg byte a [ abs_u8::$0 ]
|
||||
reg byte x [ abs_u8::$0 ]
|
||||
reg byte a [ kbhit::return#2 ]
|
||||
reg byte a [ irq_bottom_2::$0 ]
|
||||
reg byte a [ kbhit::return#0 ]
|
||||
|
Loading…
Reference in New Issue
Block a user