User:Ashmanskas/p364/asm.v
From LaPET electronics
< User:Ashmanskas | p364
asm.v
mem['h00] = 'h005c; // start: load one
mem['h01] = 'h015d; // store i
mem['h02] = 'h005d; // iloop: load i
mem['h03] = 'h055c; // add one
mem['h04] = 'h015d; // store i
mem['h05] = 'h045a; // jumpn done
mem['h06] = 'h005b; // load zero
mem['h07] = 'h015e; // store j
mem['h08] = 'h005e; // jloop: load j
mem['h09] = 'h055c; // add one
mem['h0a] = 'h015e; // store j
mem['h0b] = 'h005d; // load i
mem['h0c] = 'h065e; // sub j
mem['h0d] = 'h031c; // jumpz jdone
mem['h0e] = 'h005b; // load zero
mem['h0f] = 'h015f; // store k
mem['h10] = 'h005f; // kloop: load k
mem['h11] = 'h055c; // add one
mem['h12] = 'h015f; // store k
mem['h13] = 'h065d; // sub i
mem['h14] = 'h0308; // jumpz jloop
mem['h15] = 'h005e; // load j
mem['h16] = 'h075f; // mul k
mem['h17] = 'h0160; // store prod
mem['h18] = 'h065d; // sub i
mem['h19] = 'h0302; // jumpz iloop
mem['h1a] = 'h0410; // jumpn kloop
mem['h1b] = 'h0208; // jump jloop
mem['h1c] = 'h005b; // jdone: load zero
mem['h1d] = 'h0161; // store outnum
mem['h1e] = 'h005d; // load i
mem['h1f] = 'h0162; // store remain
mem['h20] = 'h0667; // sub d10000
mem['h21] = 'h0423; // jumpn thsnds
mem['h22] = 'h025a; // jump done
mem['h23] = 'h005b; // thsnds: load zero
mem['h24] = 'h0163; // store hdigit
mem['h25] = 'h0062; // nx1000: load remain
mem['h26] = 'h0668; // sub d1000
mem['h27] = 'h042d; // jumpn hndrds
mem['h28] = 'h0162; // store remain
mem['h29] = 'h0063; // load hdigit
mem['h2a] = 'h0564; // add h1000
mem['h2b] = 'h0163; // store hdigit
mem['h2c] = 'h0225; // jump nx1000
mem['h2d] = 'h0063; // hndrds: load hdigit
mem['h2e] = 'h0561; // add outnum
mem['h2f] = 'h0161; // store outnum
mem['h30] = 'h005b; // load zero
mem['h31] = 'h0163; // store hdigit
mem['h32] = 'h0062; // nxt100: load remain
mem['h33] = 'h0669; // sub d100
mem['h34] = 'h043a; // jumpn tens
mem['h35] = 'h0162; // store remain
mem['h36] = 'h0063; // load hdigit
mem['h37] = 'h0565; // add h100
mem['h38] = 'h0163; // store hdigit
mem['h39] = 'h0232; // jump nxt100
mem['h3a] = 'h0063; // tens: load hdigit
mem['h3b] = 'h0561; // add outnum
mem['h3c] = 'h0161; // store outnum
mem['h3d] = 'h005b; // load zero
mem['h3e] = 'h0163; // store hdigit
mem['h3f] = 'h0062; // nxt10: load remain
mem['h40] = 'h066a; // sub d10
mem['h41] = 'h0447; // jumpn ones
mem['h42] = 'h0162; // store remain
mem['h43] = 'h0063; // load hdigit
mem['h44] = 'h0566; // add h10
mem['h45] = 'h0163; // store hdigit
mem['h46] = 'h023f; // jump nxt10
mem['h47] = 'h0063; // ones: load hdigit
mem['h48] = 'h0561; // add outnum
mem['h49] = 'h0562; // add remain
mem['h4a] = 'h0161; // store outnum
mem['h4b] = 'h0800; // out
mem['h4c] = 'h005b; // load zero
mem['h4d] = 'h065c; // sub one
mem['h4e] = 'h015e; // store j
mem['h4f] = 'h005e; // jdelay: load j
mem['h50] = 'h065c; // sub one
mem['h51] = 'h015e; // store j
mem['h52] = 'h0302; // jumpz iloop
mem['h53] = 'h006a; // load d10
mem['h54] = 'h015f; // store k
mem['h55] = 'h005f; // kdelay: load k
mem['h56] = 'h065c; // sub one
mem['h57] = 'h015f; // store k
mem['h58] = 'h034f; // jumpz jdelay
mem['h59] = 'h0255; // jump kdelay
mem['h5a] = 'h0200; // done: jump start
mem['h5b] = 'h0000; // zero: .data 0
mem['h5c] = 'h0001; // one: .data 1
mem['h5d] = 'h0000; // i: .data 0
mem['h5e] = 'h0000; // j: .data 0
mem['h5f] = 'h0000; // k: .data 0
mem['h60] = 'h0000; // prod: .data 0
mem['h61] = 'h0000; // outnum: .data 0
mem['h62] = 'h0000; // remain: .data 0
mem['h63] = 'h0000; // hdigit: .data 0
mem['h64] = 'h1000; // h1000: .data 1000
mem['h65] = 'h0100; // h100: .data 100
mem['h66] = 'h0010; // h10: .data 10
mem['h67] = 'h2710; // d10000: .data 2710
mem['h68] = 'h03e8; // d1000: .data 3e8
mem['h69] = 'h0064; // d100: .data 64
mem['h6a] = 'h000a; // d10: .data a
