.


:




:

































 

 

 

 


ASCII-




6.1. NORTON exconv.asm COM-:

.286

TITLE EXCONV (COM) . ASCII . -

CODESG SEGMENT PARA 'Code'

ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG

ORG 100H; PSP

BEGIN: JMP SHORT MAIN;

;-------------------------------------------------------

ASCVAL1 DB '1234';

ASCVAL2 DB '0000'

BINVAL DW 0

ASCLEN DW 4

MULT10 DW 1

;--------------------------------------------------------

MAIN PROC NEAR;

CALL B10ASBI; ASCII

CALL C10BIAS;

RET

MAIN ENDP

; ASCII

; -------------------------------

B10ASBI PROC

MOV CX,10;

LEA SI,ASCVAL1-1; ASCVAL

MOV BX,ASCLEN; ASCVAL

B20: MOV AL,[SI+BX]; ASCII-

AND AX,000FH;

MUL MULT10; 10

ADD BINVAL,AX;

MOV AX,MULT10;

MUL CX;

MOV MULT10,AX

DEC BX;. ASCII-?

JNZ B20; -

RET

B10ASBI ENDP

; . . ASCII

; -------------------

C10BIAS PROC

MOV CX,0010;

LEA SI,ASCVAL2+3; ASCVAL

MOV AX,BINVAL; .

C20: CMP AX,0010; 10?

JB C30; -

XOR DX,DX;

DIV CX; 10

OR DL,30H; BCD2

MOV [SI],DL; ASCII-

DEC SI

JMP C20

C30: OR AL,30H; .

MOV [SI],AL; ASCII-

RET

C10BIAS ENDP

CODESG ENDS

END BEGIN

B10ASBI ASCII- 1234 . , ASCII- 4 ASCLEN. ASCII- ASCVAL1-1 SI, - . B20 ASCII- AL. ASCVAL1-1 -

(4), .. ASCVAL1+3 ( ASCVAL1). 1, . MULT10 10, 1, 10, 100 ..

C10BIAS 4D2H ( B10ASBI) ASCII- 1234.

6.2. . . DEBUG .

6.3. . B10ASBI . . .

:

1. , 9 ASCII-, - 7 ASCII-. :

) ADD AX,33H ) ADD AX,BX

AAA AAA

 

) SUB AX,BX ) SUB AX,0DH

AAS AAS

2. UNPAK 01040705 . , ASCII-, .. 31343735.

3. 46328 ASCII- ( ).

:

1. ) ADD 6, - 0102. ) ADD 70, - 0106. ) SUB 02, AAS . ) SUB 2, AAS - FF06.

2.

LEA SI,UNPAK;

MOV CX,04;

B20: OR [SI],30H; ASCII

INC SI;

LOOP B20; 4

3.

8 1 = 8 8

2 10 = 20 14

3 100 = 300 12

6 1000 = 6000 1770

4 10000 = 40000 940

- 4F8.

 





:


: 2015-10-01; !; : 826 |


:

:

- - , .
==> ...

1680 - | 1638 -


© 2015-2024 lektsii.org - -

: 0.013 .