 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 1 - 3/15/2020 13:23:35


       1/       0 :                     
       2/       0 : =83C0H              wspDefault equ 83C0h
       3/       0 : =83E0H              wspMonitor equ 83E0h
       4/       0 :                     			
       5/       0 : =8300H              userRam    equ 8300h
       6/       0 : =8320H              CursorX    equ userRam+20h
       7/       0 :                     
       8/       0 : =8C00H              VDPWD   EQU     8C00h           ;VDP RAM write data
       9/       0 : =8C02H              VDPWA   EQU     8C02h           ;VDP RAM read/write address
      10/       0 :                     
      11/       0 :                     	include "\srcAll\v1_Header.asm"
(1)    1/       0 :                     
(1)    2/    6000 :                             ORG  6000h
(1)    3/    6000 :                     		
(1)    4/    6000 : AA01                		WORD 0AA01h				;header
(1)    5/    6002 : 0000                		Word 0
(1)    6/    6004 : 0000                		Word 0
(1)    7/    6006 : 6006                        WORD PROGA				;Pointer to 1st program
(1)    8/    6008 : 0000                        Word 0
(1)    9/    600A : 0000                		Word 0
(1)   10/    600C : 0000                PROGA   WORD 0					;1st entry 0=only
(1)   11/    600E : 600E                        WORD ProgramStart		;Start of Program
(1)   12/    6010 : 1000                        BYTE 16				;Text Length
(1)   13/    6012 : 4C45 4152 4E41 534D         BYTE "LEARNASM.NET   "	;Text Message
                    2E4E 4554 2020 2000 
(1)   14/    6022 :                     		
(1)   15/    6022 :                     
(1)   16/    6022 :                     ProgramStart:
(1)   17/    6022 : 0300 0000           		LIMI    0               ;disable interrupts
(1)   18/    6026 : 02E0 83C0                   LWPI    wspDefault      ;set default workspace
      12/    602A :                     
      13/    602A : 06A0 602A           	bl @ScrInit
      14/    602E :                     	
      15/    602E : 0200 602E           	li r0,TestData
      16/    6032 : 0201 8300           	li r1,UserRam
      17/    6036 : 0202 0005           	li r2,5
      18/    603A : 06A0 603A           	bl @LDIR			;Copy 10 test bytes to 8300h
      19/    603E :                     	
      20/    603E : 0200 0000           	li r0,0
      21/    6042 : C040                	mov r0,r1
      22/    6044 : C080                	mov r0,r2
      23/    6046 : C0C0                	mov r0,r3
      24/    6048 :                     	
      25/    6048 : 0420 6048           	blwp @ShowRam		;Show 8300h test data
      26/    604C : 0420 604C           	blwp @Monitor4		;Monitor Dump
      27/    6050 :                     	
      28/    6050 :                     	;jmp AddressTests1
      29/    6050 :                     	;jmp AddressTests2
      30/    6050 : 10FF                	jmp AddressTests3
      31/    6052 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
      32/    6052 :                     
      33/    6052 :                     AddressTests1:	
      34/    6052 :                     ;Immediate Addressing
      35/    6052 : 0200 8300           	li r0,UserRam		;load 'Userram' (8300h) into r0
      36/    6056 : 0201 FFEE           	li r1,0FFEEh		;Hex must start with a 0
      37/    605A : 0420 605A           	blwp @Monitor4		;Monitor Dump
      38/    605E :                     	
      39/    605E :                     ;Workspace Regsiter Addressing
      40/    605E : C080                	mov r0,r2			;Move value in R0 into R2
      41/    6060 : C0C1                	mov r1,r3			;Move value in R1 into R3
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 2 - 3/15/2020 13:23:35


      42/    6062 : 0420 6062           	blwp @Monitor4		;Monitor Dump
      43/    6066 :                     
      44/    6066 :                     ;Workspace Regsister Indirect Addressing
      45/    6066 : C0D0                	mov *r0,r3			;Set R3 from address in R0
      46/    6068 : C091                	mov *r1,r2			;Set R2 from address in R1
      47/    606A : 0420 606A           	blwp @Monitor4		;Monitor Dump
      48/    606E :                     	
      49/    606E :                     	
      50/    606E :                     InfLoop2:
      51/    606E : 10FF                	jmp InfLoop2        	;Branch to Infloop	
      52/    6070 :                     
      53/    6070 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      54/    6070 :                     
      55/    6070 :                     AddressTests2:
      56/    6070 : 0200 8300           	li r0,UserRam		;load 'Userram' (8300h) into r0
      57/    6074 :                     	
      58/    6074 :                     ;Workspace Regsister Indirect Auto Increment Addressing
      59/    6074 : C070                	mov *r0+,r1			;Set R1 from address in R0...inc RO
      60/    6076 : 0420 6076           	blwp @Monitor4		;Monitor Dump
      61/    607A : C0B0                	mov *r0+,r2			;Set R1 from address in R0...inc RO
      62/    607C : 0420 607C           	blwp @Monitor4		;Monitor Dump
      63/    6080 : C0F0                	mov *r0+,r3			;Set R1 from address in R0...inc RO
      64/    6082 : 0420 6082           	blwp @Monitor4		;Monitor Dump
      65/    6086 :                     
      66/    6086 : 0420 6086           	blwp @DoNewLineW
      67/    608A :                     	
      68/    608A : C020 8300           	mov @UserRam,r0
      69/    608E : C060 8302           	mov @UserRam+2,r1
      70/    6092 : C0A0 8304           	mov @UserRam+4,r2
      71/    6096 : C0E0 8306           	mov @UserRam+6,r3
      72/    609A : 0420 609A           	blwp @Monitor4		;Monitor Dump
      73/    609E :                     	
      74/    609E : C020 8300           	mov @UserRam,r0
      75/    60A2 : C060 8301           	mov @UserRam+1,r1
      76/    60A6 : C0A0 8302           	mov @UserRam+2,r2
      77/    60AA : C0E0 8303           	mov @UserRam+3,r3
      78/    60AE : 0420 60AE           	blwp @Monitor4		;Monitor Dump
      79/    60B2 :                     	
      80/    60B2 : 10FF                	jmp InfLoop        	;Branch to Infloop	
      81/    60B4 :                     
      82/    60B4 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      83/    60B4 :                     
      84/    60B4 :                     AddressTests3:
      85/    60B4 :                     	
      86/    60B4 :                     ;Indexed Addressing
      87/    60B4 :                     
      88/    60B4 : =7D0H               off2 equ 2000
      89/    60B4 :                     
      90/    60B4 : 0200 60B4           	li r0,TestDataLookup
      91/    60B8 :                     ;	mov @(r0),r1			;Load R1 from UserRam+0
