Sunday, 19 April 2015

concatA

section .data
menumsg db '-----------------Menu---------------------'
    db '1:Concatenation of two strings',10
    db '2:Occurences of substrings',10
    db '3:Exit',10
menumsgln equ $-menumsg
mainstrmsg db 'Enter main string',10
mainstrln equ $-mainstrmsg
substrmsg db 'Enter sub-string',10
substrln equ $-substrmsg
concatstrmsg db 'Concatenation of two strings is',10
conln equ $-concatstrmsg

chomsg db 'Enter the choice',10
chomsgln equ $-chomsg

section .bss
global mainstr,substr,mstrl,sbstrl       
%include "m.asm"                      
Extern concat,subcnt               

mainstr resb 20
mainstrlnn: equ $-mainstr

substr resb 20
substrlnn: equ $-substr


cho resb 2
choln: equ $-cho
mstrl resb 2

sbstrl resb 2


section .text
global _start
_start:

menu:disp menumsg,menumsgln       

    disp chomsg,chomsgln       
    accept cho,choln

case1:cmp byte[cho],'1'           
    jne case2
    disp mainstrmsg,mainstrln
    accept mainstr,mainstrlnn       
    dec rax   
    mov [mstrl],ax           

    disp substrmsg,substrln
    accept substr,substrlnn       
    dec ax
    mov [sbstrl],ax           
   
    call concat               
    jmp menu

case2:cmp byte[cho],'2'           
    jne case3
    disp mainstrmsg,mainstrln
    accept mainstr,mainstrlnn       
    dec rax
    mov [mstrl],ax           

    disp substrmsg,substrln
    accept substr,substrlnn       
    dec ax
    mov [sbstrl],ax           
   
    call subcnt               
    jmp menu

case3:cmp byte[cho],'3'           
    je ext
       
    ext:mov eax,1
    mov ebx,0           
    int 80h

No comments:

Post a Comment