; ROUTINE TO SEARCH FOR SLASH "/*" CHARACTER ; .org 0000h LD SP, 0080h ; ADDED FOR TESTING PURPOSES. START: LD HL, IN_MESS ; LOAD ADDRESS OF MESSAGE. LD BC, 6 ; NUMBER OF BYTES TO SEARCH LOOPA: LD A, '/' ; SEARCH FOR FIRST CHARACTER. LOOP: CPI ; SEARCH ONE BYTE. JP Z, MAYBE ; GO IF FIRST FOUND. JP PE, LOOP ; GO IF NOT DONE. Jump if P/V is set. ;LOOP1: JP LOOP1 ; LOOP HERE NOT FOUND. HALT MAYBE: LD A, '*' ; SECOND CHARACTER. CP (HL) ; COMPARE. JP NZ, LOOPA ; NO MATCH. ;LOOP2: JP LOOP2 ; LOOP HERE IF FOUND. HALT IN_MESS: .DB "#$/*()" ; MESSAGE. .END ; UPON COMPLETION, ZERO FLAG SHOULD BE SET AND REGISTER HL SHOULD CONTAIN THE LOCATION OF THE SLASH PLUS ONE. ; http://z80-heaven.wikidot.com/instructions-set:cpi