Assembly Language Help
Results 1 to 2 of 2

Thread: Assembly Language Help

  1. #1
    Member
    Join Date
    Oct 2003
    Posts
    35

    Assembly Language Help

    Hey im been writing an assembly progg the program is a password progg for about a week and i am having some problems
    here is the instructions for the program

    **************************************************************************
    .MODEL small

    .STACK 200h

    .data



    .CODE



    make ds point to data segment
    make bx point to buffer

    Call the procedures

    procedure passprompt

    prompt for password
    test immediately after coding

    end proc

    procedure checkfirst

    getfirst:

    get an input
    jump to error if input < 65 'A' = ASCII 65
    Jump to error if input >122 'z' = ASCII 122
    jump to check90to96 if input > 90 ASCII 90-96 sre not letters
    mov input to the location pointed to by the bx
    return

    check90-97:

    jump to error if input < 97 97 is ACII 'a'
    mov input to the locationpointed to by the bx
    return

    error:
    output appropriate error message
    jump to get first

    test immediately after coding
    @,[,',{ should be reject
    A,L,Z,a,l,z should be accepted

    end checkfirst

    Procedure checkrest

    mov 11 to the cx a maximum of 11 characters more expected

    getdataloop:
    jump to exitproc if input = CR
    jump to error2 if input <48 48 is ASCII 0 input must be valid
    jump to error2 if input >122
    jump to check uppercase if input >57
    jump to update buffer input is between 0-9 and valid

    checkuppercase:

    jump to error2 if input < 65 cannot be a letter
    jump to checklowercase if input > 90 not upper but could be lower case
    jump to update buffer input is uppercase letter

    checklowercase:

    jump to error2 if input<97 not a letter
    jump to updatebuffer inputis lower case letter

    updatebuffer:

    increment the bx
    move contents of al to location held by bx
    loop getdataloop get next input
    ret procedure terminates after 11 inputs

    error2:

    output error message
    jump to getdataloop jump does not decrement the cx

    exit proc:
    ret

    test before proceeding to next procedure

    end checkrest

    procedure checklength

    output error message if contents of cx>6
    return

    end checklength

    procedure quit

    usual exit routine

    end quit
    *************************************************************************
    And here is my coding for it so far
    *************************************************************************


    ;***************L.O.5************************

    ;**************MyProgg****************


    .MODEL small

    .STACK 100H

    .DATA

    CR EQU 0dh
    LF EQU 0ah

    user_input DB 12 DUP(0)

    prompt_message DB ' Please enter a new password - ',CR,LF,'$'

    error_message_1 DB ' First character must be alphabetic - Re-enter ',CR,LF,'$'

    ;error_message_2 DB

    ;error_message_3 DB



    .CODE

    call initialise
    call password_prompt
    call check_first
    ;call check_rest
    ;call check_length
    call exit

    initialise proc

    mov ax,@data
    mov ds,ax
    mov bx,OFFSET user_input
    ret

    initialise endp


    password_prompt proc

    mov bx, OFFSET user_input

    ;now put the password message on the screen

    mov dx, OFFSET prompt_message
    mov ah,9

    int 21h
    ret

    password_prompt endp

    mov bx, OFFSET user_input

    check_first proc

    getfirst:

    mov ah, 1
    int 21h
    cmp al,65
    jl error
    cmp al,122
    jg error
    cmp al,64
    je error ;testline
    mov[bx], al
    ret

    error:
    mov dx,OFFSET error_message_1
    mov ah,9
    int 21h
    jmp getfirst

    check_first endp


    exit proc

    mov AH,4Ch
    int 21h

    exit endp


    END

    **************************************************************************
    Could anyone attempt to finish this im struggling a bit cheers

  2. #2
    Member
    Join Date
    Nov 2003
    Posts
    30
    If you could resume your message a bit, people would be more helpful.
    You are what you have conquered not what you have!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •