--- title: "Personal Net Worth (Syntax)" id: 76553 type: "computer_media" slug: "personal-net-worth-syntax" url: "http://localhost/computer_media/personal-net-worth-syntax/" markdown_url: "http://localhost/computer_media/personal-net-worth-syntax.md" published_at: "2026-11-11T08:02:29+00:00" modified_at: "2026-11-11T08:02:29+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/11/personal-net-worth-syntax-1.png" excerpt: "Keep fourteen years of your assets and liabilities, see your net worth each year as a table, and graph how it grows." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" - name: "ZX81" slug: "zx81" taxonomy: "post_tag" url: "http://localhost/tag/zx81/" model: - name: "Sinclair ZX81" slug: "zx81" taxonomy: "model" url: "http://localhost/model/zx81/" - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "Russell Crum" slug: "russell-crum" taxonomy: "indiv" url: "http://localhost/indiv/russell-crum/" genre: - name: "Finance" slug: "finance" taxonomy: "genre" url: "http://localhost/type/finance/" media_type: "Program" programmers: - name: "Russell Crum" slug: "russell-crum" taxonomy: "indiv" url: "http://localhost/indiv/russell-crum/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Personal%20Net%20Worth%20%281983%29%28Crum%2C%20Russell%29%28TS1000%29%28US%29%28Program%29.zip" mediadate: "1983" images: - url: "http://localhost/wp-content/uploads/2026/11/personal-net-worth-syntax-1.png" - url: "http://localhost/wp-content/uploads/2026/11/personal-net-worth-syntax-2.png" article_media: - id: 19479 title: "Personal Net Worth" type: "article" url: "http://localhost/article/personal-net-worth/" media_type_tags: "Finance" license: false --- # Personal Net Worth (Syntax) A personal net worth record for up to fourteen years. Choose 1 to enter a year’s figures: nine kinds of assets (cash, receivables, securities, real estate, life insurance cash value, automobiles, personal property and others) and six kinds of liabilities. The program totals current and total assets and liabilities and works out the net worth. Choose 2 to see a table of the totals for each year, two years at a time (CONT shows the next), or a bar graph of net worth that scales itself; choose 3 to save the program and its data to tape. When all fourteen years are used, the program offers to drop the oldest year. The download is the listing as printed, so its variables are not yet set up. Before the first use, type the commands in REM lines 4010-4060 as direct commands: DIM A(14,12), DIM A$(11,27), DIM L(14,8), DIM L$(8,27) and DIM N(14), then LET N$=”NET WORTH”, LET A(1,1) equal to the first year, LET Y=1, and LET each A$ and L$ item equal to its label in quotes. Then start with GOTO 10, never RUN, which would clear everything. After a SAVE the program starts itself when loaded. The article suggests deleting lines 4000-4060 once the variables are set up. Published in Syntax May 1983 ([Personal Net Worth](https://timexsinclair.com/article/personal-net-worth/)). ## Source Code ``` 1 REM PERSONAL NET WORTH 2 REM R. CRUM FEB.6,1983 10 PRINT AT 0,5;"PERSONAL NET WORTH" 20 PRINT "SELECT FUNCTION" 30 PRINT AT 3,3;"1.ENTER DATA";AT 4,3;"2.DISPLAY DATA";AT 5,3;"3.SAVE DATA" 40 INPUT A 50 IF A<1 OR A>3 THEN GOTO 40 60 CLS 70 GOTO A*1000 990 REM DATA ENTRY 1000 PRINT "LAST ENTRY WAS FOR ";A(Y,1) 1010 IF A(14,12)<>0 THEN GOTO 1270 1020 PRINT "WHAT YEAR? " 1030 INPUT R 1040 FOR I=1 TO 14 1050 IF A(I,1)=R THEN GOTO 1090 1060 NEXT I 1070 LET A(Y+1,1)=R 1080 LET Y=Y+1 1090 CLS 1100 FOR I=1 TO 9 1110 PRINT A$(I);" AMT?" 1120 INPUT A(Y,I+1) 1130 CLS 1140 NEXT I 1150 LET A(Y,11)=A(Y,2)+A(Y,3)+A(Y,4)+A(Y,5) 1160 LET A(Y,12)=A(Y,11)+A(Y,6)+A(Y,7)+A(Y,8)+A(Y,9)+A(Y,10) 1170 FOR I=1 TO 6 1180 CLS 1190 PRINT L$(I);" AMT?" 1200 INPUT L(Y,I) 1210 NEXT I 1220 LET L(Y,7)=L(Y,1)+L(Y,2)+L(Y,3)+L(Y,4) 1230 LET L(Y,8)=L(Y,7)+L(Y,5)+L(Y,6) 1240 LET N(Y)=A(Y,12)-L(Y,8) 1250 CLS 1260 GOTO 10 1270 PRINT "DATA STORAGE FULL" 1280 PRINT "WANT TO SHIFT DATA? (WILL LOSE " 1290 PRINT "OLDEST YEAR) (Y=YES,N=NO)" 1300 INPUT R$ 1310 CLS 1320 IF R$="N" THEN GOTO 10 1330 FOR I=1 TO 13 1340 FOR J=1 TO 12 1350 LET A(I,J)=A(I+1,J) 1360 NEXT J 1370 NEXT I 1380 FOR I=1 TO 12 1390 LET A(14,I)=0 1400 NEXT I 1410 FOR I=1 TO 13 1420 FOR J=1 TO 8 1430 LET L(I,J)=L(I+1,J) 1440 NEXT J 1450 NEXT I 1460 FOR I=1 TO 8 1470 LET L(14,I)=0 1480 NEXT I 1490 FOR I=1 TO 13 1500 LET N(I)=N(I+1) 1510 NEXT I 1520 LET N(14)=0 1530 LET Y=Y-1 1540 PRINT "DATA SHIFT DONE" 1550 PAUSE 300 1560 CLS 1570 GOTO 10 1999 REM DISPLAY DATA 2000 PRINT "DO YOU WANT TABLE OR GRAPH?" 2010 PRINT "ENTER ""T"" OR ""G""" 2020 INPUT R$ 2030 IF R$="T" THEN GOTO 2370 2040 LET MAX=0 2050 FOR I=1 TO 14 2060 IF N(I)>MAX THEN LET MAX=N(I) 2070 NEXT I 2080 IF MAX/1000<=5 THEN LET MYP=5 2090 IF MAX/1000>5 AND MAX/1000<=20 THEN LET MYP=20 2100 IF MAX/1000>20 AND MAX/1000<=40 THEN LET MYP=40 2110 IF MAX/1000>40 AND MAX/1000<=60 THEN LET MYP=60 2120 IF MAX/1000>60 AND MAX/1000<=80 THEN LET MYP=80 2130 IF MAX/1000>80 AND MAX/1000<=100 THEN LET MYP=100 2140 CLS 2150 FOR I=0 TO .75 STEP .25 2160 PRINT AT I*20,0;MYP-I*MYP 2170 NEXT I 2180 FOR I=0 TO 19 2190 PRINT AT I,4;"-" 2200 NEXT I 2210 FOR I=0 TO Y-1 2220 IF N(I+1)<0 THEN GOTO 2270 2230 FOR J=4 TO ((N(I+1)/1000)/MYP)*43 2240 PLOT 13+3*I,J 2250 PLOT 14+3*I,J 2260 NEXT J 2270 NEXT I 2280 LET Y$=STR$ A(1,1)+"-"+STR$ A(Y,1) 2290 PRINT AT 21,16-LEN Y$/2;Y$ 2300 POKE 16418,0 2310 PRINT AT 22,2;"PRESS ""CONT"", THEN ""CONT"" AND ""ENTER"" TO RETURN TO MENU" 2320 POKE 16418,2 2330 PAUSE 4E4 2340 STOP 2350 CLS 2360 GOTO 10 2370 CLS 2380 FOR I=1 TO Y 2390 PRINT "YEAR: ";A(I,1) 2400 PRINT A$(10)," $";A(I,11) 2410 PRINT A$(11)," $";A(I,12) 2420 PRINT L$(7)," $";L(I,7) 2430 PRINT L$(8)," $";L(I,8) 2440 PRINT N$;" $";N(I) 2450 PRINT 2460 IF I/2=INT (I/2) THEN GOTO 2480 2470 NEXT I 2480 STOP 2490 CLS 2500 NEXT I 2510 GOTO 10 2999 REM SAVE DATA 3000 CLS 3010 PRINT "PREPARE TAPE RECORDER" 3020 PRINT "PRESS ""CONT"" TO SAVE" 3030 PAUSE 4E4 3040 SAVE "WORTH" 3045 CLS 3050 GOTO 10 4000 REM INITIALIZE 4010 REM DIM A(14,12);A$(11,27);L(14,8);L$(8,27);N(14) 4020 REM N$=NET WORTH 4030 REM A(1,1)=FIRST YEAR-4 DIGITS 4040 REM Y=1 4050 REM A$(1)=CASH;A$(2)=ASSETS AND NOTES RECEIVABLE;A$(3)=SECURITIES;A$(4)=OTHER CURRENT ASSETS;A$(5)=REAL ESTATE;A$(6)=LIFE INSURANCE-CASH VALUE;A$(7)=AUTOMOBILES;A$(8)=PERSONAL PROPERTY;A$(9)=OTHER LONG TERM ASSETS;A$(10)=TOTAL CURRENT ASSETS;A$(11)=TOTAL ASSETS 4060 REM L$(1)=NOTES PAYABLE TO BANKS;L$(2)=NOTES PAYABLE TO OTHERS;L$(3)=ACCOUNTS AND BILLS DUE;L$(4)=OTHER CURRENT LIABILITIES;L$(5)=MORGTAGES;L$(6)=OTHER LONG TERM LIABILITIES;L$(7)=TOTAL CURRENT LIABILITIES;L$(8)=TOTAL LIABILITIES ```