My first ASM proggie!, Assembly (ASM)
Narada
Posted: Sep 30 2006, 12:59 AM


Administrator


Group: Admin
Posts: 265
Member No.: 1
Joined: 19-November 05



The objective was to insert two valid hexadecimal numbers/letters and have the program output the sum of both.
CODE
            PAGE 60,80
            TITLE CAPTAIN NARADA ONE.ASM
CSEG         SEGMENT PARA PUBLIC 'CODE'
            ASSUME CS:CSEG;DS:CSEG;ES:CSEG;SS:CSEG

            ORG 0100H

ENTP: JMP MAIN


MAIN PROC NEAR

MOV AH,01        ;INPUT FIRST NUMBER
INT 21H

CALL CHECK       ;CHECK FIRST NUMBER

CMP BH,01        ;IF CHECK RETURNS 01(BAD), END
JE END

CALL HEX         ;CONVERT 1ST NUMBER FROM ASCII TO HEX

MOV BL,AL        ;MOVE HEX VALUE FROM AL TO BL

MOV AH,01        ;INPUT SECOND NUMBER
INT 21H

CALL CHECK       ;CHECK SECOND NUMBER

CMP BH,01        ;IF CHECK RETURNS 01(BAD), END
JE END

CALL HEX         ;CONVERT 2ND NUMBER FROM ASCII TO HEX

ADD AL,BL        ;ADD AL AND BL HEX VALUES

CALL ASCII       ;CONVERT FROM HEX TO ASCII

MOV DL,AL        ;MOVE ASCII VALUE OF SUM FROM AL TO DL

MOV AH,02        ;OUTPUT SUM
INT 21H

END:RET

MAIN ENDP


CHECK PROC NEAR   ;CHECK NUMBER, RETURN GOOD(00H) OR BAD(01H)

CMP AL,66H
JG BAD
CMP AL,30H
JL BAD
CMP AL,3AH
JL GOOD
CMP AL,41H
JL BAD
CMP AL,47H
JL GOOD
CMP AL,60H
JG GOOD

GOOD:MOV BH,00H
RET
BAD:MOV BH,01H
RET

CHECK ENDP


HEX PROC NEAR     ;CONVERTS VALUE FROM ASCII TO HEX

SUB AL,30H
CMP AL,0AH
JL MOO

SUB AL,7H
CMP AL,10H
JL MOO

SUB AL,20H

MOO:RET

HEX ENDP


ASCII PROC NEAR   ;CONVERTS VALUE FROM HEX TO ASCII

ADD AL,30H
CMP AL,3AH
JL COW

ADD AL,7H

COW:RET

ASCII ENDP

CSEG ENDS
            END ENTP


--------------------
user posted image
user posted image
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


Topic Options


Affiliates:
Empty Room Team Hell's Fury
Skin created by Kman. Find more great skins at the IF Skin Zone.
Back to Top ^^^

Hosted for free by InvisionFree (Terms of Use: Updated 7/7/05) | Powered by Invision Power Board v1.3 Final © 2003 IPS, Inc.
Page creation time: 0.0461 seconds | Archive
All images and code are copyright to their respective owners. Treehouse is not responsible for your actions.