Mercurial > repos > simple16
comparison src/asm.c @ 57:c44170825b16
Implement lsli and lsri in assembler
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 01 Sep 2016 21:52:48 -0700 |
parents | f9846719aa26 |
children | bed2d84eeabe |
comparison
equal
deleted
inserted
replaced
56:fa9cf7108ab7 | 57:c44170825b16 |
---|---|
118 ret.immed_max = 15; | 118 ret.immed_max = 15; |
119 } | 119 } |
120 } else { | 120 } else { |
121 ret.immed_min = ret.immed_max = 0; | 121 ret.immed_min = ret.immed_max = 0; |
122 } | 122 } |
123 return ret; | |
124 } | |
125 if (!strcmp("lsli", mnemonic) || !strcmp("lsri", mnemonic)) { | |
126 ret.base = LSI << 4 | SINGLE_SOURCE; | |
127 if (mnemonic[2] == 'r') { | |
128 ret.base |= 0x800; | |
129 } | |
130 ret.immed_min = 1; | |
131 ret.immed_max = 8; | |
132 ret.first_shift = 8; | |
133 ret.second_shift = 12; | |
134 ret.expected_args = 2; | |
123 return ret; | 135 return ret; |
124 } | 136 } |
125 index = find_string_arr(mnemonics_single_reg, mnemonic, SETVBR+1); | 137 index = find_string_arr(mnemonics_single_reg, mnemonic, SETVBR+1); |
126 if (index > SETVBR) { | 138 if (index > SETVBR) { |
127 ret.base = 0xFFFF; | 139 ret.base = 0xFFFF; |