User:Ashmanskas/p364/asm.v

From LaPET electronics

Jump to: navigation, search

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
Personal tools