| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // package asm_reg -- ассемблерный регистр общего назначения ЦП
- package asm_reg
- type AsmReg struct {
- val int32
- isTest bool
- }
- // NewAsmReg -- возвращает регистр нового назначения ЦП
- func NewAsmReg() *AsmReg {
- sf := &AsmReg{}
- return sf
- }
- // Sub -- добавляет число к регистру
- func (sf *AsmReg) Sub(val int32) {
- sf.val -= val
- }
- // Add -- добавляет число к регистру
- func (sf *AsmReg) Add(val int32) {
- sf.val += val
- }
- // Dec -- декрементирует регистр
- func (sf *AsmReg) Dec() {
- sf.val--
- }
- // Inc -- инкрементирует регистр
- func (sf *AsmReg) Inc() {
- sf.val++
- }
- // Set -- устанавливает значение регистра
- func (sf *AsmReg) Set(val int32) {
- sf.val = val
- }
- // Get -- возвращает хранимое значение регистра
- func (sf *AsmReg) Get() int32 {
- return sf.val
- }
- // TestGet -- возвращает результат теста
- func (sf *AsmReg) TestGet() bool {
- return sf.isTest
- }
- // TestSet -- устанавливает результат теста
- func (sf *AsmReg) TestSet() {
- sf.isTest = true
- }
- // TestReset -- сбрасывает результат теста
- func (sf *AsmReg) TestReset() {
- sf.isTest = false
- }
|