Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ADDRESS 000
- CONSTANT LCD_DATA, 80
- CONSTANT LCD_COM, 81
- CONSTANT LED_PORT, 40
- LOAD s0,08
- OUTPUT s0, LED_PORT
- loop: LOAD s0, ROT_CENTER
- COMPARE s0, 0
- JUMP Z, loop
- LOAD s2, SW
- second: LOAD s0, ROT_CENTER
- COMPARE s0, 0
- JUMP Z, second
- LOAD s3, SW
- operator LOAD s4, BTN_NORTH
- COMPARE s4, 0
- JUMP NZ, mult
- LOAD s4, BTN_SOUTH
- COMPARE s4, 0
- JUMP NZ, addit
- LOAD s4, BTN_WEST
- COMPARE s4, 0
- JUMP NZ, subtr
- JUMP operator
- mult: LOAD s0, s2
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_mul
- CALL LCD_WRITE
- LOAD s0, s3
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_equals
- CALL LCD_WRITE
- SUB s2, 30
- SUB s3, 30
- LOAD s5, 0
- CMP s2, 0
- JMP Z, break
- PONOVI ADD s5, s3
- SUB s2, 1
- JUMP Z, break
- JUMP PONOVI
- break ADD s5, 30
- LOAD s0, s5
- CALL LCD_WRITE
- addit: LOAD s0, s2
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_plus
- CALL LCD_WRITE
- LOAD s0, s3
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_equals
- CALL LCD_WRITE
- ADD s2, s3
- ADD s2, 30
- LOAD s0, s2
- CALL LCD_WRITE
- JUMP loop
- subtr: LOAD s0, s2
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_minus
- CALL LCD_WRITE
- LOAD s0, s3
- ADD s0, 30
- CALL LCD_WRITE
- LOAD s0, chr_equals
- CALL LCD_WRITE
- COMPARE s2, s3
- JUMP C, negativan
- SUB s2, s3
- LOAD s0, s2
- ADD s0, 30
- CALL LCD_WRITE
- JUMP loop
- negativan: LOAD s0, chr_minus
- CALL LCD_WRITE
- SUB s3, s2
- LOAD s0, s3
- ADD s0, 30
- CALL LCD_WRITE
- JUMP loop
- LCD_WRITE:
- INPUT s1, LCD_DATA
- COMPARE s1,01
- JUMP Z,LCD_WRITE
- OUTPUT s0, LCD_DATA
- RETURN
- LCD_COMMAND:
- INPUT s1, LCD_DATA
- COMPARE s1,01
- JUMP Z,LCD_COMMAND
- OUTPUT s0, LCD_COM
- RETURN
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ;ASCII table
- ;
- CONSTANT chr_a, 61
- CONSTANT chr_b, 62
- CONSTANT chr_c, 63
- CONSTANT chr_d, 64
- CONSTANT chr_e, 65
- CONSTANT chr_f, 66
- CONSTANT chr_g, 67
- CONSTANT chr_h, 68
- CONSTANT chr_i, 69
- CONSTANT chr_j, 6A
- CONSTANT chr_k, 6B
- CONSTANT chr_l, 6C
- CONSTANT chr_m, 6D
- CONSTANT chr_n, 6E
- CONSTANT chr_o, 6F
- CONSTANT chr_p, 70
- CONSTANT chr_q, 71
- CONSTANT chr_r, 72
- CONSTANT chr_s, 73
- CONSTANT chr_t, 74
- CONSTANT chr_u, 75
- CONSTANT chr_v, 76
- CONSTANT chr_w, 77
- CONSTANT chr_x, 78
- CONSTANT chr_y, 79
- CONSTANT chr_z, 7A
- CONSTANT chr_A, 41
- CONSTANT chr_B, 42
- CONSTANT chr_C, 43
- CONSTANT chr_D, 44
- CONSTANT chr_E, 45
- CONSTANT chr_F, 46
- CONSTANT chr_G, 47
- CONSTANT chr_H, 48
- CONSTANT chr_I, 49
- CONSTANT chr_J, 4A
- CONSTANT chr_K, 4B
- CONSTANT chr_L, 4C
- CONSTANT chr_M, 4D
- CONSTANT chr_N, 4E
- CONSTANT chr_O, 4F
- CONSTANT chr_P, 50
- CONSTANT chr_Q, 51
- CONSTANT chr_R, 52
- CONSTANT chr_S, 53
- CONSTANT chr_T, 54
- CONSTANT chr_U, 55
- CONSTANT chr_V, 56
- CONSTANT chr_W, 57
- CONSTANT chr_X, 58
- CONSTANT chr_Y, 59
- CONSTANT chr_Z, 5A
- CONSTANT chr_0, 30
- CONSTANT chr_1, 31
- CONSTANT chr_2, 32
- CONSTANT chr_3, 33
- CONSTANT chr_4, 34
- CONSTANT chr_5, 35
- CONSTANT chr_6, 36
- CONSTANT chr_7, 37
- CONSTANT chr_8, 38
- CONSTANT chr_9, 39
- CONSTANT chr_colon, 3A
- CONSTANT chr_semi_colon, 3B
- CONSTANT chr_less_than, 3C
- CONSTANT chr_greater_than, 3E
- CONSTANT chr_equals, 3D
- CONSTANT chr_space, 20
- CONSTANT chr_CR, 0D ;carriage return
- CONSTANT chr_question, 3F ;'?'
- CONSTANT chr_dollar, 24
- CONSTANT chr_BS, 08 ;Back Space command chr
- CONSTANT chr_plus, 2B ; znak za zbrajanje
- CONSTANT chr_minus, 2D ; znak za oduzimanje
- CONSTANT chr_mul, 2A ; znak za mnozenje
- CONSTANT clrdisp, 01 ; za slanje komande na LCD za ciscenje
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement