組合語言(四)之比較字串

2021-09-07 13:16:55 字數 2061 閱讀 9024

輸入兩個字串,比較字串是否相同

程式執行:

mov ax,datas ;初始化ds

mov ds,ax

;輸出輸入string1提示

lea dx,input1prompt

mov ah,9

int 21h

;輸入string1

lea dx,string1maxlength

mov ah,10

int 21h

;儲存string1的長度和設定結束字元

mov bl,string1maxlength+1

mov bh,0

mov string1number,bx

mov string1[bx],'$'

;輸出輸入string2提示

lea dx,input2prompt

mov ah,9

int 21h

;輸入string2

lea dx,string2maxlength

mov ah,10

int 21h

;儲存string1的長度和設定結束字元

mov bl,string2maxlength+1

mov bh,0

mov string2number,bx

mov string2[bx],'$'

;比較string1和string2的字串長度

cmp bx,string1number

jne s3 ;不相等,直接跳轉s3

;相等時,判斷字元是否相同

mov si,0

mov di,0

mov cx,string1number

compare:

mov al,string1[si]

cmp al,string2[di]

jne s3

inc si

inc di

loop compare

;字元完全相同,輸出match

lea dx,outputmatch

mov ah,9

int 21h

jmp exit ;跳轉至退出程式

;不相等,輸出no match

s3:lea dx,outputnomatch

mov ah,9

int 21h

exit:

retmain endp

codes ends

end main

組合語言字串比較與查詢

組合語言實現 用字串處理指令編制程式,處理字串的比較和查詢,顯示結果。要求 1 字串的比較函式中,乙個字串在資料段定義,另乙個字串在程式執行時從鍵盤輸入,必須定義鍵盤緩衝區。指出不相等的位置。2 在字串中查詢某個字元,並指出找到的位置。第一問 data segment buff db255 dup ...

計算字串長度 組合語言

設有一字串存放在以 buf 為首址的資料區中,其最後一字元 作為結束標誌,計算該字串的長度並輸出 datas segment buf db 20,20 dup datas ends stacks segment stacks ends codes segment assume cs codes,ds...

組合語言巧妙排序字串

用組合語言實現任意輸入字串排序,我主要是採用先分組,然後分別排序,在把兩個組合起來排序的使用演算法。在我的輸出結果頁面中,總共會有6行,第一行表示的是你所輸入的我們需要排序的字串,第二行表示的是將字串分為兩組其中的第一組,第三行表示的是將字串分為兩組其中的第二組,第四行表示的是對分成的第一組排序得到...