A7_file1.asm MIT Edit ;Assignment no. :7 ;Assignment Name :X86/64 Assembly language program (ALP) ;String Manipulation : Concatenation of 2 strings & ;Find no. of occurences of substring. ;Accept string from user. ;------------------------------------------------------------------------ extern con_proc ; [ FAR PROCRDURE extern sub_proc ; USING EXTERN DIRECTIVE ] global str1,str1_size, str2, str2_size %include "macro.asm" ;------------------------------------------------------------------------ section .data nline db 10,10 nline_len: equ $-nline msg db 10,10,10,10,"MIL assignment 07 : String Manipulation" db 10,"-------------------------------------",10 msg_len: equ $-msg s1msg db 10,"Enter string 1 : " s1msg_len: equ $-s1msg s2msg db 10,"Enter string 2 : " s2msg_len: equ $-s2msg menu db 10,"-----------MENU---------------------" db 10,"1.String Concatenation" db 10,"2.No. of occurences of substring" db 10,"3.Exit" db 10,"Enter choice : " menu_len: equ $-menu emsg db 10,"INVALID CHOICE!!!!! Please try again! ",10,10,10 emsg_len: equ $-emsg ;--------------------------------------------------------------------------- section .bss buf resb 2 buf_len: equ $-buf str1 resb 20 str1_len: equ $-str1 str2 resb 20 str2_len: equ $-str2 str1_size resw 1 str2_size resw 1 ;-------------------------------------------------------------------------- section .text global _start _start: print msg,msg_len ;assignment no. print s1msg,s1msg_len read str1,str1_len dec rax mov [str1_size],ax print s2msg,s2msg_len read str2,str2_len dec rax mov [str2_size],ax Disp_Menu: print menu,menu_len read buf,2 mov al,[buf] SUB AL,30H C1: CMP al,1 JNE C2 call con_proc JMP Disp_Menu C2: CMP al,2 JNE C3 call sub_proc JMP Disp_Menu C3: CMP al,3 JNE err exit err: print emsg,emsg_len JMP Disp_Menu ;-------------------------------------------------------------------------------- SHARE SHARE SHARE RELATED POSTS
Blogger Comment
Facebook Comment