Virginia Commonwealth University
;****************************************************************
;FUNCTION: HEX2ASC_TBL - CONVERT LEAST SIG NIBBLE OF A TO ASCII
; USING LOOK UP TABLE
; INPUTS: A(3_0) - HEX DIGIT
; OUTPUTS: A - ASCII CHAR CORESPONDING TO HEX DIGIT IN A(3_0)
; CALLS: NONE
;DESTROYS: A, DPTR
;****************************************************************
;ASCII LOOK UP TABLE
ASC_TBL:
DB '0'
DB '1'
DB '2'
DB '3'
DB '4'
DB '5'
DB '6'
DB '7'
DB '8'
DB '9'
DB 'A'
DB 'B'
DB 'C'
DB 'D'
DB 'E'
DB 'F'
HEX2ASC_TBL:
MOV DPTR,#ASC_TBL ;POINT TO LOOK UP TABLE
ANL A,#0FH ;USE ONLY LEAST SIG NIBBLE TO LOOK UP
MOVC A,@A+DPTR ;ASCII VALUE
RET
$EJECT
;****************************************************************
;FUNCTION: HEX2ASC - CONVERT LEAST SIG NIBBLE OF AL TO ASCII
; INPUTS: A(3_0) - HEX DIGIT
; OUTPUTS: A - ASCII CHAR CORESPONDING TO HEX DIGIT IN AL(3_0)
; CALLS: NONE
;DESTROYS: A, PSW
;****************************************************************
HEX2ASC:
ANL A,#0FH ;GET LEAST SIG NIBBLE
CLR C ;CLEAR CARRY
SUBB A,#0AH ;SET CARRY IF ACC IS LESS THAN 0AH
JC LTA ;JUMP IF ACC 9 i.e. A --> 00 AND SET CY
ADDC A,#40H ;IF >9 CARRY WAS SET ie. A --> 41H ELSE
DA A ;LSN IS INCREASED BY 30H
RET
$EJECT
;****************************************************************
;FUNCTION: ASC2HEX - CONVERT ASCII CHAR IN AL TO ASCII.
; AL IS ASSUMED TO CONTAIN THE ASCII FOR A VALID HEX DIGIT
; THE TRANSLATION IS AS SHOWN BELOW
; INPUT AL OUTPUT AL
; '0'=30H 00000000B
; '1'=31H 00000001B
; ... ...
; 'A'=41H 00001010B
; ... ...
; 'F'=46H 00001111B
;
; INPUTS: AL - THE ASCII CHAR '0'..'9', 'A'..'F'
; OUTPUTS: AL - HEX NIBBLE 00 ..09 , 0A ..0F
; CALLS: NONE
;DESTROYS: AL, PSW
;****************************************************************
ASC2HEX:
CLR C ;CLEAR CARRY
SUBB A,#'A' ;SET CARRY IF A < 'A'
JNC HEXFIX ;JUMP IF A WAS 'A' - 'F'
ADD A,#'A'-'0'-0AH ;DO THIS IF A WAS '0' - '9'
HEXFIX: ADD A,#0AH ;A NOW CONTAINS HEX VALUE
RET
$EJECT
;****************************************************************
;FUNCTION: UPPER - CONVERT ASCII CHAR IN A TO UPPER CASE
; INPUTS: A - ASCII CHAR
; OUTPUTS: A - UPPER CASE ASCII CHAR
; CALLS: NONE
;DESTROYS: A, PSW
;****************************************************************
UPPER:
CJNE A,#'a',LOWIFC ;SET CY IF CHAR < 'a'
CHKHI: CJNE A,#'z'+1,UCONV ;SET CY IF CHAR = 9
NCIFLTE9:
JC FIXIT ;RETURN IF CHAR '0' TO '9'
CJNE A,#'A',HEX3 ;SET CY IF CHAR < 'A'
HEX3: JC HEXIT ;EXIT IF NOT HEX
CJNE A,#'F'+1,FIXIT ;SET CY IF CHAR ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- hotel boston 1650 commonwealth ave
- commonwealth financial services richmond va
- commonwealth financial services richmon
- first virginia loans virginia beach
- commonwealth financial group boston
- 1650 commonwealth ave brighton
- hotel boston commonwealth ave
- commonwealth of virginia unclaimed money
- virginia beach virginia phone directory
- commonwealth of virginia substitute form w 9
- commonwealth of virginia w 9
- virginia state university faculty listing