Advertisement
aHardyX

List

Mar 1st, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Turbo Assembler  Version 4.1        03/02/13 03:06:09       Page 1
  2. pro2.asm
  3.  
  4.  
  5.  
  6.       1                  ;===========MACROS==========
  7.       2                  ;-----INPUT MACROS
  8.       3                  INPUT_BCD_SUB MACRO DIGIT
  9.       4                      CALL COMMON_INP_PROC
  10.       5                      MOV DIGIT_PLACE, DIGIT
  11.       6                      CALL NUM_CONVERTOR
  12.       7                  ENDM
  13.       8
  14.       9                  INPUT_BCD MACRO VAR
  15.      10                      XOR BX,BX
  16.      11                      SHOW T_MSG2
  17.      12                      INPUT_BCD_SUB 1000
  18.      13                      INPUT_BCD_SUB 0100
  19.      14                      INPUT_BCD_SUB 0010
  20.      15                      INPUT_BCD_SUB 0001
  21.      16                      MOV VAR, BX
  22.      17                      XOR BX,BX
  23.      18                  ENDM
  24.      19
  25.      20                  ;-----SHOW MACRO
  26.      21                  SHOW MACRO MSG
  27.      22                      MOV AH, 09H
  28.      23                      LEA DX, MSG
  29.      24                      INT 21H
  30.      25                  ENDM
  31.      26                  ;-----END: SHOW MACRO
  32.      27
  33.      28                  ;-----KILLME MACRO
  34.      29                  KILLME MACRO
  35.      30                      MOV AH, 4CH
  36.      31                      INT 21H
  37.      32                  ENDM
  38.      33                  ;-----END: KILLME MACRO
  39.      34
  40.      35 0000                 .MODEL SMALL
  41.      36 0000                 .DATA
  42.      37 0000  0A 0D 45 6E 74 65 72+      T_MSG1 DB 10,13,'Enter a number: $'
  43.      38       20 61 20 6E 75 6D 62+
  44.      39       65 72 3A 20 24
  45.      40 0013  0A 0D 59 6F 75 20 68+      T_MSG2 DB 10,13,'You have entered: $'
  46.      41       61 76 65 20 65 6E 74+
  47.      42       65 72 65 64 3A 20 24
  48.      43 0028  0A 0D 41 6E 20 65 72+      ERR_MSG DB 10,13, 'An error has occured: Invalid digit entered. Please use digits 0 to +
  49.      44       72 6F 72 20 68 61 73+  9 $'
  50.      45       20 6F 63 63 75 72 65+
  51.      46       64 3A 20 49 6E 76 61+
  52.      47       6C 69 64 20 64 69 67+
  53.      48       69 74 20 65 6E 74 65+
  54.      49       72 65 64 2E 20 50 6C+
  55.      50       65 61 73 65 20 75 73+
  56.      51       65 20 64 69 67 69 74+
  57.      52       73 20 30 20 74 6F 20+
  58.      53       39 20 24
  59.      54 0071  0001               VAR_NUM1 DW 1 ;DUP(0)
  60.      55 0073  0001               DIGIT_PLACE DW 1 ;DUP(0)
  61.      56 0075                 .CODE
  62.      57
  63. Turbo Assembler     Version 4.1        03/02/13 03:06:09       Page 2
  64. pro2.asm
  65.  
  66.  
  67.  
  68.      58 0000                 COMMON_INP_PROC PROC
  69.      59 0000  B4 01              MOV AH, 01H
  70.      60 0002  CD 21              INT 21H
  71.      61 0004  3C 30              CMP AL, 30H
  72.      62 0006  72 04              JB  ERR1
  73.      63 0008  3C 39              CMP AL, 39H
  74.      64 000A  76 0B              JBE SUBT_30
  75.      65 000C                     ERR1: SHOW ERR_MSG
  76. 1    66 000C  B4 09              MOV AH, 09H
  77. 1    67 000E  BA 0028r               LEA DX, ERR_MSG
  78. 1    68 0011  CD 21              INT 21H
  79.      69                        KILLME
  80. 1    70 0013  B4 4C              MOV AH, 4CH
  81. 1    71 0015  CD 21              INT 21H
  82.      72 0017  2C 1E              SUBT_30: SUB AL, 30
  83.      73 0019  C3                 RET
  84.      74 001A                 COMMON_INP_PROC ENDP
  85.      75
  86.      76 001A                 NUM_CONVERTOR PROC
  87.      77 001A  8A C8              MOV CL,AL
  88.      78 001C  03 1E 0073r            COUNT: ADD BX, DIGIT_PLACE
  89.      79 0020  8B 16 0073r               MOV DX, DIGIT_PLACE
  90.      80 0024  B4 02                 MOV AH, 02H
  91.      81 0026  CD 21                 INT 21H
  92.      82 0028  E2 F2              LOOP COUNT
  93.      83 002A                 NUM_CONVERTOR ENDP
  94.      84
  95.      85 002A                 MAIN PROC
  96.      86 002A  B8 0000s               MOV AX, @DATA
  97.      87 002D  8E D8              MOV DS, AX
  98.      88
  99.      89                      SHOW T_MSG1
  100. 1    90 002F  B4 09              MOV AH, 09H
  101. 1    91 0031  BA 0000r               LEA DX, T_MSG1
  102. 1    92 0034  CD 21              INT 21H
  103.      93                      INPUT_BCD VAR_NUM1
  104. 1    94 0036  33 DB              XOR BX,BX
  105. 1    95                      SHOW T_MSG2
  106. 2    96 0038  B4 09              MOV AH, 09H
  107. 2    97 003A  BA 0013r               LEA DX, T_MSG2
  108. 2    98 003D  CD 21              INT 21H
  109. 1    99                      INPUT_BCD_SUB 1000
  110. 2   100 003F  E8 FFBE                CALL COMMON_INP_PROC
  111. 2   101 0042  C7 06 0073r 03E8           MOV DIGIT_PLACE, 1000
  112. 2   102 0048  E8 FFCF                CALL NUM_CONVERTOR
  113. 1   103                      INPUT_BCD_SUB 0100
  114. 2   104 004B  E8 FFB2                CALL COMMON_INP_PROC
  115. 2   105 004E  C7 06 0073r 0064           MOV DIGIT_PLACE, 0100
  116. 2   106 0054  E8 FFC3                CALL NUM_CONVERTOR
  117. 1   107                      INPUT_BCD_SUB 0010
  118. 2   108 0057  E8 FFA6                CALL COMMON_INP_PROC
  119. 2   109 005A  C7 06 0073r 000A           MOV DIGIT_PLACE, 0010
  120. 2   110 0060  E8 FFB7                CALL NUM_CONVERTOR
  121. 1   111                      INPUT_BCD_SUB 0001
  122. 2   112 0063  E8 FF9A                CALL COMMON_INP_PROC
  123. 2   113 0066  C7 06 0073r 0001           MOV DIGIT_PLACE, 0001
  124. 2   114 006C  E8 FFAB                CALL NUM_CONVERTOR
  125. Turbo Assembler     Version 4.1        03/02/13 03:06:09       Page 3
  126. pro2.asm
  127.  
  128.  
  129.  
  130. 1   115 006F  89 1E 0071r            MOV VAR_NUM1, BX
  131. 1   116 0073  33 DB              XOR BX,BX
  132.     117                      KILLME
  133. 1   118 0075  B4 4C              MOV AH, 4CH
  134. 1   119 0077  CD 21              INT 21H
  135.     120 0079                 MAIN ENDP
  136.     121                  END MAIN
  137. Turbo Assembler     Version 4.1        03/02/13 03:06:09       Page 4
  138. Symbol Table
  139.  
  140.  
  141.  
  142.  
  143. Symbol Name           Type   Value
  144.  
  145. ??DATE                Text   "03/02/13"
  146. ??FILENAME            Text   "pro2    "
  147. ??TIME                Text   "03:06:09"
  148. ??VERSION             Number 040A
  149. @32BIT                Text   0
  150. @CODE                 Text   _TEXT
  151. @CODESIZE             Text   0
  152. @CPU                  Text   0101H
  153. @CURSEG               Text   _TEXT
  154. @DATA                 Text   DGROUP
  155. @DATASIZE             Text   0
  156. @FILENAME             Text   PRO2
  157. @INTERFACE            Text   000H
  158. @MODEL                Text   2
  159. @STACK                Text   DGROUP
  160. @WORDSIZE             Text   2
  161. COMMON_INP_PROC           Near   _TEXT:0000
  162. COUNT                 Near   _TEXT:001C
  163. DIGIT_PLACE           Word   DGROUP:0073
  164. ERR1                  Near   _TEXT:000C
  165. ERR_MSG               Byte   DGROUP:0028
  166. MAIN                  Near   _TEXT:002A
  167. NUM_CONVERTOR             Near   _TEXT:001A
  168. SUBT_30               Near   _TEXT:0017
  169. T_MSG1                Byte   DGROUP:0000
  170. T_MSG2                Byte   DGROUP:0013
  171. VAR_NUM1              Word   DGROUP:0071
  172.  
  173. Macro Name
  174.  
  175. INPUT_BCD
  176. INPUT_BCD_SUB
  177. KILLME
  178. SHOW
  179.  
  180. Groups & Segments         Bit Size Align  Combine Class
  181.  
  182. DGROUP                Group
  183.   _DATA               16  0075 Word   Public  DATA
  184. _TEXT                 16  0079 Word   Public  CODE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement