DEPTH = 256; WIDTH = 20; ADDRESS_RADIX = HEX; DATA_RADIX = BIN; CONTENT BEGIN --xOOOOOAAABBBLLLLLLLL 00: 00000001100000000010; --LOAD REG3 2 01: 00000010000000000100; --LOAD REG4 4 02: 00000010100011111101; --LOAD REG5 -3 03: 00000011000000000001; --LOAD REG6 1 04: 00101101110000000000; --ADD REG3 REG4 05: 00101101110100000000; --ADD REG3 REG5 06: 00101101111000000000; --ADD REG3 REG6 07: 00000010000000000000; --LOAD REG4 0 //Register A for Division; Q is REG3 08: 00000010100000000100; --LOAD REG5 4 //Register M = 4 09: 00000011000000001000; --LOAD REG6 8 //Count Register = 8 0A: 00000101101100000000; --MOVE REG3 REG3 // Set negative flag 0B: 01010001000000000100; --BRN 4 //If negative, add one to A after shift 0C: 00010101101100000000; --SLL REG3 0D: 00010110010000000000; --SLL REG4 0E: 00001000100000010010; --BRA 0x12 0F: 00010101101100000000; --SLL REG3 10: 00010110010000000000; --SLL REG4 11: 00010010010000000000; --INC REG4 12: 00000111110100000000; --MOVE REG5 REG7 //For subtraction 13: 00001111111100000000; --COMP REG7 14: 00101110011100000000; --ADD REG4 REG7 15: 00101000100000000111; --BRN 7 16: 00000111100000000001; --LOAD REG7 1 //To test Q0 17: 00110111101100000000; --AND REG7 REG3 18: 00100100100000000010; --BRN 2 19: 00001000100000011011; --BRA 0x1B 1A: 00010001101100000000; --INC REG3 1B: 00001000100000100001; --BRA 0x21 1C: 00000111100000000001; --LOAD REG7 1 //To test Q0 1D: 00110111101100000000; --AND REG7 REG3 1E: 00101000100000000010; --BRZ 2 1F: 00110001101100000000; --DEC REG3 20: 00101110010100000000; --ADD REG4 REG5 21: 00110011011000000000; --DEC REG6 22: 00100100100000000010; --BRZ 2 23: 00001000100000001010; --BRA 0x0A 24: 00000111101100000000; --MOVE REG3 REG7 [25 .. FF]: 0; END;