어셈블리 메뉴 프로그램(페이지 레이아웃)

lfs의 이미지

.model small
.stack 100h
.data
come1 db "============",0dh,0ah,'$'
come2 db "|  1.INPUT |",0dh,0ah,'$'
come3 db "|  2.OUTPUT|",0dh,0ah,'$'
come4 db "|  3.EXIT  |",0dh,0ah,'$'
come5 db "============",0dh,0ah,'$'
 
message1 db "============",0dh,0ah,'$'
message2 db "| *1.INPUT |",0dh,0ah,'$'
message3 db "|  2.OUTPUT|",0dh,0ah,'$'
message4 db "|  3.EXIT  |",0dh,0ah,'$'
message5 db "============",0dh,0ah,'$'
 
send1 db "============",0dh,0ah,'$'
send2 db "|  1.INPUT |",0dh,0ah,'$'
send3 db "| *2.OUTPUT|",0dh,0ah,'$'
send4 db "|  3.EXIT  |",0dh,0ah,'$'
send5 db "============",0dh,0ah,'$'
.code
main proc
        mov ax,@data
        mov ds,ax
 
        mov ah,6
        mov al,0
        mov ch,0
        mov cl,0
        mov dh,24
        mov dl,79
        mov bh,7
        int 10h
 
        mov ah,2
        mov dh,0
        mov dl,0
        mov bh,0
        int 10h
 
        mov ah,9
        mov dx,offset come1
        int 21h
        mov ah,9
        mov dx,offset come2
        int 21h
        mov ah,9
        mov dx,offset come3
        int 21h
        mov ah,9
        mov dx,offset come4
        int 21h
        mov ah,9
        mov dx,offset come5
        int 21h
 
        mov ah,2
        mov dh,50
        mov dl,50
        mov bh,0
        int 10h
 
 
Start:  mov ah,8
        int 21h
 
        cmp al,31h
        je Echo1
        cmp al,32h
        je Echo2
        cmp al,30h
        je Echo0
 
Echo1:  mov ah,2
        mov dh,0
        mov dl,0
        mov bh,0
        int 10h
 
        mov ah,9
        mov dx,offset message1
        int 21h
        mov ah,9
        mov dx,offset message2
        int 21h
        mov ah,9
        mov dx,offset message3
        int 21h
        mov ah,9
        mov dx,offset message4
        int 21h
        mov ah,9
        mov dx,offset message5
        int 21h
 
        mov ah,2
        mov dh,50
        mov dl,50
        mov bh,0
        int 10h
 
        jmp Start
 
Echo2:  mov ah,2
        mov dh,0
        mov dl,0
        mov bh,0
        int 10h
 
        mov ah,9
        mov dx,offset send1
        int 21h
        mov ah,9
        mov dx,offset send2
        int 21h
        mov ah,9
        mov dx,offset send3
        int 21h
        mov ah,9
        mov dx,offset send4
        int 21h
        mov ah,9
        mov dx,offset send5
        int 21h
 
        mov ah,2
        mov dh,50
        mov dl,50
        mov bh,0
        int 10h
 
        jmp Start
 
Echo0:  mov ah,6
        mov al,0
        mov ch,0
        mov cl,0
        mov dh,24
        mov dl,79
        mov bh,7
        int 10h
 
        mov ah,2
        mov dh,0
        mov dl,0
        mov bh,0
        int 10h
 
        mov ax,4c00h
        int 21h
 
main endp
end main
Forums: 
lfs의 이미지

커서가 않보이는 프로그램입니다. 참고하십시오.