home *** CD-ROM | disk | FTP | other *** search
- ; TEST1.ASM by Warren A. Ring
- ;
- ; This program picks up the first six
- ; english words on the CLI line following "TEST",
- ; and, for each word, displays that word, converts
- ; that word, if possible, to a 4-byte signed
- ; integer, adds that integer to a total, converts
- ; that integer back to an ASCII string, and
- ; displays that string. A concatenation of the
- ; six words is displayed on the next line, and the
- ; total is displayed on the next line.
-
- section code
-
- include "libs:types.i"
- include "libs:dos.i"
- include "macros.asm"
-
- Start ;Perform startup housekeeping
- MOVE.L #5,D2 ;Set the counter to 5
- X1
- Scanw #Word ;Display the first (next) english word from
- Display '=' ; the CLI residue, surrounded by "="
- WritCon #Word
- Display '='
- Space ;Display " "
- AtoI #Word,Value ;Convert the word to an integer, and back to a
- ItoA Value,#Word ; string
- WritCon #Word ;Display the resulting string
- StrCat #Word,#Buffer;Concatenate the word onto the final string
- Crlf ;Display a CR
-
- MOVE.L Value,D0 ;Add the integer value to
- ADD.L D0,Total ; the total
- DBRA D2,X1 ;Decrement the counter
- ;If the counter is not yet negative, then jump to X1
- WritCon #Buffer ;Display the final string
- Crlf ;Display a CR
- Display <'The total is: '>
- ItoA Total,#Buffer;Convert the total integer
- WritCon #Buffer ; to a string, and display it
-
- Crlf ;Display a CR
- Exit ;Perform ending housekeeping, and exit
-
- include "warlib.asm"
-
- section data
-
- StrBuf Buffer,80
- StrBuf Word,16
-
- Value DS.L 1
- Total DC.L 0
-
- end
-
-