> > > Lesson2.asm(92): error: wrong number of operands
      92/    60B8 :                     	mov *(r0,r1)		;Load R1 from UserRam+0
> > > Lesson2.asm(93):12: error: invalid register
      93/    60B8 :                     	mov @off2(r0),r2		;Load R1 from UserRam+0
      94/    60B8 :                     	;mov 4*r0,r3		;Load R1 from UserRam+0
      95/    60B8 : 0420 60B8           	blwp @Monitor4		;Monitor Dump
      96/    60BC :                     	
      97/    60BC : 0200 60BC           	li r0,TestData
      98/    60C0 :                     ;	mov @(r0),r1			;Load R1 from UserRam+0
      99/    60C0 :                     	;mov @(r0+2),r2		;Load R1 from UserRam+0
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 3 - 3/15/2020 13:23:35


     100/    60C0 :                     	;mov @(r0+4),r3		;Load R1 from UserRam+2
     101/    60C0 : 0420 60C0           	blwp @Monitor4		;Monitor Dump	
     102/    60C4 :                     	
     103/    60C4 : 10FF                	jmp InfLoop        	;Branch to Infloop	
     104/    60C6 :                     	
     105/    60C6 :                     ;Program Counter Relative Addressing
     106/    60C6 :                     ;CRU Relative Addressing (R12)
     107/    60C6 :                     
     108/    60C6 :                     	
     109/    60C6 :                     	
     110/    60C6 : 10FF                	jmp InfLoop        	;Branch to Infloop	
     111/    60C8 :                     	
     112/    60C8 :                     	
     113/    60C8 :                     	
     114/    60C8 :                     	
     115/    60C8 :                     	
     116/    60C8 : 10FF                	jmp MoveLoad
     117/    60CA : 10FF                	jmp AddSub
     118/    60CC : 10FF                	jmp IncDec
     119/    60CE :                     	
     120/    60CE :                     TestData:
     121/    60CE : 1122 3344 5566 7788 	byte 11h,22h,33h,44h,55h,66h,77h,88h,99h,0AAh
                    99AA                
     122/    60D8 :                     
     123/    60D8 :                     TestDataLookup:	
     124/    60D8 : 60D8                	word TestData1
     125/    60DA : 60DA                	word TestData2
     126/    60DC : 60DC                	word TestData3
     127/    60DE :                     	
     128/    60DE :                     TestData1:
     129/    60DE : 1112 1314           	byte 11h,12h,13h,14h
     130/    60E2 :                     TestData2:
     131/    60E2 : 2122 2324           	byte 21h,22h,23h,24h
     132/    60E6 :                     TestData3:
     133/    60E6 : 3132 3334           	byte 31h,32h,33h,34h
     134/    60EA :                     
     135/    60EA :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     136/    60EA :                     
     137/    60EA :                     MoveLoad:
     138/    60EA : 0200 1234           	li r0,01234h		;1234h->R0
     139/    60EE : 0420 60EE           	blwp @Monitor4		;Monitor Dump
     140/    60F2 :                     	
     141/    60F2 : C040                	mov r0,r1			;R0->R1
     142/    60F4 : C080                	mov r0,r2			;R0->R2
     143/    60F6 : C0C0                	mov r0,r3			;R0->R3
     144/    60F8 :                     	
     145/    60F8 : 0420 60F8           	blwp @Monitor4		;Monitor Dump
     146/    60FC :                     	
     147/    60FC : 0420 60FC           	blwp @DoNewLineW
     148/    6100 :                     	
     149/    6100 : 04C0                	clr r0
     150/    6102 : 0701                	seto r1
     151/    6104 :                     	
     152/    6104 : 0420 6104           	blwp @Monitor4		;Monitor Dump
     153/    6108 :                     	
     154/    6108 : 10FF                	jmp InfLoop        	;Branch to Infloop	
     155/    610A :                     
     156/    610A :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
     157/    610A :                     AddSub:
     158/    610A :                     
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 4 - 3/15/2020 13:23:35


     159/    610A : 0420 610A           	blwp @Monitor4		;Monitor Dump
     160/    610E :                     	
     161/    610E : 0222 0004           	ai r2,4				;R2=R2+4
     162/    6112 : 0223 FFFC           	ai r3,-4			;R3=R3-4
     163/    6116 : 0420 6116           	blwp @Monitor4		;Monitor Dump
     164/    611A :                     	
     165/    611A : 0201 0010           	li r1,10h
     166/    611E :                     	
     167/    611E : A081                	a r1,r2				;R2=R2+R1
     168/    6120 : 60C1                	s r1,r3				;R3=R3+R1
     169/    6122 :                     	
     170/    6122 : 0420 6122           	blwp @Monitor4		;Monitor Dump
     171/    6126 : 0420 6126           	blwp @DoNewLineW
     172/    612A :                     	
     173/    612A : 0200 1234           	li r0,01234h		;1234h->R0
     174/    612E : 0201 1234           	li r1,01234h		;1234h->R0
     175/    6132 : 0202 1234           	li r2,01234h		;1234h->R0
     176/    6136 : 0203 1234           	li r3,01234h		;1234h->R0
     177/    613A : 0420 613A           	blwp @Monitor4		;Monitor Dump
     178/    613E : 10FF                	jmp InfLoop        	;Branch to Infloop	
     179/    6140 :                     
     180/    6140 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     181/    6140 :                     	
     182/    6140 :                     IncDec:	
     183/    6140 : 0580                	inc  r0				;Add 1 to R0
     184/    6142 : 05C1                	inct r1				;Add 2 to R1
     185/    6144 : 0602                	dec  r2				;Subtract 1 from R2
> > > Lesson2.asm(186): warning: privileged instruction
     186/    6146 : 0643                	dect r3				;Subtract 2 from R3
     187/    6148 : 0420 6148           	blwp @Monitor4		;Monitor Dump
     188/    614C : 0580                	inc  r0				;Add 1 to R0
     189/    614E : 05C1                	inct r1				;Add 2 to R1
     190/    6150 : 0602                	dec  r2				;Subtract 1 from R2
> > > Lesson2.asm(191): warning: privileged instruction
     191/    6152 : 0643                	dect r3				;Subtract 2 from R3
     192/    6154 : 0420 6154           	blwp @Monitor4		;Monitor Dump
     193/    6158 : 0580                	inc  r0				;Add 1 to R0
     194/    615A : 05C1                	inct r1				;Add 2 to R1
     195/    615C : 0602                	dec  r2				;Subtract 1 from R2
> > > Lesson2.asm(196): warning: privileged instruction
     196/    615E : 0643                	dect r3				;Subtract 2 from R3
     197/    6160 : 0420 6160           	blwp @Monitor4		;Monitor Dump
     198/    6164 : 0580                	inc  r0				;Add 1 to R0
     199/    6166 : 05C1                	inct r1				;Add 2 to R1
     200/    6168 : 0602                	dec  r2				;Subtract 1 from R2
