home *** CD-ROM | disk | FTP | other *** search
-
- ;receive percentage adjustment in A (50-200%)
- ;return HL = stretch, DE = shrink
- wadjust::
- cpi 50
- jnc $+5
- mvi a,50
- cpi 200+1
- jc $+5
- mvi a,200
- mov e,a
- mvi d,0
- lxi h,wftab-50
- dad d
- mov e,m
- ;stretch is in low nibble
- mov a,e
- ani 0fh
- mov l,a
- mov h,d
- ;shrink in high one
- mov a,e
- rar
- rar
- rar
- rar
- ani 0fh
- ;we don't use sh = 1, so non-0 in tab were shifted down 1
- ora a
- jz $+4
- inr a
- mov e,a
- ret
-
- wftab:
- ;50-57
- db 010H,010H,010H,01DH,01DH,01AH,019H,018H
- db 017H,016H,015H,015H,015H,014H,014H,014H
- ;66
- db 020H,020H,020H,020H,020H,02FH,02FH,02DH
- db 02AH,030H,028H,028H,027H,026H,040H,025H
- ;82
- db 03CH,03AH,050H,038H,060H,037H,070H,080H
- db 023H,0A0H,0B0H,0C0H,034H,058H,045H,057H
- ;98
- db 068H,056H,000H,000H,000H,076H,065H,054H
- db 075H,085H,043H,00CH,00AH,0B5H,009H,032H
- ;114
- db 0A4H,007H,063H,006H,073H,073H,005H,093H
- db 0A3H,0A3H,0B3H,004H,052H,052H,052H,062H
- ;130
- db 062H,062H,072H,072H,021H,092H,092H,0A2H
- db 0B2H,0B2H,0C2H,0E2H,0E2H,0E2H,0E2H,0E2H
- ;146
- db 0E2H,002H,002H,002H,002H,002H,002H,002H
- db 002H,002H,041H,041H,041H,041H,041H,041H
- ;162
- db 041H,041H,041H,051H,051H,051H,051H,051H
- db 051H,061H,061H,061H,061H,071H,071H,071H
- ;178
- db 081H,081H,091H,091H,0A1H,0A1H,0B1H,0B1H
- db 0C1H,0C1H,0E1H,0E1H,0E1H,0E1H,0E1H,0E1H
- ;194
- db 001H,001H,001H,001H,001H,001H,001H
-
- end