//line a.y:303
{
yyVAL.addr2.from = yyDollar[1].addr
- yyVAL.addr2.to = yyDollar[3].addr
+ yyVAL.addr2.from3 = yyDollar[3].addr
+ yyVAL.addr2.to.Type = obj.TYPE_MEM // to give library something to do
yyVAL.addr2.to.Offset = yyDollar[5].lval
}
case 58:
yyDollar = yyS[yypt-5 : yypt+1]
- //line a.y:311
+ //line a.y:312
{
yyVAL.addr2.from = yyDollar[1].addr
yyVAL.addr2.from3 = yyDollar[3].addr
}
case 59:
yyDollar = yyS[yypt-0 : yypt+1]
- //line a.y:318
+ //line a.y:319
{
yyVAL.addr2.from = nullgen
yyVAL.addr2.to = nullgen
}
case 60:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:323
+ //line a.y:324
{
yyVAL.addr2.from = yyDollar[1].addr
yyVAL.addr2.to = nullgen
}
case 61:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:330
+ //line a.y:331
{
if yyDollar[1].addr.Type != obj.TYPE_CONST || yyDollar[3].addr.Type != obj.TYPE_CONST {
yyerror("arguments to asm.PCDATA must be integer constants")
}
case 62:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:340
+ //line a.y:341
{
if yyDollar[1].addr.Type != obj.TYPE_CONST {
yyerror("index for FUNCDATA must be integer constant")
yyVAL.addr = yyS[yypt-0].addr
case 67:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:359
+ //line a.y:360
{
yyVAL.addr = yyDollar[2].addr
}
case 68:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:363
+ //line a.y:364
{
yyVAL.addr = yyDollar[2].addr
}
yyVAL.addr = yyS[yypt-0].addr
case 73:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:375
+ //line a.y:376
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_BRANCH
}
case 74:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:381
+ //line a.y:382
{
yyDollar[1].sym = asm.LabelLookup(yyDollar[1].sym)
yyVAL.addr = nullgen
}
case 75:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:393
+ //line a.y:394
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 76:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:399
+ //line a.y:400
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 77:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:405
+ //line a.y:406
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 78:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:411
+ //line a.y:412
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 79:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:417
+ //line a.y:418
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 80:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:423
+ //line a.y:424
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 81:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:429
+ //line a.y:430
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_REG
}
case 82:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:437
+ //line a.y:438
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_CONST
}
case 83:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:443
+ //line a.y:444
{
yyVAL.addr = yyDollar[2].addr
yyVAL.addr.Type = obj.TYPE_ADDR
}
case 84:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:452
+ //line a.y:453
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_SCONST
}
case 85:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:458
+ //line a.y:459
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
}
case 86:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:464
+ //line a.y:465
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
}
case 87:
yyDollar = yyS[yypt-5 : yypt+1]
- //line a.y:470
+ //line a.y:471
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
}
case 88:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:476
+ //line a.y:477
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_FCONST
yyVAL.addr = yyS[yypt-0].addr
case 91:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:488
+ //line a.y:489
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 92:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:494
+ //line a.y:495
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 93:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:501
+ //line a.y:502
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 94:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:508
+ //line a.y:509
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 95:
yyDollar = yyS[yypt-6 : yypt+1]
- //line a.y:515
+ //line a.y:516
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 96:
yyDollar = yyS[yypt-9 : yypt+1]
- //line a.y:524
+ //line a.y:525
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 97:
yyDollar = yyS[yypt-9 : yypt+1]
- //line a.y:534
+ //line a.y:535
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 98:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:544
+ //line a.y:545
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 99:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:550
+ //line a.y:551
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 100:
yyDollar = yyS[yypt-5 : yypt+1]
- //line a.y:556
+ //line a.y:557
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 101:
yyDollar = yyS[yypt-8 : yypt+1]
- //line a.y:564
+ //line a.y:565
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 102:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:575
+ //line a.y:576
{
yyVAL.addr = yyDollar[1].addr
}
case 103:
yyDollar = yyS[yypt-6 : yypt+1]
- //line a.y:579
+ //line a.y:580
{
yyVAL.addr = yyDollar[1].addr
yyVAL.addr.Index = int16(yyDollar[3].lval)
}
case 104:
yyDollar = yyS[yypt-5 : yypt+1]
- //line a.y:588
+ //line a.y:589
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 105:
yyDollar = yyS[yypt-7 : yypt+1]
- //line a.y:596
+ //line a.y:597
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_MEM
}
case 106:
yyDollar = yyS[yypt-0 : yypt+1]
- //line a.y:605
+ //line a.y:606
{
yyVAL.lval = 0
}
case 107:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:609
+ //line a.y:610
{
yyVAL.lval = yyDollar[2].lval
}
case 108:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:613
+ //line a.y:614
{
yyVAL.lval = -yyDollar[2].lval
}
yyVAL.lval = yyS[yypt-0].lval
case 110:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:620
+ //line a.y:621
{
yyVAL.lval = obj.NAME_AUTO
}
yyVAL.lval = yyS[yypt-0].lval
case 113:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:628
+ //line a.y:629
{
yyVAL.lval = yyDollar[1].sym.Value
}
case 114:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:632
+ //line a.y:633
{
yyVAL.lval = -yyDollar[2].lval
}
case 115:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:636
+ //line a.y:637
{
yyVAL.lval = yyDollar[2].lval
}
case 116:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:640
+ //line a.y:641
{
yyVAL.lval = ^yyDollar[2].lval
}
case 117:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:644
+ //line a.y:645
{
yyVAL.lval = yyDollar[2].lval
}
case 118:
yyDollar = yyS[yypt-1 : yypt+1]
- //line a.y:650
+ //line a.y:651
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
}
case 119:
yyDollar = yyS[yypt-2 : yypt+1]
- //line a.y:657
+ //line a.y:658
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
}
case 120:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:664
+ //line a.y:665
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
}
case 121:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:671
+ //line a.y:672
{
yyVAL.addr = nullgen
yyVAL.addr.Type = obj.TYPE_TEXTSIZE
yyVAL.lval = yyS[yypt-0].lval
case 123:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:681
+ //line a.y:682
{
yyVAL.lval = yyDollar[1].lval + yyDollar[3].lval
}
case 124:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:685
+ //line a.y:686
{
yyVAL.lval = yyDollar[1].lval - yyDollar[3].lval
}
case 125:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:689
+ //line a.y:690
{
yyVAL.lval = yyDollar[1].lval * yyDollar[3].lval
}
case 126:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:693
+ //line a.y:694
{
yyVAL.lval = yyDollar[1].lval / yyDollar[3].lval
}
case 127:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:697
+ //line a.y:698
{
yyVAL.lval = yyDollar[1].lval % yyDollar[3].lval
}
case 128:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:701
+ //line a.y:702
{
yyVAL.lval = yyDollar[1].lval << uint(yyDollar[4].lval)
}
case 129:
yyDollar = yyS[yypt-4 : yypt+1]
- //line a.y:705
+ //line a.y:706
{
yyVAL.lval = yyDollar[1].lval >> uint(yyDollar[4].lval)
}
case 130:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:709
+ //line a.y:710
{
yyVAL.lval = yyDollar[1].lval & yyDollar[3].lval
}
case 131:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:713
+ //line a.y:714
{
yyVAL.lval = yyDollar[1].lval ^ yyDollar[3].lval
}
case 132:
yyDollar = yyS[yypt-3 : yypt+1]
- //line a.y:717
+ //line a.y:718
{
yyVAL.lval = yyDollar[1].lval | yyDollar[3].lval
}