> > > Lesson2.asm(201): warning: privileged instruction
     201/    616A : 0643                	dect r3				;Subtract 2 from R3
     202/    616C : 0420 616C           	blwp @Monitor4		;Monitor Dump
     203/    6170 : 10FF                	jmp InfLoop        	;Branch to Infloop	
     204/    6172 :                     	
     205/    6172 :                     
     206/    6172 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
     207/    6172 :                     	
     208/    6172 :                     InfLoop:
     209/    6172 : 10FF                	jmp InfLoop        	;Branch to Infloop
     210/    6174 :                     
     211/    6174 :                     	
     212/    6174 :                     
     213/    6174 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     214/    6174 :                     LDIR:
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 5 - 3/15/2020 13:23:35


     215/    6174 : CC70                		mov *r0+,*r1+		;copy from (R1) to (R0)
     216/    6176 : 0602                		dec r2
     217/    6178 : 16FD                		jne LDIR
     218/    617A : 045B                		B *R11				;Return
     219/    617C :                     ShowRam:
     220/    617C : 83E0                	word wspMonitor
     221/    617E : 617E                	word Doramdump
     222/    6180 :                     	
     223/    6180 :                     Doramdump:	
     224/    6180 : 0204 8300           		li r4,userRam		;address to show
     225/    6184 : 0205 0005           		li r5,00005h		;words to show
     226/    6188 : 06A0 6188           		bl @ramdump			;Dump Memory
     227/    618C : 06A0 618C           		bl @NewLine
     228/    6190 : 06A0 6190           		bl @NewLine
     229/    6194 : 0380                	RTWP
     230/    6196 :                     Monitor4:
     231/    6196 : 83E0                	word wspMonitor
     232/    6198 : 6198                	word DoMonitor4
     233/    619A :                     	
     234/    619A :                     DoMonitor4:
     235/    619A : C14D                		mov r13,r5
     236/    619C : 0206 0000           		li r6,0000h
     237/    61A0 :                     DoMonitorAgain4:		
     238/    61A0 : C0B5                		mov *r5+,r2
     239/    61A2 : C046                		mov r6,r1
     240/    61A4 : 06A0 61A4           		bl @ShowReg
     241/    61A8 : 0226 0100           		ai r6,0100h
     242/    61AC : 0286 0400           		ci r6,0400h 
     243/    61B0 : 16F7                		jne DoMonitorAgain4
     244/    61B2 :                     		
     245/    61B2 : 06A0 61B2           		bl @NewLine
     246/    61B6 : 0380                	RTWP
     247/    61B8 :                     	
     248/    61B8 :                     DoNewLineW:
     249/    61B8 : 83E0                	word wspMonitor
     250/    61BA : 61BA                	word DoNewLine
     251/    61BC :                     	
     252/    61BC :                     DoNewLine:
     253/    61BC : 06A0 61BC           		bl @NewLine
     254/    61C0 : 0380                	RTWP
     255/    61C2 :                     		
     256/    61C2 :                     PrintString:
     257/    61C2 : C28B                		mov r11,r10			;Move Return to R10
     258/    61C4 :                     PrintStringAgain:
     259/    61C4 : D031                        MOVB *R1+,R0
     260/    61C6 :                     		 
     261/    61C6 : 0202 00FF           		li r2,255
     262/    61CA : 9080                		Cb r0,r2
     263/    61CC : 13FF                		jeq PrintStringDone
     264/    61CE : 06A0 61CE           		bl @PrintChar
     265/    61D2 : 10F8                        Jmp PrintStringAgain
     266/    61D4 :                     PrintStringDone:
     267/    61D4 : 045A                		B *R10				;Return		
     268/    61D6 :                     		
     269/    61D6 :                     	include "\SrcAll\monitor.asm"
(1)    1/    61D6 :                     ShowHex:
(1)    2/    61D6 : 0220 3000           		ai r0,3000h				;0
(1)    3/    61DA : 0280 3A00           		ci r0,3A00h
(1)    4/    61DE : 11FF                		jlt ShowHexDigitOk
(1)    5/    61E0 : 0220 0700           		ai r0,0700h				;Letters
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm(monitor.asm) - page 6 - 3/15/2020 13:23:35


(1)    6/    61E4 :                     ShowHexDigitOk:
(1)    7/    61E4 : 0460 61E4           		b @PrintChar
(1)    8/    61E8 :                     		
(1)    9/    61E8 :                     ShowHexDigit:
(1)   10/    61E8 : C28B                	mov r11,r10
(1)   11/    61EA : C002                		mov r2,r0
(1)   12/    61EC : 0240 F000           		andi r0,0F000h
(1)   13/    61F0 : 0940                		srl r0,4
(1)   14/    61F2 : 06A0 61D6           		bl @ShowHex
(1)   15/    61F6 : 0A42                		sla r2,4
(1)   16/    61F8 : 045A                	B *R10
(1)   17/    61FA :                     ShowReg:
(1)   18/    61FA : C24B                	mov r11,r9
(1)   19/    61FC : 0200 5220           		li r0,"R "
(1)   20/    6200 : 06A0 6200           		bl @PrintChar
(1)   21/    6204 :                     		
(1)   22/    6204 : C001                		mov r1,r0
(1)   23/    6206 : 06A0 61D6           		bl @ShowHex
(1)   24/    620A : 0203 3A20           		li r3,": "
(1)   25/    620E : 06A0 620E           		bl @PrintCharR3
(1)   26/    6212 : 06C3                		swpb r3
(1)   27/    6214 :                     ShowHex4b:		
(1)   28/    6214 : 06A0 61E8           		bl @ShowHexDigit
(1)   29/    6218 : 06A0 61E8           		bl @ShowHexDigit
(1)   30/    621C : 06A0 61E8           		bl @ShowHexDigit
(1)   31/    6220 : 06A0 61E8           		bl @ShowHexDigit
(1)   32/    6224 : 06A0 6224           		bl @PrintCharR3		;Space
(1)   33/    6228 : 0459                	B *r9
(1)   34/    622A :                     ShowHex4:		
(1)   35/    622A : C24B                	mov r11,r9
(1)   36/    622C : 0460 6214           	b @ShowHex4b
(1)   37/    6230 :                     		;li r4,06000h
(1)   38/    6230 :                     		;li r5,00010h
(1)   39/    6230 :                     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(1)   40/    6230 :                     		
(1)   41/    6230 :                     ramdump:
(1)   42/    6230 : C20B                	mov r11,r8
(1)   43/    6232 : C084                	mov r4,r2
(1)   44/    6234 : 0203 3A20           	li r3,": "
(1)   45/    6238 : 06A0 622A           	bl @ShowHex4
(1)   46/    623C : 06C3                	swpb r3
(1)   47/    623E :                     ramdumpAgain:		
(1)   48/    623E : C0B4                	mov *r4+,r2
(1)   49/    6240 : 06A0 622A           	bl @ShowHex4
(1)   50/    6244 : 0605                	dec r5
(1)   51/    6246 : 16FB                	jne ramdumpAgain
(1)   52/    6248 :                     	
(1)   53/    6248 : 0458                	b *r8
(1)   54/    624A :                     Monitor:
(1)   55/    624A : 83E0                	word wspMonitor
(1)   56/    624C : 624C                	word DoMonitor	
(1)   57/    624E :                     	
(1)   58/    624E :                     	
(1)   59/    624E :                     DoMonitor:
(1)   60/    624E : C14D                		mov r13,r5
(1)   61/    6250 : 0206 0000           		li r6,0000h
(1)   62/    6254 :                     DoMonitorAgain:		
(1)   63/    6254 : C0B5                		mov *r5+,r2
(1)   64/    6256 : C046                		mov r6,r1
(1)   65/    6258 : 06A0 61FA           		bl @ShowReg
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm(monitor.asm) - page 7 - 3/15/2020 13:23:35


(1)   66/    625C : 0226 0100           		ai r6,0100h
(1)   67/    6260 : 0286 1000           		ci r6,1000h 
(1)   68/    6264 : 16F7                		jne DoMonitorAgain
(1)   69/    6266 : 0380                	RTWP
(1)   70/    6268 :                     
     270/    6268 :                     	include "\SrcAll\functions.asm"
(1)    1/    6268 :                     PrintCharR3:		
(1)    2/    6268 : C003                	mov r3,r0			;Move R3 into R0
(1)    3/    626A :                     PrintChar:
(1)    4/    626A : 0280 6000           	ci r0,6000h			;compare to 96
(1)    5/    626E : 11FF                	jlt PrintCharOk		;<96 then jump
(1)    6/    6270 :                     	
(1)    7/    6270 : 0220 E000           	ai r0,0E000h 		;R0=R0-32
(1)    8/    6274 :                     PrintCharOk:
(1)    9/    6274 :                     	;sb r2,r0
(1)   10/    6274 : D800 8C00           	movb r0,@VDPWD     ;* put next char on screen
(1)   11/    6278 :                     	
(1)   12/    6278 : D020 8320           	movb @CursorX,r0	;Load Cursor X
(1)   13/    627C : 0220 0100           	ai r0,0100h			;Inc 1 char
(1)   14/    6280 : D800 8320           	movb r0,@CursorX	;Save back
(1)   15/    6284 :                     		
(1)   16/    6284 : 045B                	B *R11				;Return
(1)   17/    6286 :                     	
(1)   18/    6286 :                     	
(1)   19/    6286 :                     NewLine:
(1)   20/    6286 : D020 8320           	movb @CursorX,r0	;Get Xpos
(1)   21/    628A :                     	
(1)   22/    628A :                     NewLineb:
(1)   23/    628A : 0201 0000           	li r1,0000h
(1)   24/    628E : D801 8C00           	movb r1,@VDPWD     	;Put Char on screen
(1)   25/    6292 : 0201 0100           	li r1,0100h
(1)   26/    6296 : B001                	ab r1,r0			;Inc 1 byte
(1)   27/    6298 : 0240 1F00           	andi r0,1F00h		;Line 32?
(1)   28/    629C : 16F6                	jne NewLineb		;Inc Xpos
(1)   29/    629E : D800 8320           	movb r0,@CursorX    ;Save New XPos
(1)   30/    62A2 :                     	
(1)   31/    62A2 : 045B                	B *R11				;Return
(1)   32/    62A4 :                     	
(1)   33/    62A4 :                     	
(1)   34/    62A4 :                     	
(1)   35/    62A4 :                     	
(1)   36/    62A4 :                     
(1)   37/    62A4 :                     ; set VDP RAM start address (low and high byte)
(1)   38/    62A4 :                     ScrInit:
(1)   39/    62A4 : 0200 4020           	LI      R0,4020h
(1)   40/    62A8 : 06C0                	SWPB    R0
(1)   41/    62AA : D800 8C02           	MOVB    R0,@VDPWA		;L
(1)   42/    62AE : 06C0                	SWPB    R0
(1)   43/    62B0 : D800 8C02           	MOVB    R0,@VDPWA		;H
(1)   44/    62B4 :                     
(1)   45/    62B4 : 0200 0000           	li r0,0000h
(1)   46/    62B8 : D800 8320           	movb r0,@CursorX		;Xpos
(1)   47/    62BC : 045B                	B *R11				;Return
     271/    62BE :                     
     272/    62BE :                     
     273/    62BE :                     
     274/    62BE :                     	
     275/    62BE :                     HELLOWORLD
     276/    62BE : 4845 4C4C 6F20 576F     BYTE "HELLo WoRLD!123:@"     ;* string data
                    524C 4421 3132 333A 
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 8 - 3/15/2020 13:23:35


                    4000                
     277/    62D0 : FF00                    BYTE 255
     278/    62D2 :                     ;    END
 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 9 - 3/15/2020 13:23:35


  symbol table (* = unused):
  ------------------------

*ADDRESSTESTS1 :               6052 C | *ADDRESSTESTS2 :               6070 C |
*ADDRESSTESTS3 :               60B4 C | *ADDSUB :                      610A C |
*ARCHITECTURE :  i386-unknown-win32 - | *BIGENDIAN :                      0 - |
*BRANCHEXT :                      0 - | *BUILDT99 :                       1 - |
*CASESENSITIVE :                  0 - | *CONSTPI :        3.141592653589793 - |
 CURSORX :                     8320 - | *DATE :                   3/15/2020 - |
*DOMONITOR :                   624E C | *DOMONITOR4 :                  619A C |
 DOMONITORAGAIN :              6254 C |  DOMONITORAGAIN4 :             61A0 C |
*DONEWLINE :                   61BC C | *DONEWLINEW :                  61B8 C |
*DORAMDUMP :                   6180 C | *FALSE :                          0 - |
*FULLPMMU :                       1 - | *HAS64 :                          1 - |
*HASDSP :                         0 - | *HASFPU :                         0 - |
*HASPMMU :                        0 - | *HELLOWORLD :                  62BE C |
*INCDEC :                      6140 C | *INEXTMODE :                      0 - |
 INFLOOP :                     6172 C |  INFLOOP2 :                    606E C |
*INLWORDMODE :                    0 - | *INMAXMODE :                      0 - |
*INSRCMODE :                      0 - | *INSUPMODE :                      0 - |
 LDIR :                        6174 C | *LISTON :                         1 - |
*MACEXP :                         7 - | *MOMCPU :                      9900 - |
*MOMCPUNAME :               TMS9900 - | *MONITOR :                     624A C |
*MONITOR4 :                    6196 C | *MOVELOAD :                    60EA C |
*NESTMAX :                      100 - | *NEWLINE :                     6286 C |
 NEWLINEB :                    628A C | *OFF2 :                         7D0 - |
*PACKING :                        0 - | *PADDING :                        1 - |
*PRINTCHAR :                   626A C | *PRINTCHAROK :                 6274 C |
*PRINTCHARR3 :                 6268 C | *PRINTSTRING :                 61C2 C |
 PRINTSTRINGAGAIN :            61C4 C | *PRINTSTRINGDONE :             61D4 C |
*PROGA :                       600C C | *PROGRAMSTART :                6022 C |
*RAMDUMP :                     6230 C |  RAMDUMPAGAIN :                623E C |
*RELAXED :                        0 - | *SCRINIT :                     62A4 C |
 SHOWHEX :                     61D6 C |  SHOWHEX4 :                    622A C |
 SHOWHEX4B :                   6214 C |  SHOWHEXDIGIT :                61E8 C |
*SHOWHEXDIGITOK :              61E4 C | *SHOWRAM :                     617C C |
 SHOWREG :                     61FA C | *TESTDATA :                    60CE C |
*TESTDATA1 :                   60DE C | *TESTDATA2 :                   60E2 C |
*TESTDATA3 :                   60E6 C | *TESTDATALOOKUP :              60D8 C |
*TIME :                    13:23:35 - | *TRUE :                           1 - |
 USERRAM :                     8300 - |  VDPWA :                       8C02 - |
 VDPWD :                       8C00 - | *VERSION :                     142F - |
 WSPDEFAULT :                  83C0 - |  WSPMONITOR :                  83E0 - |

     80 symbols
     61 unused symbols

 AS V1.42 Beta [Bld 145] - source file Lesson2.asm - page 10 - 3/15/2020 13:23:35


  codepages:
  ----------

STANDARD (0 changed characters)


0.01 seconds assembly time

    413 lines source file
      1 pass
        additional necessary passes not started due to
        errors, listing possibly incorrect
      2 errors
      4 warnings
