AS80 Assembler for i8080-Z180 [1.11]. Page 1
|
AS80 Assembler for i8080-Z180 [1.11]. Page 1
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
-------------------------------- Symbol Table --------------------------------
|
-------------------------------- Symbol Table --------------------------------
|
|
|
Symbol Value Decimal
|
Symbol Value Decimal
|
|
|
ccand : $0064 100
|
ccand : $0064 100
|
ccasl : $00d4 212
|
ccasl : $00d4 212
|
ccasr : $00c6 198
|
ccasr : $00c6 198
|
ccbcneg : $0157 343
|
ccbcneg : $0157 343
|
cccmp : $0091 145
|
cccmp : $0091 145
|
cccmpbcde : $0167 359
|
cccmpbcde : $0167 359
|
cccmp1 : $009e 158
|
cccmp1 : $009e 158
|
cccom : $00e7 231
|
cccom : $00e7 231
|
ccdeneg : $014f 335
|
ccdeneg : $014f 335
|
ccdiv : $010e 270
|
ccdiv : $010e 270
|
ccdiv1 : $0124 292
|
ccdiv1 : $0124 292
|
ccdiv2 : $013b 315
|
ccdiv2 : $013b 315
|
ccdiv3 : $0144 324
|
ccdiv3 : $0144 324
|
cceq : $006b 107
|
cceq : $006b 107
|
ccgchar : $0042 66
|
ccgchar : $0042 66
|
ccge : $0085 133
|
ccge : $0085 133
|
ccgint : $0048 72
|
ccgint : $0048 72
|
ccgt : $0077 119
|
ccgt : $0077 119
|
ccle : $007e 126
|
ccle : $007e 126
|
cclt : $008b 139
|
cclt : $008b 139
|
ccmult : $00ee 238
|
ccmult : $00ee 238
|
ccmult1 : $00f3 243
|
ccmult1 : $00f3 243
|
ccne : $0071 113
|
ccne : $0071 113
|
ccneg : $00e2 226
|
ccneg : $00e2 226
|
ccor : $0056 86
|
ccor : $0056 86
|
ccpchar : $004d 77
|
ccpchar : $004d 77
|
ccpint : $0050 80
|
ccpint : $0050 80
|
ccrdel : $015f 351
|
ccrdel : $015f 351
|
ccsub : $00db 219
|
ccsub : $00db 219
|
ccsxt : $0043 67
|
ccsxt : $0043 67
|
ccucmp : $00bb 187
|
ccucmp : $00bb 187
|
ccuge : $00a1 161
|
ccuge : $00a1 161
|
ccugt : $00ad 173
|
ccugt : $00ad 173
|
ccule : $00b4 180
|
ccule : $00b4 180
|
ccult : $00a7 167
|
ccult : $00a7 167
|
ccxor : $005d 93
|
ccxor : $005d 93
|
cc1 : $03d0 976
|
cc1 : $03d0 976
|
cc10 : $02bb 699
|
cc10 : $02bb 699
|
cc11 : $0310 784
|
cc11 : $0310 784
|
cc12 : $0322 802
|
cc12 : $0322 802
|
cc13 : $03b1 945
|
cc13 : $03b1 945
|
cc14 : $03cf 975
|
cc14 : $03cf 975
|
cc15 : $03cc 972
|
cc15 : $03cc 972
|
cc2 : $016c 364
|
cc2 : $016c 364
|
cc3 : $0181 385
|
cc3 : $0181 385
|
cc4 : $01ae 430
|
cc4 : $01ae 430
|
cc5 : $01b2 434
|
cc5 : $01b2 434
|
cc6 : $01c4 452
|
cc6 : $01c4 452
|
cc7 : $01f4 500
|
cc7 : $01f4 500
|
cc8 : $0224 548
|
cc8 : $0224 548
|
cc9 : $0262 610
|
cc9 : $0262 610
|
__getbyte : $018c 396
|
__getbyte : $018c 396
|
__int0_isr : $0324 804
|
__int0_isr : $0324 804
|
__main : $0330 816
|
__main : $0330 816
|
__nl : $01b3 435
|
__nl : $01b3 435
|
__outint : $0231 561
|
__outint : $0231 561
|
__printdec : $01f5 501
|
__printdec : $01f5 501
|
__printhex : $028a 650
|
__printhex : $028a 650
|
AS80 Assembler for i8080-Z180 [1.11]. Page 2
|
AS80 Assembler for i8080-Z180 [1.11]. Page 2
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
__printstr : $01c4 452
|
__printstr : $01c4 452
|
__rxbyte : $042c 1068
|
__rxbyte : $042c 1068
|
__sendbyte : $016c 364
|
__sendbyte : $016c 364
|
__tstary : $042d 1069
|
__tstary : $042d 1069
|
__8080__ : $0001 1
|
__8080__ : $0001 1
|
|
|
63 labels used
|
63 labels used
|
|
|
924 lines read, no errors in pass 1.
|
919 lines read, no errors in pass 1.
|
AS80 Assembler for i8080-Z180 [1.11]. Page 3
|
AS80 Assembler for i8080-Z180 [1.11]. Page 3
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
; <><><> Small-C V1.2 DOS--CP/M Cross Compiler <
|
; <><><> Small-C V1.2 DOS--CP/M Cross Compiler <
|
; <><><><><> CP/M Large String Space Version <><><
|
; <><><><><> CP/M Large String Space Version <><><
|
; <><><><><><><><><><> By Ron Cain <><><><><><><><
|
; <><><><><><><><><><> By Ron Cain <><><><><><><><
|
;
|
;
|
code
|
code
|
0000 = org #0000
|
0000 = org #0000
|
0000 : 21000c ld hl,3072
|
0000 : 21000c ld hl,3072
|
0003 : f9 ld sp,hl
|
0003 : f9 ld sp,hl
|
0004 : cd3003 call __main
|
0004 : cd3003 call __main
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// Project: light8080 SOC WiCores Solutions
|
;// Project: light8080 SOC WiCores Solutions
|
;//
|
;//
|
;// File name: hello.c (February 04, 2012)
|
;// File name: hello.c (February 04, 2012)
|
;//
|
;//
|
;// Writer: Moti Litochevski
|
;// Writer: Moti Litochevski
|
;//
|
;//
|
;// Description:
|
;// Description:
|
;// This file contains a simple program written in Sm
|
;// This file contains a simple program written in Sm
|
;// the UART and then switches to echo received bytes
|
;// the UART and then switches to echo received bytes
|
;// This example also include a simple interrupt exam
|
;// This example also include a simple interrupt exam
|
;// verilog testbench. the testbench
|
;// verilog testbench. the testbench
|
;//
|
;//
|
;// Revision History:
|
;// Revision History:
|
;//
|
;//
|
;// Rev
|
;// Rev
|
;//
|
;//
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// define interrupt vectors
|
;// define interrupt vectors
|
;// note that this file must be edited to enable inter
|
;// note that this file must be edited to enable inter
|
;#include intr_vec.h
|
;#include intr_vec.h
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// Project: light8080 SOC WiCores Solutions
|
;// Project: light8080 SOC WiCores Solutions
|
;//
|
;//
|
;// File name: intr_vec.h (March 03, 2012)
|
;// File name: intr_vec.h (March 03, 2012)
|
;//
|
;//
|
;// Writer: Moti Litochevski
|
;// Writer: Moti Litochevski
|
;//
|
;//
|
;// Description:
|
;// Description:
|
;// This file contains a simple example of calling in
|
;// This file contains a simple example of calling in
|
;// file defines the interrupt vector for external in
|
;// file defines the interrupt vector for external in
|
;// 0x0008. the interrupts vectors addresses are set
|
;// 0x0008. the interrupts vectors addresses are set
|
;// controller "intr_ctrl.v" file.
|
;// controller "intr_ctrl.v" file.
|
;// Code is generated for all 4 supported external in
|
;// Code is generated for all 4 supported external in
|
;// are not called.
|
;// are not called.
|
;// On execution of an interrupt the CPU will automat
|
;// On execution of an interrupt the CPU will automat
|
;// enable flag set by the EI instruction. the interr
|
;// enable flag set by the EI instruction. the interr
|
;// enable the interrupts again after interrupt servi
|
;// enable the interrupts again after interrupt servi
|
;// nested interrupts just move the EI instruction to
|
;// nested interrupts just move the EI instruction to
|
;// call instruction to the service routine (see comm
|
;// call instruction to the service routine (see comm
|
;// Note that this code is not optimized in any way.
|
;// Note that this code is not optimized in any way.
|
;// verify the interrupt mechanism of the light8080 C
|
;// verify the interrupt mechanism of the light8080 C
|
;//
|
;//
|
;// Revision History:
|
;// Revision History:
|
;//
|
;//
|
;// Rev
|
;// Rev
|
;//
|
;//
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// to support interrupt enable the respective interru
|
;// to support interrupt enable the respective interru
|
;// beginning of the output assembly file. only the in
|
;// beginning of the output assembly file. only the in
|
;// should call a valid interrupt service routine name
|
;// should call a valid interrupt service routine name
|
;// C function name should be prefixed by "__".
|
;// C function name should be prefixed by "__".
|
;#asm
|
;#asm
|
AS80 Assembler for i8080-Z180 [1.11]. Page 4
|
AS80 Assembler for i8080-Z180 [1.11]. Page 4
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
;Preserve space for interrupt routines
|
;Preserve space for interrupt routines
|
;interrupt 0 vector
|
;interrupt 0 vector
|
0008 = org #0008
|
0008 = org #0008
|
0008 : f5 push af
|
0008 : f5 push af
|
0009 : c5 push bc
|
0009 : c5 push bc
|
000a : d5 push de
|
000a : d5 push de
|
000b : e5 push hl
|
000b : e5 push hl
|
; ei ; to enable nested interrupts uncomment this
|
; ei ; to enable nested interrupts uncomment this
|
000c : cd2403 call __int0_isr
|
000c : cd2403 call __int0_isr
|
000f : e1 pop hl
|
000f : e1 pop hl
|
0010 : d1 pop de
|
0010 : d1 pop de
|
0011 : c1 pop bc
|
0011 : c1 pop bc
|
0012 : f1 pop af
|
0012 : f1 pop af
|
0013 : fb ei ; interrupt are not enabled during the execut
|
0013 : fb ei ; interrupt are not enabled during the execut
|
0014 : c9 ret
|
0014 : c9 ret
|
;interrupt 1 vector
|
;interrupt 1 vector
|
0018 = org #0018
|
0018 = org #0018
|
0018 : f5 push af
|
0018 : f5 push af
|
0019 : c5 push bc
|
0019 : c5 push bc
|
001a : d5 push de
|
001a : d5 push de
|
001b : e5 push hl
|
001b : e5 push hl
|
; call __int1_isr ; interrupt not used
|
; call __int1_isr ; interrupt not used
|
001c : e1 pop hl
|
001c : e1 pop hl
|
001d : d1 pop de
|
001d : d1 pop de
|
001e : c1 pop bc
|
001e : c1 pop bc
|
001f : f1 pop af
|
001f : f1 pop af
|
0020 : fb ei
|
0020 : fb ei
|
0021 : c9 ret
|
0021 : c9 ret
|
;interrupt 2 vector
|
;interrupt 2 vector
|
0028 = org #0028
|
0028 = org #0028
|
0028 : f5 push af
|
0028 : f5 push af
|
0029 : c5 push bc
|
0029 : c5 push bc
|
002a : d5 push de
|
002a : d5 push de
|
002b : e5 push hl
|
002b : e5 push hl
|
; call __int2_isr ; interrupt not used
|
; call __int2_isr ; interrupt not used
|
002c : e1 pop hl
|
002c : e1 pop hl
|
002d : d1 pop de
|
002d : d1 pop de
|
002e : c1 pop bc
|
002e : c1 pop bc
|
002f : f1 pop af
|
002f : f1 pop af
|
0030 : fb ei
|
0030 : fb ei
|
0031 : c9 ret
|
0031 : c9 ret
|
;interrupt 3 vector
|
;interrupt 3 vector
|
0038 = org #0038
|
0038 = org #0038
|
0038 : f5 push af
|
0038 : f5 push af
|
0039 : c5 push bc
|
0039 : c5 push bc
|
003a : d5 push de
|
003a : d5 push de
|
003b : e5 push hl
|
003b : e5 push hl
|
; call __int3_isr ; interrupt not used
|
; call __int3_isr ; interrupt not used
|
003c : e1 pop hl
|
003c : e1 pop hl
|
003d : d1 pop de
|
003d : d1 pop de
|
003e : c1 pop bc
|
003e : c1 pop bc
|
003f : f1 pop af
|
003f : f1 pop af
|
0040 : fb ei
|
0040 : fb ei
|
0041 : c9 ret
|
0041 : c9 ret
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// Th.. Th.. Th.. Thats all folks !!!
|
;// Th.. Th.. Th.. Thats all folks !!!
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// insert c80 assmbly library to the output file
|
;// insert c80 assmbly library to the output file
|
;#include ..\tools\c80\c80.lib
|
;#include ..\tools\c80\c80.lib
|
;#asm
|
;#asm
|
;
|
;
|
;-----------------------------------------------------
|
;-----------------------------------------------------
|
AS80 Assembler for i8080-Z180 [1.11]. Page 5
|
AS80 Assembler for i8080-Z180 [1.11]. Page 5
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
; Small-C Run-time Librray
|
; Small-C Run-time Librray
|
;
|
;
|
; V4d As of July 16, 1980 (gtf)
|
; V4d As of July 16, 1980 (gtf)
|
; Added EXIT() function
|
; Added EXIT() function
|
;-----------------------------------------------------
|
;-----------------------------------------------------
|
;
|
;
|
;Fetch a single byte from the address in HL and sign e
|
;Fetch a single byte from the address in HL and sign e
|
0042 : ccgchar:
|
0042 : ccgchar:
|
0042 : 7e ld a,(hl)
|
0042 : 7e ld a,(hl)
|
0043 : ccsxt:
|
0043 : ccsxt:
|
0043 : 6f ld l,a
|
0043 : 6f ld l,a
|
0044 : 07 rlca
|
0044 : 07 rlca
|
0045 : 9f sbc a
|
0045 : 9f sbc a
|
0046 : 67 ld h,a
|
0046 : 67 ld h,a
|
0047 : c9 ret
|
0047 : c9 ret
|
;Fetch a full 16-bit integer from the address in HL
|
;Fetch a full 16-bit integer from the address in HL
|
0048 : ccgint:
|
0048 : ccgint:
|
0048 : 7e ld a,(hl)
|
0048 : 7e ld a,(hl)
|
0049 : 23 inc hl
|
0049 : 23 inc hl
|
004a : 66 ld h,(hl)
|
004a : 66 ld h,(hl)
|
004b : 6f ld l,a
|
004b : 6f ld l,a
|
004c : c9 ret
|
004c : c9 ret
|
;Store a single byte from HL at the address in DE
|
;Store a single byte from HL at the address in DE
|
004d : ccpchar:
|
004d : ccpchar:
|
004d : 7d ld a,l
|
004d : 7d ld a,l
|
004e : 12 ld (de),a
|
004e : 12 ld (de),a
|
004f : c9 ret
|
004f : c9 ret
|
;Store a 16-bit integer in HL at the address in DE
|
;Store a 16-bit integer in HL at the address in DE
|
0050 : ccpint:
|
0050 : ccpint:
|
0050 : 7d ld a,l
|
0050 : 7d ld a,l
|
0051 : 12 ld (de),a
|
0051 : 12 ld (de),a
|
0052 : 13 inc de
|
0052 : 13 inc de
|
0053 : 7c ld a,h
|
0053 : 7c ld a,h
|
0054 : 12 ld (de),a
|
0054 : 12 ld (de),a
|
0055 : c9 ret
|
0055 : c9 ret
|
;Inclusive "or" HL and DE into HL
|
;Inclusive "or" HL and DE into HL
|
0056 : ccor:
|
0056 : ccor:
|
0056 : 7d ld a,l
|
0056 : 7d ld a,l
|
0057 : b3 or e
|
0057 : b3 or e
|
0058 : 6f ld l,a
|
0058 : 6f ld l,a
|
0059 : 7c ld a,h
|
0059 : 7c ld a,h
|
005a : b2 or d
|
005a : b2 or d
|
005b : 67 ld h,a
|
005b : 67 ld h,a
|
005c : c9 ret
|
005c : c9 ret
|
;Exclusive "or" HL and DE into HL
|
;Exclusive "or" HL and DE into HL
|
005d : ccxor:
|
005d : ccxor:
|
005d : 7d ld a,l
|
005d : 7d ld a,l
|
005e : ab xor e
|
005e : ab xor e
|
005f : 6f ld l,a
|
005f : 6f ld l,a
|
0060 : 7c ld a,h
|
0060 : 7c ld a,h
|
0061 : aa xor d
|
0061 : aa xor d
|
0062 : 67 ld h,a
|
0062 : 67 ld h,a
|
0063 : c9 ret
|
0063 : c9 ret
|
;"And" HL and DE into HL
|
;"And" HL and DE into HL
|
0064 : ccand:
|
0064 : ccand:
|
0064 : 7d ld a,l
|
0064 : 7d ld a,l
|
0065 : a3 and e
|
0065 : a3 and e
|
0066 : 6f ld l,a
|
0066 : 6f ld l,a
|
0067 : 7c ld a,h
|
0067 : 7c ld a,h
|
0068 : a2 and d
|
0068 : a2 and d
|
0069 : 67 ld h,a
|
0069 : 67 ld h,a
|
006a : c9 ret
|
006a : c9 ret
|
AS80 Assembler for i8080-Z180 [1.11]. Page 6
|
AS80 Assembler for i8080-Z180 [1.11]. Page 6
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
;Test if HL = DE and set HL = 1 if true else 0
|
;Test if HL = DE and set HL = 1 if true else 0
|
006b : cceq:
|
006b : cceq:
|
006b : cd9100 call cccmp
|
006b : cd9100 call cccmp
|
006e : c8 ret z
|
006e : c8 ret z
|
006f : 2b dec hl
|
006f : 2b dec hl
|
0070 : c9 ret
|
0070 : c9 ret
|
;Test if DE ~= HL
|
;Test if DE ~= HL
|
0071 : ccne:
|
0071 : ccne:
|
0071 : cd9100 call cccmp
|
0071 : cd9100 call cccmp
|
0074 : c0 ret nz
|
0074 : c0 ret nz
|
0075 : 2b dec hl
|
0075 : 2b dec hl
|
0076 : c9 ret
|
0076 : c9 ret
|
;Test if DE > HL (signed)
|
;Test if DE > HL (signed)
|
0077 : ccgt:
|
0077 : ccgt:
|
0077 : eb ex de,hl
|
0077 : eb ex de,hl
|
0078 : cd9100 call cccmp
|
0078 : cd9100 call cccmp
|
007b : d8 ret c
|
007b : d8 ret c
|
007c : 2b dec hl
|
007c : 2b dec hl
|
007d : c9 ret
|
007d : c9 ret
|
;Test if DE <= HL (signed)
|
;Test if DE <= HL (signed)
|
007e : ccle:
|
007e : ccle:
|
007e : cd9100 call cccmp
|
007e : cd9100 call cccmp
|
0081 : c8 ret z
|
0081 : c8 ret z
|
0082 : d8 ret c
|
0082 : d8 ret c
|
0083 : 2b dec hl
|
0083 : 2b dec hl
|
0084 : c9 ret
|
0084 : c9 ret
|
;Test if DE >= HL (signed)
|
;Test if DE >= HL (signed)
|
0085 : ccge:
|
0085 : ccge:
|
0085 : cd9100 call cccmp
|
0085 : cd9100 call cccmp
|
0088 : d0 ret nc
|
0088 : d0 ret nc
|
0089 : 2b dec hl
|
0089 : 2b dec hl
|
008a : c9 ret
|
008a : c9 ret
|
;Test if DE < HL (signed)
|
;Test if DE < HL (signed)
|
008b : cclt:
|
008b : cclt:
|
008b : cd9100 call cccmp
|
008b : cd9100 call cccmp
|
008e : d8 ret c
|
008e : d8 ret c
|
008f : 2b dec hl
|
008f : 2b dec hl
|
0090 : c9 ret
|
0090 : c9 ret
|
; Signed compare of DE and HL
|
; Signed compare of DE and HL
|
; Performs DE - HL and sets the conditions:
|
; Performs DE - HL and sets the conditions:
|
; Carry reflects sign of difference (set means DE < HL
|
; Carry reflects sign of difference (set means DE < HL
|
; Zero/non-zero set according to equality.
|
; Zero/non-zero set according to equality.
|
0091 : cccmp:
|
0091 : cccmp:
|
0091 : 7b ld a,e
|
0091 : 7b ld a,e
|
0092 : 95 sub l
|
0092 : 95 sub l
|
0093 : 5f ld e,a
|
0093 : 5f ld e,a
|
0094 : 7a ld a,d
|
0094 : 7a ld a,d
|
0095 : 9c sbc h
|
0095 : 9c sbc h
|
0096 : 210100 ld hl,1
|
0096 : 210100 ld hl,1
|
0099 : fa9e00 jp m,cccmp1
|
0099 : fa9e00 jp m,cccmp1
|
009c : b3 or e ;"OR" resets carry
|
009c : b3 or e ;"OR" resets carry
|
009d : c9 ret
|
009d : c9 ret
|
009e : cccmp1:
|
009e : cccmp1:
|
009e : b3 or e
|
009e : b3 or e
|
009f : 37 scf ;set carry to signal minus
|
009f : 37 scf ;set carry to signal minus
|
00a0 : c9 ret
|
00a0 : c9 ret
|
;Test if DE >= HL (unsigned)
|
;Test if DE >= HL (unsigned)
|
00a1 : ccuge:
|
00a1 : ccuge:
|
00a1 : cdbb00 call ccucmp
|
00a1 : cdbb00 call ccucmp
|
00a4 : d0 ret nc
|
00a4 : d0 ret nc
|
00a5 : 2b dec hl
|
00a5 : 2b dec hl
|
00a6 : c9 ret
|
00a6 : c9 ret
|
AS80 Assembler for i8080-Z180 [1.11]. Page 7
|
AS80 Assembler for i8080-Z180 [1.11]. Page 7
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
;Test if DE < HL (unsigned)
|
;Test if DE < HL (unsigned)
|
00a7 : ccult:
|
00a7 : ccult:
|
00a7 : cdbb00 call ccucmp
|
00a7 : cdbb00 call ccucmp
|
00aa : d8 ret c
|
00aa : d8 ret c
|
00ab : 2b dec hl
|
00ab : 2b dec hl
|
00ac : c9 ret
|
00ac : c9 ret
|
;Test if DE > HL (unsigned)
|
;Test if DE > HL (unsigned)
|
00ad : ccugt:
|
00ad : ccugt:
|
00ad : eb ex de,hl
|
00ad : eb ex de,hl
|
00ae : cdbb00 call ccucmp
|
00ae : cdbb00 call ccucmp
|
00b1 : d8 ret c
|
00b1 : d8 ret c
|
00b2 : 2b dec hl
|
00b2 : 2b dec hl
|
00b3 : c9 ret
|
00b3 : c9 ret
|
;Test if DE <= HL (unsigned)
|
;Test if DE <= HL (unsigned)
|
00b4 : ccule:
|
00b4 : ccule:
|
00b4 : cdbb00 call ccucmp
|
00b4 : cdbb00 call ccucmp
|
00b7 : c8 ret z
|
00b7 : c8 ret z
|
00b8 : d8 ret c
|
00b8 : d8 ret c
|
00b9 : 2b dec hl
|
00b9 : 2b dec hl
|
00ba : c9 ret
|
00ba : c9 ret
|
;Routine to perform unsigned compare
|
;Routine to perform unsigned compare
|
;carry set if DE < HL
|
;carry set if DE < HL
|
;zero/nonzero set accordingly
|
;zero/nonzero set accordingly
|
00bb : ccucmp:
|
00bb : ccucmp:
|
00bb : 7a ld a,d
|
00bb : 7a ld a,d
|
00bc : bc cp h
|
00bc : bc cp h
|
00bd : c2c200 jp nz,$+5
|
00bd : c2c200 jp nz,$+5
|
00c0 : 7b ld a,e
|
00c0 : 7b ld a,e
|
00c1 : bd cp l
|
00c1 : bd cp l
|
00c2 : 210100 ld hl,1
|
00c2 : 210100 ld hl,1
|
00c5 : c9 ret
|
00c5 : c9 ret
|
;Shift DE arithmetically right by HL and return in HL
|
;Shift DE arithmetically right by HL and return in HL
|
00c6 : ccasr:
|
00c6 : ccasr:
|
00c6 : eb ex de,hl
|
00c6 : eb ex de,hl
|
00c7 : 7c ld a,h
|
00c7 : 7c ld a,h
|
00c8 : 17 rla
|
00c8 : 17 rla
|
00c9 : 7c ld a,h
|
00c9 : 7c ld a,h
|
00ca : 1f rra
|
00ca : 1f rra
|
00cb : 67 ld h,a
|
00cb : 67 ld h,a
|
00cc : 7d ld a,l
|
00cc : 7d ld a,l
|
00cd : 1f rra
|
00cd : 1f rra
|
00ce : 6f ld l,a
|
00ce : 6f ld l,a
|
00cf : 1d dec e
|
00cf : 1d dec e
|
00d0 : c2c700 jp nz,ccasr+1
|
00d0 : c2c700 jp nz,ccasr+1
|
00d3 : c9 ret
|
00d3 : c9 ret
|
;Shift DE arithmetically left by HL and return in HL
|
;Shift DE arithmetically left by HL and return in HL
|
00d4 : ccasl:
|
00d4 : ccasl:
|
00d4 : eb ex de,hl
|
00d4 : eb ex de,hl
|
00d5 : 29 add hl,hl
|
00d5 : 29 add hl,hl
|
00d6 : 1d dec e
|
00d6 : 1d dec e
|
00d7 : c2d500 jp nz,ccasl+1
|
00d7 : c2d500 jp nz,ccasl+1
|
00da : c9 ret
|
00da : c9 ret
|
;Subtract HL from DE and return in HL
|
;Subtract HL from DE and return in HL
|
00db : ccsub:
|
00db : ccsub:
|
00db : 7b ld a,e
|
00db : 7b ld a,e
|
00dc : 95 sub l
|
00dc : 95 sub l
|
00dd : 6f ld l,a
|
00dd : 6f ld l,a
|
00de : 7a ld a,d
|
00de : 7a ld a,d
|
00df : 9c sbc h
|
00df : 9c sbc h
|
00e0 : 67 ld h,a
|
00e0 : 67 ld h,a
|
00e1 : c9 ret
|
00e1 : c9 ret
|
;Form the two's complement of HL
|
;Form the two's complement of HL
|
AS80 Assembler for i8080-Z180 [1.11]. Page 8
|
AS80 Assembler for i8080-Z180 [1.11]. Page 8
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
00e2 : ccneg:
|
00e2 : ccneg:
|
00e2 : cde700 call cccom
|
00e2 : cde700 call cccom
|
00e5 : 23 inc hl
|
00e5 : 23 inc hl
|
00e6 : c9 ret
|
00e6 : c9 ret
|
;Form the one's complement of HL
|
;Form the one's complement of HL
|
00e7 : cccom:
|
00e7 : cccom:
|
00e7 : 7c ld a,h
|
00e7 : 7c ld a,h
|
00e8 : 2f cpl
|
00e8 : 2f cpl
|
00e9 : 67 ld h,a
|
00e9 : 67 ld h,a
|
00ea : 7d ld a,l
|
00ea : 7d ld a,l
|
00eb : 2f cpl
|
00eb : 2f cpl
|
00ec : 6f ld l,a
|
00ec : 6f ld l,a
|
00ed : c9 ret
|
00ed : c9 ret
|
;Multiply DE by HL and return in HL
|
;Multiply DE by HL and return in HL
|
00ee : ccmult:
|
00ee : ccmult:
|
00ee : 44 ld b,h
|
00ee : 44 ld b,h
|
00ef : 4d ld c,l
|
00ef : 4d ld c,l
|
00f0 : 210000 ld hl,0
|
00f0 : 210000 ld hl,0
|
00f3 : ccmult1:
|
00f3 : ccmult1:
|
00f3 : 79 ld a,c
|
00f3 : 79 ld a,c
|
00f4 : 0f rrca
|
00f4 : 0f rrca
|
00f5 : d2f900 jp nc,$+4
|
00f5 : d2f900 jp nc,$+4
|
00f8 : 19 add hl,de
|
00f8 : 19 add hl,de
|
00f9 : af xor a
|
00f9 : af xor a
|
00fa : 78 ld a,b
|
00fa : 78 ld a,b
|
00fb : 1f rra
|
00fb : 1f rra
|
00fc : 47 ld b,a
|
00fc : 47 ld b,a
|
00fd : 79 ld a,c
|
00fd : 79 ld a,c
|
00fe : 1f rra
|
00fe : 1f rra
|
00ff : 4f ld c,a
|
00ff : 4f ld c,a
|
0100 : b0 or b
|
0100 : b0 or b
|
0101 : c8 ret z
|
0101 : c8 ret z
|
0102 : af xor a
|
0102 : af xor a
|
0103 : 7b ld a,e
|
0103 : 7b ld a,e
|
0104 : 17 rla
|
0104 : 17 rla
|
0105 : 5f ld e,a
|
0105 : 5f ld e,a
|
0106 : 7a ld a,d
|
0106 : 7a ld a,d
|
0107 : 17 rla
|
0107 : 17 rla
|
0108 : 57 ld d,a
|
0108 : 57 ld d,a
|
0109 : b3 or e
|
0109 : b3 or e
|
010a : c8 ret z
|
010a : c8 ret z
|
010b : c3f300 jp ccmult1
|
010b : c3f300 jp ccmult1
|
;Divide DE by HL and return quotient in HL, remainder
|
;Divide DE by HL and return quotient in HL, remainder
|
010e : ccdiv:
|
010e : ccdiv:
|
010e : 44 ld b,h
|
010e : 44 ld b,h
|
010f : 4d ld c,l
|
010f : 4d ld c,l
|
0110 : 7a ld a,d
|
0110 : 7a ld a,d
|
0111 : a8 xor b
|
0111 : a8 xor b
|
0112 : f5 push af
|
0112 : f5 push af
|
0113 : 7a ld a,d
|
0113 : 7a ld a,d
|
0114 : b7 or a
|
0114 : b7 or a
|
0115 : fc4f01 call m,ccdeneg
|
0115 : fc4f01 call m,ccdeneg
|
0118 : 78 ld a,b
|
0118 : 78 ld a,b
|
0119 : b7 or a
|
0119 : b7 or a
|
011a : fc5701 call m,ccbcneg
|
011a : fc5701 call m,ccbcneg
|
011d : 3e10 ld a,16
|
011d : 3e10 ld a,16
|
011f : f5 push af
|
011f : f5 push af
|
0120 : eb ex de,hl
|
0120 : eb ex de,hl
|
0121 : 110000 ld de,0
|
0121 : 110000 ld de,0
|
0124 : ccdiv1:
|
0124 : ccdiv1:
|
0124 : 29 add hl,hl
|
0124 : 29 add hl,hl
|
0125 : cd5f01 call ccrdel
|
0125 : cd5f01 call ccrdel
|
AS80 Assembler for i8080-Z180 [1.11]. Page 9
|
AS80 Assembler for i8080-Z180 [1.11]. Page 9
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
0128 : ca3b01 jp z,ccdiv2
|
0128 : ca3b01 jp z,ccdiv2
|
012b : cd6701 call cccmpbcde
|
012b : cd6701 call cccmpbcde
|
012e : fa3b01 jp m,ccdiv2
|
012e : fa3b01 jp m,ccdiv2
|
0131 : 7d ld a,l
|
0131 : 7d ld a,l
|
0132 : f601 or 1
|
0132 : f601 or 1
|
0134 : 6f ld l,a
|
0134 : 6f ld l,a
|
0135 : 7b ld a,e
|
0135 : 7b ld a,e
|
0136 : 91 sub c
|
0136 : 91 sub c
|
0137 : 5f ld e,a
|
0137 : 5f ld e,a
|
0138 : 7a ld a,d
|
0138 : 7a ld a,d
|
0139 : 98 sbc b
|
0139 : 98 sbc b
|
013a : 57 ld d,a
|
013a : 57 ld d,a
|
013b : ccdiv2:
|
013b : ccdiv2:
|
013b : f1 pop af
|
013b : f1 pop af
|
013c : 3d dec a
|
013c : 3d dec a
|
013d : ca4401 jp z,ccdiv3
|
013d : ca4401 jp z,ccdiv3
|
0140 : f5 push af
|
0140 : f5 push af
|
0141 : c32401 jp ccdiv1
|
0141 : c32401 jp ccdiv1
|
0144 : ccdiv3:
|
0144 : ccdiv3:
|
0144 : f1 pop af
|
0144 : f1 pop af
|
0145 : f0 ret p
|
0145 : f0 ret p
|
0146 : cd4f01 call ccdeneg
|
0146 : cd4f01 call ccdeneg
|
0149 : eb ex de,hl
|
0149 : eb ex de,hl
|
014a : cd4f01 call ccdeneg
|
014a : cd4f01 call ccdeneg
|
014d : eb ex de,hl
|
014d : eb ex de,hl
|
014e : c9 ret
|
014e : c9 ret
|
014f : ccdeneg:
|
014f : ccdeneg:
|
014f : 7a ld a,d
|
014f : 7a ld a,d
|
0150 : 2f cpl
|
0150 : 2f cpl
|
0151 : 57 ld d,a
|
0151 : 57 ld d,a
|
0152 : 7b ld a,e
|
0152 : 7b ld a,e
|
0153 : 2f cpl
|
0153 : 2f cpl
|
0154 : 5f ld e,a
|
0154 : 5f ld e,a
|
0155 : 13 inc de
|
0155 : 13 inc de
|
0156 : c9 ret
|
0156 : c9 ret
|
0157 : ccbcneg:
|
0157 : ccbcneg:
|
0157 : 78 ld a,b
|
0157 : 78 ld a,b
|
0158 : 2f cpl
|
0158 : 2f cpl
|
0159 : 47 ld b,a
|
0159 : 47 ld b,a
|
015a : 79 ld a,c
|
015a : 79 ld a,c
|
015b : 2f cpl
|
015b : 2f cpl
|
015c : 4f ld c,a
|
015c : 4f ld c,a
|
015d : 03 inc bc
|
015d : 03 inc bc
|
015e : c9 ret
|
015e : c9 ret
|
015f : ccrdel:
|
015f : ccrdel:
|
015f : 7b ld a,e
|
015f : 7b ld a,e
|
0160 : 17 rla
|
0160 : 17 rla
|
0161 : 5f ld e,a
|
0161 : 5f ld e,a
|
0162 : 7a ld a,d
|
0162 : 7a ld a,d
|
0163 : 17 rla
|
0163 : 17 rla
|
0164 : 57 ld d,a
|
0164 : 57 ld d,a
|
0165 : b3 or e
|
0165 : b3 or e
|
0166 : c9 ret
|
0166 : c9 ret
|
0167 : cccmpbcde:
|
0167 : cccmpbcde:
|
0167 : 7b ld a,e
|
0167 : 7b ld a,e
|
0168 : 91 sub c
|
0168 : 91 sub c
|
0169 : 7a ld a,d
|
0169 : 7a ld a,d
|
016a : 98 sbc b
|
016a : 98 sbc b
|
016b : c9 ret
|
016b : c9 ret
|
;// UART IO registers
|
;// UART IO registers
|
;port (128) UDATA; // uart data register used for bot
|
;port (128) UDATA; // uart data register used for bot
|
;port (129) UBAUDL; // low byte of baud rate register
|
;port (129) UBAUDL; // low byte of baud rate register
|
AS80 Assembler for i8080-Z180 [1.11]. Page 10
|
AS80 Assembler for i8080-Z180 [1.11]. Page 10
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
;port (130) UBAUDH; // low byte of baud rate register
|
;port (130) UBAUDH; // low byte of baud rate register
|
;port (131) USTAT; // uart status register
|
;port (131) USTAT; // uart status register
|
;// digital IO ports registers
|
;// digital IO ports registers
|
;port (132) P1DATA; // port 1 data register
|
;port (132) P1DATA; // port 1 data register
|
;port (133) P1DIR; // port 1 direction register contr
|
;port (133) P1DIR; // port 1 direction register contr
|
;port (134) P2DATA; // port 2 data register
|
;port (134) P2DATA; // port 2 data register
|
;port (135) P2DIR; // port 2 direction register contr
|
;port (135) P2DIR; // port 2 direction register contr
|
;// interrupt controller register
|
;// interrupt controller register
|
;port (136) INTRENA; // interrupts enable register
|
;port (136) INTRENA; // interrupts enable register
|
;// simulation end register
|
;// simulation end register
|
;// writing any value to this port will end the verilo
|
;// writing any value to this port will end the verilo
|
;// test bench.
|
;// test bench.
|
;port (255) SIMEND;
|
;port (255) SIMEND;
|
;// registers bit fields definition
|
;// registers bit fields definition
|
;// uart status register decoding
|
;// uart status register decoding
|
;#define UTXBUSY 1
|
;#define UTXBUSY 1
|
;#define URXFULL 16
|
;#define URXFULL 16
|
;// globals
|
;// globals
|
;char rxbyte; // byte received from the uart
|
;char rxbyte; // byte received from the uart
|
;int tstary[2] = {1234, 5678};
|
;int tstary[2] = {1234, 5678};
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// send a single byte to the UART
|
;// send a single byte to the UART
|
;sendbyte(by)
|
;sendbyte(by)
|
016c : __sendbyte:
|
016c : __sendbyte:
|
;char by;
|
;char by;
|
;{
|
;{
|
; while (USTAT & UTXBUSY);
|
; while (USTAT & UTXBUSY);
|
016c : cc2:
|
016c : cc2:
|
016c : db83 in a,(131)
|
016c : db83 in a,(131)
|
016e : cd4300 call ccsxt
|
016e : cd4300 call ccsxt
|
0171 : e5 push hl
|
0171 : e5 push hl
|
0172 : 210100 ld hl,1
|
0172 : 210100 ld hl,1
|
0175 : d1 pop de
|
0175 : d1 pop de
|
0176 : cd6400 call ccand
|
0176 : cd6400 call ccand
|
0179 : 7c ld a,h
|
0179 : 7c ld a,h
|
017a : b5 or l
|
017a : b5 or l
|
017b : ca8101 jp z,cc3
|
017b : ca8101 jp z,cc3
|
017e : c36c01 jp cc2
|
017e : c36c01 jp cc2
|
0181 : cc3:
|
0181 : cc3:
|
; UDATA = by;
|
; UDATA = by;
|
0181 : 210200 ld hl,2
|
0181 : 210200 ld hl,2
|
0184 : 39 add hl,sp
|
0184 : 39 add hl,sp
|
0185 : cd4200 call ccgchar
|
0185 : cd4200 call ccgchar
|
0188 : 7d ld a,l
|
0188 : 7d ld a,l
|
0189 : d380 out (128),a
|
0189 : d380 out (128),a
|
|
|
;}
|
;}
|
018b : c9 ret
|
018b : c9 ret
|
;// check if a byte was received by the uart
|
;// check if a byte was received by the uart
|
;getbyte()
|
;getbyte()
|
018c : __getbyte:
|
018c : __getbyte:
|
;{
|
;{
|
; if (USTAT & URXFULL) {
|
; if (USTAT & URXFULL) {
|
018c : db83 in a,(131)
|
018c : db83 in a,(131)
|
018e : cd4300 call ccsxt
|
018e : cd4300 call ccsxt
|
0191 : e5 push hl
|
0191 : e5 push hl
|
0192 : 211000 ld hl,16
|
0192 : 211000 ld hl,16
|
0195 : d1 pop de
|
0195 : d1 pop de
|
0196 : cd6400 call ccand
|
0196 : cd6400 call ccand
|
0199 : 7c ld a,h
|
0199 : 7c ld a,h
|
019a : b5 or l
|
019a : b5 or l
|
019b : caae01 jp z,cc4
|
019b : caae01 jp z,cc4
|
AS80 Assembler for i8080-Z180 [1.11]. Page 11
|
AS80 Assembler for i8080-Z180 [1.11]. Page 11
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
; rxbyte = UDATA;
|
; rxbyte = UDATA;
|
019e : db80 in a,(128)
|
019e : db80 in a,(128)
|
01a0 : cd4300 call ccsxt
|
01a0 : cd4300 call ccsxt
|
01a3 : 7d ld a,l
|
01a3 : 7d ld a,l
|
01a4 : 322c04 ld (__rxbyte),a
|
01a4 : 322c04 ld (__rxbyte),a
|
; return 1;
|
; return 1;
|
01a7 : 210100 ld hl,1
|
01a7 : 210100 ld hl,1
|
01aa : c9 ret
|
01aa : c9 ret
|
; }
|
; }
|
; else
|
; else
|
01ab : c3b201 jp cc5
|
01ab : c3b201 jp cc5
|
01ae : cc4:
|
01ae : cc4:
|
; return 0;
|
; return 0;
|
01ae : 210000 ld hl,0
|
01ae : 210000 ld hl,0
|
01b1 : c9 ret
|
01b1 : c9 ret
|
01b2 : cc5:
|
01b2 : cc5:
|
;}
|
;}
|
01b2 : c9 ret
|
01b2 : c9 ret
|
;// send new line to the UART
|
;// send new line to the UART
|
;nl()
|
;nl()
|
01b3 : __nl:
|
01b3 : __nl:
|
;{
|
;{
|
; sendbyte(13);
|
; sendbyte(13);
|
01b3 : 210d00 ld hl,13
|
01b3 : 210d00 ld hl,13
|
01b6 : e5 push hl
|
01b6 : e5 push hl
|
01b7 : cd6c01 call __sendbyte
|
01b7 : cd6c01 call __sendbyte
|
01ba : c1 pop bc
|
01ba : c1 pop bc
|
; sendbyte(10);
|
; sendbyte(10);
|
01bb : 210a00 ld hl,10
|
01bb : 210a00 ld hl,10
|
01be : e5 push hl
|
01be : e5 push hl
|
01bf : cd6c01 call __sendbyte
|
01bf : cd6c01 call __sendbyte
|
01c2 : c1 pop bc
|
01c2 : c1 pop bc
|
;}
|
;}
|
01c3 : c9 ret
|
01c3 : c9 ret
|
;// sends a string to the UART
|
;// sends a string to the UART
|
;printstr(sptr)
|
;printstr(sptr)
|
01c4 : __printstr:
|
01c4 : __printstr:
|
;char *sptr;
|
;char *sptr;
|
;{
|
;{
|
; while (*sptr != 0)
|
; while (*sptr != 0)
|
01c4 : cc6:
|
01c4 : cc6:
|
01c4 : 210200 ld hl,2
|
01c4 : 210200 ld hl,2
|
01c7 : 39 add hl,sp
|
01c7 : 39 add hl,sp
|
01c8 : cd4800 call ccgint
|
01c8 : cd4800 call ccgint
|
01cb : cd4200 call ccgchar
|
01cb : cd4200 call ccgchar
|
01ce : e5 push hl
|
01ce : e5 push hl
|
01cf : 210000 ld hl,0
|
01cf : 210000 ld hl,0
|
01d2 : d1 pop de
|
01d2 : d1 pop de
|
01d3 : cd7100 call ccne
|
01d3 : cd7100 call ccne
|
01d6 : 7c ld a,h
|
01d6 : 7c ld a,h
|
01d7 : b5 or l
|
01d7 : b5 or l
|
01d8 : caf401 jp z,cc7
|
01d8 : caf401 jp z,cc7
|
; sendbyte(*sptr++);
|
; sendbyte(*sptr++);
|
01db : 210200 ld hl,2
|
01db : 210200 ld hl,2
|
01de : 39 add hl,sp
|
01de : 39 add hl,sp
|
01df : e5 push hl
|
01df : e5 push hl
|
01e0 : cd4800 call ccgint
|
01e0 : cd4800 call ccgint
|
01e3 : 23 inc hl
|
01e3 : 23 inc hl
|
01e4 : d1 pop de
|
01e4 : d1 pop de
|
01e5 : cd5000 call ccpint
|
01e5 : cd5000 call ccpint
|
01e8 : 2b dec hl
|
01e8 : 2b dec hl
|
01e9 : cd4200 call ccgchar
|
01e9 : cd4200 call ccgchar
|
AS80 Assembler for i8080-Z180 [1.11]. Page 12
|
AS80 Assembler for i8080-Z180 [1.11]. Page 12
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
01ec : e5 push hl
|
01ec : e5 push hl
|
01ed : cd6c01 call __sendbyte
|
01ed : cd6c01 call __sendbyte
|
01f0 : c1 pop bc
|
01f0 : c1 pop bc
|
01f1 : c3c401 jp cc6
|
01f1 : c3c401 jp cc6
|
01f4 : cc7:
|
01f4 : cc7:
|
;}
|
;}
|
01f4 : c9 ret
|
01f4 : c9 ret
|
;// sends a decimal value to the UART
|
;// sends a decimal value to the UART
|
;printdec(dval)
|
;printdec(dval)
|
01f5 : __printdec:
|
01f5 : __printdec:
|
;int dval;
|
;int dval;
|
;{
|
;{
|
; if (dval<0) {
|
; if (dval<0) {
|
01f5 : 210200 ld hl,2
|
01f5 : 210200 ld hl,2
|
01f8 : 39 add hl,sp
|
01f8 : 39 add hl,sp
|
01f9 : cd4800 call ccgint
|
01f9 : cd4800 call ccgint
|
01fc : e5 push hl
|
01fc : e5 push hl
|
01fd : 210000 ld hl,0
|
01fd : 210000 ld hl,0
|
0200 : d1 pop de
|
0200 : d1 pop de
|
0201 : cd8b00 call cclt
|
0201 : cd8b00 call cclt
|
0204 : 7c ld a,h
|
0204 : 7c ld a,h
|
0205 : b5 or l
|
0205 : b5 or l
|
0206 : ca2402 jp z,cc8
|
0206 : ca2402 jp z,cc8
|
; sendbyte('-');
|
; sendbyte('-');
|
0209 : 212d00 ld hl,45
|
0209 : 212d00 ld hl,45
|
020c : e5 push hl
|
020c : e5 push hl
|
020d : cd6c01 call __sendbyte
|
020d : cd6c01 call __sendbyte
|
0210 : c1 pop bc
|
0210 : c1 pop bc
|
; dval = -dval;
|
; dval = -dval;
|
0211 : 210200 ld hl,2
|
0211 : 210200 ld hl,2
|
0214 : 39 add hl,sp
|
0214 : 39 add hl,sp
|
0215 : e5 push hl
|
0215 : e5 push hl
|
0216 : 210400 ld hl,4
|
0216 : 210400 ld hl,4
|
0219 : 39 add hl,sp
|
0219 : 39 add hl,sp
|
021a : cd4800 call ccgint
|
021a : cd4800 call ccgint
|
021d : cde200 call ccneg
|
021d : cde200 call ccneg
|
0220 : d1 pop de
|
0220 : d1 pop de
|
0221 : cd5000 call ccpint
|
0221 : cd5000 call ccpint
|
; }
|
; }
|
; outint(dval);
|
; outint(dval);
|
0224 : cc8:
|
0224 : cc8:
|
0224 : 210200 ld hl,2
|
0224 : 210200 ld hl,2
|
0227 : 39 add hl,sp
|
0227 : 39 add hl,sp
|
0228 : cd4800 call ccgint
|
0228 : cd4800 call ccgint
|
022b : e5 push hl
|
022b : e5 push hl
|
022c : cd3102 call __outint
|
022c : cd3102 call __outint
|
022f : c1 pop bc
|
022f : c1 pop bc
|
;}
|
;}
|
0230 : c9 ret
|
0230 : c9 ret
|
;// function copied from c80dos.c
|
;// function copied from c80dos.c
|
;outint(n)
|
;outint(n)
|
0231 : __outint:
|
0231 : __outint:
|
;int n;
|
;int n;
|
;{
|
;{
|
;int q;
|
;int q;
|
0231 : c5 push bc
|
0231 : c5 push bc
|
; q = n/10;
|
; q = n/10;
|
0232 : 210000 ld hl,0
|
0232 : 210000 ld hl,0
|
0235 : 39 add hl,sp
|
0235 : 39 add hl,sp
|
0236 : e5 push hl
|
0236 : e5 push hl
|
0237 : 210600 ld hl,6
|
0237 : 210600 ld hl,6
|
023a : 39 add hl,sp
|
023a : 39 add hl,sp
|
AS80 Assembler for i8080-Z180 [1.11]. Page 13
|
AS80 Assembler for i8080-Z180 [1.11]. Page 13
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
023b : cd4800 call ccgint
|
023b : cd4800 call ccgint
|
023e : e5 push hl
|
023e : e5 push hl
|
023f : 210a00 ld hl,10
|
023f : 210a00 ld hl,10
|
0242 : d1 pop de
|
0242 : d1 pop de
|
0243 : cd0e01 call ccdiv
|
0243 : cd0e01 call ccdiv
|
0246 : d1 pop de
|
0246 : d1 pop de
|
0247 : cd5000 call ccpint
|
0247 : cd5000 call ccpint
|
; if (q) outint(q);
|
; if (q) outint(q);
|
024a : 210000 ld hl,0
|
024a : 210000 ld hl,0
|
024d : 39 add hl,sp
|
024d : 39 add hl,sp
|
024e : cd4800 call ccgint
|
024e : cd4800 call ccgint
|
0251 : 7c ld a,h
|
0251 : 7c ld a,h
|
0252 : b5 or l
|
0252 : b5 or l
|
0253 : ca6202 jp z,cc9
|
0253 : ca6202 jp z,cc9
|
0256 : 210000 ld hl,0
|
0256 : 210000 ld hl,0
|
0259 : 39 add hl,sp
|
0259 : 39 add hl,sp
|
025a : cd4800 call ccgint
|
025a : cd4800 call ccgint
|
025d : e5 push hl
|
025d : e5 push hl
|
025e : cd3102 call __outint
|
025e : cd3102 call __outint
|
0261 : c1 pop bc
|
0261 : c1 pop bc
|
; sendbyte('0'+(n-q*10));
|
; sendbyte('0'+(n-q*10));
|
0262 : cc9:
|
0262 : cc9:
|
0262 : 213000 ld hl,48
|
0262 : 213000 ld hl,48
|
0265 : e5 push hl
|
0265 : e5 push hl
|
0266 : 210600 ld hl,6
|
0266 : 210600 ld hl,6
|
0269 : 39 add hl,sp
|
0269 : 39 add hl,sp
|
026a : cd4800 call ccgint
|
026a : cd4800 call ccgint
|
026d : e5 push hl
|
026d : e5 push hl
|
026e : 210400 ld hl,4
|
026e : 210400 ld hl,4
|
0271 : 39 add hl,sp
|
0271 : 39 add hl,sp
|
0272 : cd4800 call ccgint
|
0272 : cd4800 call ccgint
|
0275 : e5 push hl
|
0275 : e5 push hl
|
0276 : 210a00 ld hl,10
|
0276 : 210a00 ld hl,10
|
0279 : d1 pop de
|
0279 : d1 pop de
|
027a : cdee00 call ccmult
|
027a : cdee00 call ccmult
|
027d : d1 pop de
|
027d : d1 pop de
|
027e : cddb00 call ccsub
|
027e : cddb00 call ccsub
|
0281 : d1 pop de
|
0281 : d1 pop de
|
0282 : 19 add hl,de
|
0282 : 19 add hl,de
|
0283 : e5 push hl
|
0283 : e5 push hl
|
0284 : cd6c01 call __sendbyte
|
0284 : cd6c01 call __sendbyte
|
0287 : c1 pop bc
|
0287 : c1 pop bc
|
;}
|
;}
|
0288 : c1 pop bc
|
0288 : c1 pop bc
|
0289 : c9 ret
|
0289 : c9 ret
|
;// sends a hexadecimal value to the UART
|
;// sends a hexadecimal value to the UART
|
;printhex(hval)
|
;printhex(hval)
|
028a : __printhex:
|
028a : __printhex:
|
;int hval;
|
;int hval;
|
;{
|
;{
|
;int q;
|
;int q;
|
028a : c5 push bc
|
028a : c5 push bc
|
; q = hval/16;
|
; q = hval/16;
|
028b : 210000 ld hl,0
|
028b : 210000 ld hl,0
|
028e : 39 add hl,sp
|
028e : 39 add hl,sp
|
028f : e5 push hl
|
028f : e5 push hl
|
0290 : 210600 ld hl,6
|
0290 : 210600 ld hl,6
|
0293 : 39 add hl,sp
|
0293 : 39 add hl,sp
|
0294 : cd4800 call ccgint
|
0294 : cd4800 call ccgint
|
0297 : e5 push hl
|
0297 : e5 push hl
|
0298 : 211000 ld hl,16
|
0298 : 211000 ld hl,16
|
029b : d1 pop de
|
029b : d1 pop de
|
AS80 Assembler for i8080-Z180 [1.11]. Page 14
|
AS80 Assembler for i8080-Z180 [1.11]. Page 14
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
029c : cd0e01 call ccdiv
|
029c : cd0e01 call ccdiv
|
029f : d1 pop de
|
029f : d1 pop de
|
02a0 : cd5000 call ccpint
|
02a0 : cd5000 call ccpint
|
; if (q) printhex(q);
|
; if (q) printhex(q);
|
02a3 : 210000 ld hl,0
|
02a3 : 210000 ld hl,0
|
02a6 : 39 add hl,sp
|
02a6 : 39 add hl,sp
|
02a7 : cd4800 call ccgint
|
02a7 : cd4800 call ccgint
|
02aa : 7c ld a,h
|
02aa : 7c ld a,h
|
02ab : b5 or l
|
02ab : b5 or l
|
02ac : cabb02 jp z,cc10
|
02ac : cabb02 jp z,cc10
|
02af : 210000 ld hl,0
|
02af : 210000 ld hl,0
|
02b2 : 39 add hl,sp
|
02b2 : 39 add hl,sp
|
02b3 : cd4800 call ccgint
|
02b3 : cd4800 call ccgint
|
02b6 : e5 push hl
|
02b6 : e5 push hl
|
02b7 : cd8a02 call __printhex
|
02b7 : cd8a02 call __printhex
|
02ba : c1 pop bc
|
02ba : c1 pop bc
|
; q = hval-q*16;
|
; q = hval-q*16;
|
02bb : cc10:
|
02bb : cc10:
|
02bb : 210000 ld hl,0
|
02bb : 210000 ld hl,0
|
02be : 39 add hl,sp
|
02be : 39 add hl,sp
|
02bf : e5 push hl
|
02bf : e5 push hl
|
02c0 : 210600 ld hl,6
|
02c0 : 210600 ld hl,6
|
02c3 : 39 add hl,sp
|
02c3 : 39 add hl,sp
|
02c4 : cd4800 call ccgint
|
02c4 : cd4800 call ccgint
|
02c7 : e5 push hl
|
02c7 : e5 push hl
|
02c8 : 210400 ld hl,4
|
02c8 : 210400 ld hl,4
|
02cb : 39 add hl,sp
|
02cb : 39 add hl,sp
|
02cc : cd4800 call ccgint
|
02cc : cd4800 call ccgint
|
02cf : e5 push hl
|
02cf : e5 push hl
|
02d0 : 211000 ld hl,16
|
02d0 : 211000 ld hl,16
|
02d3 : d1 pop de
|
02d3 : d1 pop de
|
02d4 : cdee00 call ccmult
|
02d4 : cdee00 call ccmult
|
02d7 : d1 pop de
|
02d7 : d1 pop de
|
02d8 : cddb00 call ccsub
|
02d8 : cddb00 call ccsub
|
02db : d1 pop de
|
02db : d1 pop de
|
02dc : cd5000 call ccpint
|
02dc : cd5000 call ccpint
|
; if (q > 9)
|
; if (q > 9)
|
02df : 210000 ld hl,0
|
02df : 210000 ld hl,0
|
02e2 : 39 add hl,sp
|
02e2 : 39 add hl,sp
|
02e3 : cd4800 call ccgint
|
02e3 : cd4800 call ccgint
|
02e6 : e5 push hl
|
02e6 : e5 push hl
|
02e7 : 210900 ld hl,9
|
02e7 : 210900 ld hl,9
|
02ea : d1 pop de
|
02ea : d1 pop de
|
02eb : cd7700 call ccgt
|
02eb : cd7700 call ccgt
|
02ee : 7c ld a,h
|
02ee : 7c ld a,h
|
02ef : b5 or l
|
02ef : b5 or l
|
02f0 : ca1003 jp z,cc11
|
02f0 : ca1003 jp z,cc11
|
; sendbyte('A'+q-10);
|
; sendbyte('A'+q-10);
|
02f3 : 214100 ld hl,65
|
02f3 : 214100 ld hl,65
|
02f6 : e5 push hl
|
02f6 : e5 push hl
|
02f7 : 210200 ld hl,2
|
02f7 : 210200 ld hl,2
|
02fa : 39 add hl,sp
|
02fa : 39 add hl,sp
|
02fb : cd4800 call ccgint
|
02fb : cd4800 call ccgint
|
02fe : d1 pop de
|
02fe : d1 pop de
|
02ff : 19 add hl,de
|
02ff : 19 add hl,de
|
0300 : e5 push hl
|
0300 : e5 push hl
|
0301 : 210a00 ld hl,10
|
0301 : 210a00 ld hl,10
|
0304 : d1 pop de
|
0304 : d1 pop de
|
0305 : cddb00 call ccsub
|
0305 : cddb00 call ccsub
|
0308 : e5 push hl
|
0308 : e5 push hl
|
0309 : cd6c01 call __sendbyte
|
0309 : cd6c01 call __sendbyte
|
030c : c1 pop bc
|
030c : c1 pop bc
|
AS80 Assembler for i8080-Z180 [1.11]. Page 15
|
AS80 Assembler for i8080-Z180 [1.11]. Page 15
|
--------------------------------- HELLO.ASM ----------------------------------
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
; else
|
; else
|
030d : c32203 jp cc12
|
030d : c32203 jp cc12
|
0310 : cc11:
|
0310 : cc11:
|
; sendbyte('0'+q);
|
; sendbyte('0'+q);
|
0310 : 213000 ld hl,48
|
0310 : 213000 ld hl,48
|
0313 : e5 push hl
|
0313 : e5 push hl
|
0314 : 210200 ld hl,2
|
0314 : 210200 ld hl,2
|
0317 : 39 add hl,sp
|
0317 : 39 add hl,sp
|
0318 : cd4800 call ccgint
|
0318 : cd4800 call ccgint
|
031b : d1 pop de
|
031b : d1 pop de
|
031c : 19 add hl,de
|
031c : 19 add hl,de
|
031d : e5 push hl
|
031d : e5 push hl
|
031e : cd6c01 call __sendbyte
|
031e : cd6c01 call __sendbyte
|
0321 : c1 pop bc
|
0321 : c1 pop bc
|
0322 : cc12:
|
0322 : cc12:
|
;}
|
;}
|
0322 : c1 pop bc
|
0322 : c1 pop bc
|
0323 : c9 ret
|
0323 : c9 ret
|
;// external interrupt 0 service routine
|
;// external interrupt 0 service routine
|
;int0_isr()
|
;int0_isr()
|
0324 : __int0_isr:
|
0324 : __int0_isr:
|
;{
|
;{
|
; printstr("Interrupt 0 was asserted."); nl();
|
; printstr("Interrupt 0 was asserted."); nl();
|
0324 : 21d003 ld hl,cc1+0
|
0324 : 21d003 ld hl,cc1+0
|
0327 : e5 push hl
|
0327 : e5 push hl
|
0328 : cdc401 call __printstr
|
0328 : cdc401 call __printstr
|
032b : c1 pop bc
|
032b : c1 pop bc
|
032c : cdb301 call __nl
|
032c : cdb301 call __nl
|
;}
|
;}
|
032f : c9 ret
|
032f : c9 ret
|
;// program main routine
|
;// program main routine
|
;main()
|
;main()
|
0330 : __main:
|
0330 : __main:
|
;{
|
;{
|
; // configure UART baud rate - set to 9600 for 30MHz
|
; // configure UART baud rate - set to 9600 for 30MHz
|
; // BAUD = round(//16) = round(30e6
|
; // BAUD = round(//16) = round(30e6
|
;//MOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOT
|
; // Note: Usage of a minimum divider value of 1 will
|
;//MOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOT
|
; UBAUDL = 195;
|
;// UBAUDL = 195;
|
0330 : 21c300 ld hl,195
|
; UBAUDL = 1;
|
|
0330 : 210100 ld hl,1
|
|
0333 : 7d ld a,l
|
0333 : 7d ld a,l
|
0334 : d381 out (129),a
|
0334 : d381 out (129),a
|
|
|
;//MOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOT
|
|
;//MOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOTIMOT
|
|
; UBAUDH = 0;
|
; UBAUDH = 0;
|
0336 : 210000 ld hl,0
|
0336 : 210000 ld hl,0
|
0339 : 7d ld a,l
|
0339 : 7d ld a,l
|
033a : d382 out (130),a
|
033a : d382 out (130),a
|
|
|
; // configure both ports to output and digital output
|
; // configure both ports to output and digital output
|
; P1DATA = 0x00;
|
; P1DATA = 0x00;
|
033c : 210000 ld hl,0
|
033c : 210000 ld hl,0
|
033f : 7d ld a,l
|
033f : 7d ld a,l
|
0340 : d384 out (132),a
|
0340 : d384 out (132),a
|
|
|
; P1DIR = 0xff;
|
; P1DIR = 0xff;
|
0342 : 21ff00 ld hl,255
|
0342 : 21ff00 ld hl,255
|
0345 : 7d ld a,l
|
0345 : 7d ld a,l
|
0346 : d385 out (133),a
|
0346 : d385 out (133),a
|
|
|
AS80 Assembler for i8080-Z180 [1.11]. Page 16
|
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
|
; P2DATA = 0x00;
|
; P2DATA = 0x00;
|
0348 : 210000 ld hl,0
|
0348 : 210000 ld hl,0
|
034b : 7d ld a,l
|
034b : 7d ld a,l
|
034c : d386 out (134),a
|
034c : d386 out (134),a
|
|
AS80 Assembler for i8080-Z180 [1.11]. Page 16
|
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
|
|
; P2DIR = 0xff;
|
; P2DIR = 0xff;
|
034e : 21ff00 ld hl,255
|
034e : 21ff00 ld hl,255
|
0351 : 7d ld a,l
|
0351 : 7d ld a,l
|
0352 : d387 out (135),a
|
0352 : d387 out (135),a
|
|
|
; // enable interrupt 0 only
|
; // enable interrupt 0 only
|
; INTRENA = 0x01;
|
; INTRENA = 0x01;
|
0354 : 210100 ld hl,1
|
0354 : 210100 ld hl,1
|
0357 : 7d ld a,l
|
0357 : 7d ld a,l
|
0358 : d388 out (136),a
|
0358 : d388 out (136),a
|
|
|
; // enable CPU interrupt
|
; // enable CPU interrupt
|
;#asm
|
;#asm
|
035a : fb ei
|
035a : fb ei
|
;
|
|
; // print message
|
; // print message
|
; printstr("Hello World!!!"); nl();
|
; printstr("Hello World!!!"); nl();
|
035b : 21ea03 ld hl,cc1+26
|
035b : 21ea03 ld hl,cc1+26
|
035e : e5 push hl
|
035e : e5 push hl
|
035f : cdc401 call __printstr
|
035f : cdc401 call __printstr
|
0362 : c1 pop bc
|
0362 : c1 pop bc
|
0363 : cdb301 call __nl
|
0363 : cdb301 call __nl
|
; printstr("Dec value: "); printdec(tstary[1]); nl();
|
; printstr("Dec value: "); printdec(tstary[1]); nl();
|
0366 : 21f903 ld hl,cc1+41
|
0366 : 21f903 ld hl,cc1+41
|
0369 : e5 push hl
|
0369 : e5 push hl
|
036a : cdc401 call __printstr
|
036a : cdc401 call __printstr
|
036d : c1 pop bc
|
036d : c1 pop bc
|
036e : 212d04 ld hl,__tstary
|
036e : 212d04 ld hl,__tstary
|
0371 : e5 push hl
|
0371 : e5 push hl
|
0372 : 210100 ld hl,1
|
0372 : 210100 ld hl,1
|
0375 : 29 add hl,hl
|
0375 : 29 add hl,hl
|
0376 : d1 pop de
|
0376 : d1 pop de
|
0377 : 19 add hl,de
|
0377 : 19 add hl,de
|
0378 : cd4800 call ccgint
|
0378 : cd4800 call ccgint
|
037b : e5 push hl
|
037b : e5 push hl
|
037c : cdf501 call __printdec
|
037c : cdf501 call __printdec
|
037f : c1 pop bc
|
037f : c1 pop bc
|
0380 : cdb301 call __nl
|
0380 : cdb301 call __nl
|
; printstr("Hex value: 0x"); printhex(tstary[0]); nl()
|
; printstr("Hex value: 0x"); printhex(tstary[0]); nl()
|
0383 : 210504 ld hl,cc1+53
|
0383 : 210504 ld hl,cc1+53
|
0386 : e5 push hl
|
0386 : e5 push hl
|
0387 : cdc401 call __printstr
|
0387 : cdc401 call __printstr
|
038a : c1 pop bc
|
038a : c1 pop bc
|
038b : 212d04 ld hl,__tstary
|
038b : 212d04 ld hl,__tstary
|
038e : e5 push hl
|
038e : e5 push hl
|
038f : 210000 ld hl,0
|
038f : 210000 ld hl,0
|
0392 : 29 add hl,hl
|
0392 : 29 add hl,hl
|
0393 : d1 pop de
|
0393 : d1 pop de
|
0394 : 19 add hl,de
|
0394 : 19 add hl,de
|
0395 : cd4800 call ccgint
|
0395 : cd4800 call ccgint
|
0398 : e5 push hl
|
0398 : e5 push hl
|
0399 : cd8a02 call __printhex
|
0399 : cd8a02 call __printhex
|
039c : c1 pop bc
|
039c : c1 pop bc
|
039d : cdb301 call __nl
|
039d : cdb301 call __nl
|
; // assert bit 0 of port 1 to test external interrupt
|
; // assert bit 0 of port 1 to test external interrupt
|
; P1DATA = 0x01;
|
; P1DATA = 0x01;
|
03a0 : 210100 ld hl,1
|
03a0 : 210100 ld hl,1
|
AS80 Assembler for i8080-Z180 [1.11]. Page 17
|
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
|
03a3 : 7d ld a,l
|
03a3 : 7d ld a,l
|
03a4 : d384 out (132),a
|
03a4 : d384 out (132),a
|
|
|
;
|
;
|
; printstr("Echoing received bytes: "); nl();
|
; printstr("Echoing received bytes: "); nl();
|
|
AS80 Assembler for i8080-Z180 [1.11]. Page 17
|
|
--------------------------------- HELLO.ASM ----------------------------------
|
|
|
03a6 : 211304 ld hl,cc1+67
|
03a6 : 211304 ld hl,cc1+67
|
03a9 : e5 push hl
|
03a9 : e5 push hl
|
03aa : cdc401 call __printstr
|
03aa : cdc401 call __printstr
|
03ad : c1 pop bc
|
03ad : c1 pop bc
|
03ae : cdb301 call __nl
|
03ae : cdb301 call __nl
|
; // loop forever
|
; // loop forever
|
; while (1) {
|
; while (1) {
|
03b1 : cc13:
|
03b1 : cc13:
|
03b1 : 210100 ld hl,1
|
03b1 : 210100 ld hl,1
|
03b4 : 7c ld a,h
|
03b4 : 7c ld a,h
|
03b5 : b5 or l
|
03b5 : b5 or l
|
03b6 : cacf03 jp z,cc14
|
03b6 : cacf03 jp z,cc14
|
; // check if a new byte was received
|
; // check if a new byte was received
|
; if (getbyte())
|
; if (getbyte())
|
03b9 : cd8c01 call __getbyte
|
03b9 : cd8c01 call __getbyte
|
03bc : 7c ld a,h
|
03bc : 7c ld a,h
|
03bd : b5 or l
|
03bd : b5 or l
|
03be : cacc03 jp z,cc15
|
03be : cacc03 jp z,cc15
|
; // echo the received byte to the UART
|
; // echo the received byte to the UART
|
; sendbyte(rxbyte);
|
; sendbyte(rxbyte);
|
03c1 : 3a2c04 ld a,(__rxbyte)
|
03c1 : 3a2c04 ld a,(__rxbyte)
|
03c4 : cd4300 call ccsxt
|
03c4 : cd4300 call ccsxt
|
03c7 : e5 push hl
|
03c7 : e5 push hl
|
03c8 : cd6c01 call __sendbyte
|
03c8 : cd6c01 call __sendbyte
|
03cb : c1 pop bc
|
03cb : c1 pop bc
|
; }
|
; }
|
03cc : cc15:
|
03cc : cc15:
|
03cc : c3b103 jp cc13
|
03cc : c3b103 jp cc13
|
03cf : cc14:
|
03cf : cc14:
|
;}
|
;}
|
03cf : c9 ret
|
03cf : c9 ret
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
;// Th.. Th.. Th.. Thats all folks !!!
|
;// Th.. Th.. Th.. Thats all folks !!!
|
;//---------------------------------------------------
|
;//---------------------------------------------------
|
03d0 : cc1:
|
03d0 : cc1:
|
03d0 : 496e7465727275.. db 73,110,116,101,114,114,117,112,116,32
|
03d0 : 496e7465727275.. db 73,110,116,101,114,114,117,112,116,32
|
03da : 30207761732061.. db 48,32,119,97,115,32,97,115,115,101
|
03da : 30207761732061.. db 48,32,119,97,115,32,97,115,115,101
|
03e4 : 727465642e0048.. db 114,116,101,100,46,0,72,101,108,108
|
03e4 : 727465642e0048.. db 114,116,101,100,46,0,72,101,108,108
|
03ee : 6f20576f726c64.. db 111,32,87,111,114,108,100,33,33,33
|
03ee : 6f20576f726c64.. db 111,32,87,111,114,108,100,33,33,33
|
03f8 : 00446563207661.. db 0,68,101,99,32,118,97,108,117,101
|
03f8 : 00446563207661.. db 0,68,101,99,32,118,97,108,117,101
|
0402 : 3a200048657820.. db 58,32,0,72,101,120,32,118,97,108
|
0402 : 3a200048657820.. db 58,32,0,72,101,120,32,118,97,108
|
040c : 75653a20307800.. db 117,101,58,32,48,120,0,69,99,104
|
040c : 75653a20307800.. db 117,101,58,32,48,120,0,69,99,104
|
0416 : 6f696e67207265.. db 111,105,110,103,32,114,101,99,101,105
|
0416 : 6f696e67207265.. db 111,105,110,103,32,114,101,99,101,105
|
0420 : 76656420627974.. db 118,101,100,32,98,121,116,101,115,58
|
0420 : 76656420627974.. db 118,101,100,32,98,121,116,101,115,58
|
042a : 2000 db 32,0
|
042a : 2000 db 32,0
|
042c : __rxbyte:
|
042c : __rxbyte:
|
042c : 00 ds 1
|
042c : 00 ds 1
|
042d : __tstary:
|
042d : __tstary:
|
042d : d2042e16 db -46,4,46,22
|
042d : d2042e16 db -46,4,46,22
|
|
|
; --- End of Compilation ---
|
; --- End of Compilation ---
|
No errors in pass 2.
|
No errors in pass 2.
|
|
|