Advertisement
Guest User

niggers

a guest
Jun 4th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 15.33 KB | None | 0 0
  1. .section    .init
  2. .globl      _start
  3.  
  4. _start:
  5.  
  6.     b       main
  7.  
  8. .section    .text
  9.  
  10. main:
  11.  
  12.     mov     sp, #0x8000                     // SP
  13.     bl      EnableJTAG                      // JTAG
  14.     bl      InitUART                          // UART
  15.  
  16.  
  17.     ldr     r0, =creator                    // Chris, Jas, Alvin
  18.     mov     r1, #54                           // Allocates bytes
  19.     bl      WriteStringUART               // Call print
  20.  
  21.     mov r7, #0
  22.  
  23. parkingPrompt:
  24.  
  25.     mov r4, #0
  26.     mov r9, #0
  27.     mov r10, #0
  28.     mov r11, #0
  29.     mov r3, #0
  30.  
  31.     ldr     r0, =prompt                    // Asks user for hours
  32.     mov     r1, #96                          // Allocates bytes
  33.     bl      WriteStringUART              // Call Print
  34.  
  35.     ldr     r0, =userInput             // Buffer for user input
  36.     mov     r1, #256
  37.     bl      ReadLineUART                   // Input in r0
  38.  
  39.  
  40.     // Compare bits //
  41.  
  42.     cmp     r0, #1                           // Checks if user input == 1 byte
  43.     blt     printInputError              // Input < 1
  44.     beq     firstDigit                     // Go to first digit
  45.  
  46.     cmp     r0, #2                           // Checks if user input == 2 bytes
  47.     beq     secondDigit                    // Go to second digit
  48.  
  49.     cmp     r0, #3                         // Checks if user input == 3 bytes
  50.     beq     thirdDigit                     // Go to third digit
  51.  
  52.     cmp     r0, #4                           // Checks if user input == 4 bytes
  53.     beq     fourthDigit                    // Go to fourth digit
  54.  
  55.     cmp     r0, #5                           // Checks if user input == 5 bytes
  56.     bge     printBoundError              // Out of bound error
  57.  
  58.  
  59.  
  60. printInputError:
  61.  
  62.     ldr     r0, =inputError              // Error message for invalid characters
  63.     mov     r1, #77                          // Allocates bytes
  64.     bl      WriteStringUART              // Prints
  65.  
  66.   b parkingPrompt
  67.  
  68.  
  69.  
  70. printBoundError:
  71.  
  72.     ldr     r0, =boundError              // Error message for out of bound integers
  73.     mov     r1, #51                          // Allocates bytes
  74.     bl      WriteStringUART              // Prints
  75.  
  76.   b parkingPrompt
  77.  
  78.  
  79.  
  80. firstDigit:
  81.  
  82.   ldr r0, =userInput              // Address of Buffer
  83.   ldrb r1, [r0]                     // Loading the first character
  84.  
  85.   cmp r1, #81                   // Compares the one digit to ASCII value for q
  86.   beq ExitProgram
  87.  
  88.   cmp r1, #113                  // Compares the one digit to ASCII value for Q
  89.   beq ExitProgram
  90.  
  91.   cmp r1, #49                   // Compares r1 to 1
  92.   blt printInputError
  93.  
  94.   cmp r1, #57                  // Compares r1 to 9
  95.   bgt printInputError
  96.  
  97.   b storeOneNumber
  98.  
  99.  
  100.  
  101. secondDigit:
  102.  
  103.     ldr r0, =userInput
  104.     ldrb r1, [r0, #0]
  105.  
  106.     cmp r1, #45
  107.     beq checkNextDigit
  108.  
  109.     ldr r0, =userInput                  // Address of the buffer
  110.     ldrb r1, [r0, #1]                       // Loading the second character onto r1
  111.  
  112.     cmp r1, #57                                 // Comparing to see if the second digit is a ascii character greater than 9
  113.     bgt printInputError                 // Branch to an error message because this shows the byte was a non-number character
  114.  
  115.     cmp r1, #48                                 // Comparing to see if the second digit is a ascii character less than 0
  116.     blt printInputError                 // Branch to error message
  117.  
  118.     ldr r0, =userInput                  // Address of Buffer
  119.     ldrb r1, [r0, #0]                       // Loading the first character onto r1
  120.  
  121.     cmp r1, #48                                 // Compare to see if the input is a number and not other characters
  122.     blt printInputError
  123.  
  124.     cmp r1, #50                                 // Checking if the first character is greater than 2
  125.     bgt printInputError                 // Branch to error if it is greater than 2
  126.     beq twoDigitCheck                       // Branch to check if its less than 24
  127.  
  128.     b storeTwoNumber
  129.  
  130.  
  131. twoDigitCheck:
  132.  
  133.     ldr r0, =userInput
  134.     ldrb r1, [r0, #1]
  135.  
  136.     cmp r1, #52
  137.     bgt printInputError
  138.     b storeTwoNumber
  139.  
  140.  
  141. thirdDigit:
  142.     ldr r0, =userInput
  143.     ldrb r1, [r0, #1]
  144.  
  145.     cmp r1, #46
  146.     bne printInputError
  147.  
  148.     ldr r0, =userInput
  149.     ldrb r1, [r0, #0]
  150.  
  151.     cmp r1, #49                     // Compares r1 to 1
  152.   blt printInputError
  153.  
  154.   cmp r1, #57                  // Compares r1 to 9
  155.   bgt printInputError
  156.  
  157.     ldr r0, =userInput
  158.     ldrb r1, [r0, #3]
  159.  
  160.     cmp r1, #57
  161.     beq incrementTwoDigit
  162.  
  163.     cmp r1, #48
  164.     beq storeOneNumber
  165.  
  166.     b increment
  167.  
  168.  
  169.  
  170. fourthDigit:
  171.     ldr r0, =userInput
  172.     ldrb r1, [r0, #2]
  173.  
  174.     cmp r1, #46
  175.     bne printInputError
  176.  
  177.  
  178.     ldr r0, =userInput
  179.     ldrb r1, [r0, #1]
  180.  
  181.     cmp r1, #48                     // Compares r1 to 0
  182.     blt printInputError
  183.  
  184.     cmp r1, #57                     // Compares r1 to 9
  185.     bgt printInputError
  186.  
  187.  
  188.     ldr r0, =userInput
  189.     ldrb r1, [r0, #0]
  190.  
  191.     cmp r1, #49                     // Compares r1 to 1
  192.     blt printInputError
  193.  
  194.     cmp r1, #50                     // Compares r1 to 9
  195.     bgt printInputError
  196.     beq fourByteCheck
  197.  
  198.     ldr r0, =userInput
  199.     ldrb r1, [r0, #3]
  200.  
  201.     cmp r1, #48
  202.     beq storeTwoNumber
  203.     bgt incrementFourByte
  204.  
  205.  
  206. fourByteCheck:
  207.     ldr r0, =userInput
  208.     ldrb r1, [r0, #1]
  209.  
  210.     cmp r1, #52
  211.     bgt printInputError
  212.  
  213.  
  214.     ldr r0, =userInput
  215.     ldrb r1, [r0, #3]
  216.  
  217.     cmp r1, #48
  218.     beq storeTwoNumber
  219.     bgt incrementFourByte
  220.  
  221.  
  222. incrementFourByte:
  223.     ldr r0, =userInput
  224.     ldrb r1, [r0, #1]
  225.  
  226.     cmp r1, #57
  227.     beq doubleIncrement
  228.  
  229.     ldr r0, =userInput           // Loading Buffer
  230.     ldrb  r10, [r0, #1]           // Loading the byte onto r1
  231.  
  232.     sub r10, r10, #47              // Subtracting 47 to convert from ASCII to int that is being incremented
  233.  
  234.     ldr r0, =userInput        // Loading the integer buffer
  235.     ldrb r4, [r0, #0]            // Storing the integer byte onto r4
  236.  
  237.     sub r4, r4, #48
  238.  
  239.     b timesTen
  240.  
  241.  
  242. doubleIncrement:
  243.     mov r4, #20
  244.  
  245.     b calcTwoDigit
  246.  
  247.  
  248. increment:
  249.     ldr r0, =userInput           // Loading Buffer
  250.     ldrb  r1, [r0, #0]           // Loading the byte onto r1
  251.     ldr r0, =rawIntBuffer        // Loading the integer buffer
  252.     sub r1, r1, #47              // Subtracting 48 to convert from ASCII to int
  253.     strb r1, [r0, #0]            // Storing the integer byte onto r1
  254.  
  255.     b calcOneDigit
  256.  
  257. incrementTwoDigit:
  258.     mov r4, #10
  259.  
  260.     b calcTwoDigit
  261.  
  262. checkNextDigit:
  263.  
  264.     mov r4, #0
  265.  
  266.     ldr r0, =userInput
  267.     ldrb r1, [r0, #1]
  268.  
  269.     cmp r1, #49
  270.     beq people
  271.  
  272.     ldr r0, =userInput                  // Address of the buffer
  273.     ldrb r1, [r0, #1]                       // Loading the second character onto r1
  274.  
  275.     cmp r1, #57                                 // Comparing to see if the second digit is a ascii character greater than 9
  276.     bgt printInputError                 // Branch to an error message because this shows the byte was a non-number character
  277.  
  278.     cmp r1, #48                                 // Comparing to see if the second digit is a ascii character less than 0
  279.     blt printInputError                 // Branch to error message
  280.  
  281.     ldr r0, =userInput                  // Address of Buffer
  282.     ldrb r1, [r0, #0]                       // Loading the first character onto r1
  283.  
  284.     cmp r1, #48                                 // Compare to see if the input is a number and not other characters
  285.     blt printInputError
  286.  
  287.     cmp r1, #50                                 // Checking if the first character is greater than 2
  288.     bgt printInputError                 // Branch to error if it is greater than 2
  289.     beq twoDigitCheck                       // Branch to check if its less than 24
  290.  
  291.     b storeTwoNumber
  292.  
  293.  
  294.  
  295. storeOneNumber:
  296.  
  297.   ldr r0, =userInput           // Loading Buffer
  298.   ldrb  r1, [r0, #0]           // Loading the byte onto r1
  299.   ldr r0, =rawIntBuffer        // Loading the integer buffer
  300.   sub r1, r1, #48              // Subtracting 48 to convert from ASCII to int
  301.   strb r1, [r0, #0]            // Storing the integer byte onto r1
  302.  
  303.   b calcOneDigit
  304.  
  305.  
  306. storeTwoNumber:
  307.  
  308.     ldr r0, =userInput
  309.     ldrb r4, [r0, #0]
  310.  
  311.     sub r4, r4, #48
  312.  
  313.     ldr r0, =userInput
  314.     ldrb r10, [r0, #1]
  315.  
  316.     sub r10, r10, #48
  317.  
  318.     b timesTen
  319.  
  320.  
  321. calcOneDigit:
  322.  
  323.   ldr r0, =rawIntBuffer        // Loading the int onto the r0
  324.   ldrb r4, [r0, #0]            // Loading the first byte
  325.  
  326.   cmp r4, r5                   // Comparing if my value is lower than the current min
  327.   blt setMin
  328.  
  329.   cmp r4, r6                   // Comparing if my value is higher than the current max
  330.   bgt setMax
  331.  
  332.   b continue
  333.  
  334.  
  335. calcTwoDigit:
  336.  
  337.     cmp r4, r5                   // Comparing if my value is lower than the current min
  338.     blt setMin
  339.  
  340.     cmp r4, r6                   // Comparing if my value is higher than the current max
  341.     bgt setMax
  342.  
  343.     b continue
  344.  
  345. continue:
  346.     add r12, r12, r4
  347.  
  348.   cmp r4, #2                  // Comparing to see if it less than or equal to two
  349.   ble twoHourParking
  350.  
  351.   cmp r4, #20                 // Comparing to see if it is more than the max parking amount
  352.   bgt maxParking
  353.  
  354.  
  355.   sub r3, r4, #2                  // Subtracting 2 from the total number of hours parked to calculate price
  356.  
  357.   mov r4, #0                  // Setting the incremental counter back to 0
  358.     mov r9, #0
  359.  
  360.   b calcAfterDecSet
  361.  
  362.  
  363. calcBefore:
  364.     add r4, r4, #1                          // Incrementing the counter
  365.     add r11, r11, #1                        // Adding 1 to the before the decimal value each iteration
  366.  
  367.     b calcBeforeDecSet
  368.  
  369.  
  370.  
  371. calcAfter:
  372.     add r4, r4, #1                          // Incrementing the counter
  373.     add r9, r9, #5                          // Adding 5 to r9 each iteration
  374.  
  375.     b calcAfterDecSet
  376.  
  377.  
  378.  
  379. calcAfterDecSet:
  380.     cmp r3, r4                                  // Comparing the number of hours - 2 and the counter
  381.     bgt calcAfter
  382.  
  383.     mov r4, #0                                  // Resetting the counter to 0
  384.  
  385.     cmp r9, #5                                  // Checking to see if r9 is not equal to 5
  386.     bne split
  387.  
  388.     b calcBeforeDecSet
  389.  
  390.  
  391. calcBeforeDecSet:
  392.   cmp r3, r4                                    // Comparing the number of hours - 2 and the counter
  393.     bgt calcBefore
  394.  
  395.     mov r4, #0                                  // Resetting the counter to 0
  396.  
  397.     add r11, r11, #5                            // Adding $5 for the first two hours of parking
  398.  
  399.     mov r10, #0
  400.     cmp r11, #9                                 // Comparing r11 and 9
  401.     bgt splitBeforeDigit
  402.  
  403.     b   printPrice
  404.  
  405.  
  406. setMin:
  407.   mov r5, r4                                    // Setting the min register to the current min
  408.  
  409.     cmp r4, r6                                  // Comparing the current amount of hours and the previous max
  410.     bgt setMax
  411.  
  412.     b continue
  413.  
  414. setMax:
  415.   mov r6, r4                 // Setting the max register to the current max
  416.   b continue
  417.  
  418. maxParking:
  419.   add r8, r8, r1                        // Incrementing the total amount of money made
  420.   add r7, r7, #1                        // Incrementing the total number of people
  421.  
  422.     ldr r0, =dollar
  423.     mov r1, #1
  424.     bl WriteStringUART
  425.  
  426.     mov r4, #51
  427.     ldr r0, =printValue
  428.     strb r4, [r0]
  429.     ldr r0, =printValue
  430.     mov r1, #1
  431.     bl WriteStringUART
  432.  
  433.     mov r4, #51
  434.     ldr r0, =printValue
  435.     strb r4, [r0]
  436.     ldr r0, =printValue
  437.     mov r1, #1
  438.     bl WriteStringUART
  439.  
  440.     b parkingPrompt
  441.  
  442.  
  443.  
  444. twoHourParking:
  445.  
  446.   ldr r0, =rawIntBuffer
  447.   mov r1, #5
  448.  
  449.   add r8, r8, r1          // Incrementing the total amount spend counter
  450.  
  451.   add r1, r1, #48
  452.   strb r1, [r0]
  453.   mov r1, #33
  454.   strb r1, [r0, #1]
  455.  
  456.   b printOneD
  457.  
  458. splitPeople:
  459.     sub r7, r7, #10
  460.     add r4, r4, #1
  461.  
  462. people:
  463.     cmp r7, #9
  464.     bgt splitPeople
  465.  
  466.     ldr r0, =customers
  467.     mov r1, #29
  468.     bl WriteStringUART
  469.  
  470.  
  471.     add r4, r4, #48
  472.     ldr r0, =printValue
  473.     strb r4, [r0, #0]
  474.     ldr r0, =printValue
  475.     mov r1, #1
  476.     bl WriteStringUART
  477.  
  478.     sub r4, r4, #48
  479.  
  480.     add r7, r7, #48
  481.     ldr r0, =printValue
  482.     strb r7, [r0, #0]
  483.     ldr r0, =printValue
  484.     mov r1, #1
  485.     bl WriteStringUART
  486.  
  487.     sub r7, r7, #48
  488.  
  489.     b resetPeople
  490.  
  491. resetPeople:
  492.     mov r2, #0
  493.     add r2, r4, r4
  494.     add r2, r2, r2
  495.     add r2, r2, r2
  496.     add r2, r2, r4
  497.     add r4, r2, r4
  498.     mov r2, #0
  499.  
  500.     add r7, r7, r4
  501.     mov r4, #0
  502.  
  503.     b chargedPrint
  504.  
  505.  
  506. splitCharged:
  507.     sub r8, r8, #10
  508.     add r4, r4, #1
  509.  
  510. chargedPrint:
  511.  
  512.     cmp r8, #9
  513.     bgt splitCharged
  514.  
  515.     ldr r0, =charged
  516.     mov r1, #38
  517.     bl WriteStringUART
  518.  
  519.     ldr r0, =dollar
  520.     mov r1, #1
  521.     bl WriteStringUART
  522.  
  523.  
  524.     add r4, r4, #48
  525.     ldr r0, =printValue
  526.     strb r4, [r0, #0]
  527.     ldr r0, =printValue
  528.     mov r1, #1
  529.     bl WriteStringUART
  530.  
  531.     mov r4, #0
  532.  
  533.     add r8, r8, #48
  534.     ldr r0, =printValue
  535.     strb r8, [r0, #0]
  536.     ldr r0, =printValue
  537.     mov r1, #1
  538.     bl WriteStringUART
  539.  
  540.     sub r8, r8, #48
  541.  
  542.     ldr r0, =decimal
  543.     mov r1, #1
  544.     bl WriteStringUART
  545.  
  546.     b printMinimum
  547.  
  548.  
  549. splitMin:
  550.     sub r5, r5, #10
  551.     add r4, r4, #1
  552.  
  553.  
  554. printMinimum:
  555.     cmp r5, #9
  556.     bgt splitMin
  557.  
  558.     ldr r0, =minPrint
  559.     mov r1, #27
  560.     bl WriteStringUART
  561.  
  562.  
  563.     add r4, r4, #48
  564.     ldr r0, =printValue
  565.     strb r4, [r0, #0]
  566.     ldr r0, =printValue
  567.     mov r1, #1
  568.     bl WriteStringUART
  569.  
  570.     sub r4, r4, #48
  571.  
  572.     add r5, r5, #48
  573.     ldr r0, =printValue
  574.     strb r5, [r0, #0]
  575.     ldr r0, =printValue
  576.     mov r1, #1
  577.     bl WriteStringUART
  578.  
  579.     sub r5, r5, #48
  580.  
  581.     b resetMin
  582.  
  583. resetMin:
  584.     mov r2, #0
  585.     add r2, r4, r4
  586.     add r2, r2, r2
  587.     add r2, r2, r2
  588.     add r2, r2, r4
  589.     add r4, r2, r4
  590.     mov r2, #0
  591.  
  592.     add r5, r5, r4
  593.  
  594.     mov r4, #0
  595.  
  596.     b printMaximum
  597.  
  598.  
  599. splitMax:
  600.     sub r6, r6, #10
  601.     add r4, r4, #1
  602.  
  603.  
  604. printMaximum:
  605.     cmp r6, #9
  606.     bgt splitMax
  607.  
  608.     ldr r0, =maxPrint
  609.     mov r1, #27
  610.     bl WriteStringUART
  611.  
  612.  
  613.     add r4, r4, #48
  614.     ldr r0, =printValue
  615.     strb r4, [r0, #0]
  616.     ldr r0, =printValue
  617.     mov r1, #1
  618.     bl WriteStringUART
  619.  
  620.     sub r4, r4, #48
  621.  
  622.     add r6, r6, #48
  623.     ldr r0, =printValue
  624.     strb r6, [r0, #0]
  625.     ldr r0, =printValue
  626.     mov r1, #1
  627.     bl WriteStringUART
  628.  
  629.     sub r6, r6, #48
  630.  
  631.     b resetMax
  632.  
  633. resetMax:
  634.     mov r2, #0
  635.     add r2, r4, r4
  636.     add r2, r2, r2
  637.     add r2, r2, r2
  638.     add r2, r2, r4
  639.     add r4, r2, r4
  640.     mov r2, #0
  641.  
  642.     add r6, r6, r4
  643.     mov r4, #0
  644.  
  645.     b setAverage
  646.  
  647. setAverage:
  648.  
  649.     ldr r0, =averagePrint
  650.     mov r1, #27
  651.     bl WriteStringUART
  652.  
  653.     udiv r2, r12, r7
  654.  
  655.     cmp r2, #9
  656.     bgt splitSetAverage
  657.  
  658.     b printAverage
  659.  
  660. splitAverage:
  661.     sub r2, r2, #10
  662.     add r4, r4, #1
  663.  
  664.  
  665. splitSetAverage:
  666.     cmp r2, #9
  667.     bgt splitAverage
  668.  
  669.     b printAverage
  670.  
  671. printAverage:
  672.  
  673.     add r4, r4, #48
  674.     ldr r0, =printValue
  675.     strb r4, [r0, #0]
  676.     ldr r0, =printValue
  677.     mov r1, #1
  678.     bl WriteStringUART
  679.  
  680.     add r2, r2, #48
  681.     ldr r0, =printValue
  682.     strb r2, [r0, #0]
  683.     ldr r0, =printValue
  684.     mov r1, #1
  685.     bl WriteStringUART
  686.  
  687.     mov r2, #0
  688.     mov r4, #0
  689.  
  690. timesTen:
  691.     mov r2, #0
  692.     add r2, r4, r4
  693.     add r2, r2, r2
  694.     add r2, r2, r2
  695.     add r2, r2, r4
  696.     add r4, r2, r4
  697.     mov r2, #0
  698.  
  699.     add r4, r4, r10
  700.  
  701.  
  702.     ldr r0, =rawIntBuffer
  703.     str r4, [r0]
  704.  
  705.     b calcTwoDigit
  706.  
  707. split:
  708.  
  709.     cmp r9, #10
  710.     bge subTen
  711.  
  712.     b calcBeforeDecSet
  713.  
  714. subTen:
  715.     sub r9, r9, #10
  716.     add r11, r11, #1
  717.     b   split
  718.  
  719. splitBefore:
  720.     sub r11, r11, #10
  721.     add r10, r10, #1
  722.     b   splitBeforeDigit
  723.  
  724.  
  725. splitBeforeDigit:
  726.     cmp r11, #10
  727.     bge splitBefore
  728.  
  729.     b printPrice
  730.  
  731.  
  732.  
  733. printPrice:
  734.  
  735.     ldr r0, =dollar
  736.     mov r1, #1
  737.     bl WriteStringUART
  738.  
  739.  
  740.     add r10, r10, #48
  741.     ldr r0, =printValue
  742.     strb r10, [r0, #0]
  743.     ldr r0, =printValue
  744.     mov r1, #1
  745.     bl WriteStringUART
  746.  
  747.     add r11, r11, #48
  748.     ldr r0, =printValue
  749.     strb r11, [r0, #0]
  750.     ldr r0, =printValue
  751.     mov r1, #1
  752.     bl WriteStringUART
  753.  
  754.     ldr r0, =decimal
  755.     mov r1, #1
  756.     bl WriteStringUART
  757.  
  758.     add r9, r9, #48
  759.     ldr r0, =printValue
  760.     strb r9, [r0, #0]
  761.     ldr r0, =printValue
  762.     mov r1, #1
  763.     bl WriteStringUART
  764.  
  765.     add r7, r7, #1
  766.  
  767.     mov r10, #0
  768.     mov r9, #0
  769.     mov r11, #0
  770.  
  771.     b parkingPrompt
  772.  
  773. printOneD:
  774.  
  775.   ldr r0, =dollar
  776.   mov r1, #1
  777.   bl WriteStringUART
  778.  
  779.   ldr r0, =rawIntBuffer
  780.   mov r1, #1
  781.   bl WriteStringUART
  782.  
  783.   add r7, r7, #1
  784.   b parkingPrompt
  785.  
  786.  
  787. .section    .data
  788.  
  789. haltLoop$:
  790.     b       haltLoop$                   // End
  791.  
  792.  
  793. ExitProgram:
  794.  
  795.   ldr r0, =Terminate
  796.   mov r1, #18
  797.   bl  WriteStringUART
  798.  
  799.  
  800. // Buffers //
  801.  
  802.  
  803. rawIntBuffer:
  804.   .rept 256
  805.   .byte 0
  806.   .endr
  807.  
  808.  
  809. buffer:
  810.   .rept 256
  811.   .byte 0
  812.   .endr
  813.  
  814.  
  815.  
  816. userInput:
  817.  
  818.     .rept   256
  819.     .byte   0
  820.     .endr
  821.  
  822. printValue:
  823.     .byte 0
  824.  
  825. // Strings //
  826.  
  827. customers:
  828.     .ascii "\n\rTotal number of customers: "       // 29 Characters
  829.  
  830. charged:
  831.     .ascii "\n\rTotal amount charged for customers: "       // 38 Characters
  832.  
  833. minPrint:
  834.     .ascii "\n\rMinimum number of hours: "       // 27 Characters
  835.  
  836. maxPrint:
  837.     .ascii "\n\rMaximum number of hours: "       // 27 Characters
  838.  
  839. averagePrint:
  840.     .ascii "\n\rAverage number of hours: "       // 27 Characters
  841.  
  842.  
  843. decimal:
  844.     .ascii "."      // 1 Characters
  845.  
  846. dollar:
  847.   .ascii "$"     // 1 Characters
  848.  
  849. Terminate:
  850.   .ascii  "\n\rQuitting Program"    // 18 Characters
  851.  
  852. prompt:
  853.     .ascii  "\n\rPlease enter the number of parking hours for the customer. Press -1 for Summary or q to exit\n\r"              // 96 Characters
  854.  
  855. creator:
  856.     .ascii "\n\rCreated by: Chris Chau, Jaskaran Sidhu, Alvin Cheung"                                                       // 54 Characters
  857.  
  858. inputError:
  859.     .ascii "\n\rInvalid Number! The number should be between 1 and 24 or -1 for the summary"                                // 77 Characters
  860.  
  861. boundError:
  862.     .ascii "\n\rNumber can only be between 1-24 or -1 for summary"                                                          // 51 Characters
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement