彙編 題目 26,27 字串處理

2021-10-10 14:55:43 字數 3392 閱讀 3629

我的這種思路好像更簡單一點

現有一組字串為data,name,time,file,code,path,user,exit,quit,text,請編寫程式從鍵盤輸入4個字元的字串,若存在將其修改為disk, 並將結果在顯示器上顯示。

datas segment

buf1 db 'data,name,time,file,code,code,user,exit,quit,text'

,'$'

buf2 db 50,?

,50dup(?)

buf3 db 'disk'

,'$'

datas ends

stacks segment

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

mov es,ax ;用di,si就寫

mov si,

0 mov di,

2 mov dx,offset buf2

mov ah,

0ah int

21h mov dx,

0ah mov ah,

02h int

21hloop_begin:

cmp si,

45 jg end0

mov ah,buf1[si]

mov al,buf2[di]

cmp ah,al

jne print1

mov ah,buf1[si+1]

mov al,buf2[di+1]

cmp ah,al

jne print1

mov ah,buf1[si+2]

mov al,buf2[di+2]

cmp ah,al

jne print1

mov ah,buf1[si+3]

mov al,buf2[di+3]

cmp ah,al

jne print1

jmp print2

print1:

mov dl,buf1[si]

mov ah,

02h int

21h mov dl,buf1[si+1]

mov ah,

02h int

21h mov dl,buf1[si+2]

mov ah,

02h int

21h mov dl,buf1[si+3]

mov ah,

02h int

21h add si,

5 cmp si,

45 jg end0

mov dx,

',' mov ah,

02h int

21h jmp loop_begin

print2:

mov dx,offset buf3

mov ah,

09h int

21h add si,

5 cmp si,

45 jg end0

mov dx,

',' mov ah,

02h int

21h jmp loop_begin

end0:

mov ah,

4ch int 21h

codes ends

end start

現有一組字串為data,name,time,file,code,path,user,exit,quit,text,請編寫程式從鍵盤輸入4個字元的字串,若存在將其刪除, 並在顯示器上顯示。

datas segment

;此處輸入資料段**

buf1 db 'data,name,time,file,code,path,user,exit,quit,text'

,'$'

buf2 db 5,?

,5dup(?)

datas ends

stacks segment

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

mov es,ax

mov dx,offset buf2

mov ah,

0ah int

21h mov dx,

0ah mov ah,

02h int

21h mov si,

0 mov di,

2loop_begin:

cmp si,

45 jg end0

mov al,buf1[si]

mov ah,buf2[di]

cmp al,ah

jne print

mov al,buf1[si+1]

mov ah,buf2[di+1]

cmp al,ah

jne print

mov al,buf1[si+2]

mov ah,buf2[di+2]

cmp al,ah

jne print

mov al,buf1[si+3]

mov ah,buf2[di+3]

cmp al,ah

jne print

add si,

5 jmp loop_begin

print:

mov dl,buf1[si]

mov ah,

02h int

21h mov dl,buf1[si+1]

mov ah,

02h int

21h mov dl,buf1[si+2]

mov ah,

02h int

21h mov dl,buf1[si+3]

mov ah,

02h int

21h add si,

5 cmp si,

45 jg loop_begin

mov dx,

',' mov ah,

02h int

21h

jmp loop_begin

end0:

mov ah,

4ch int 21h

codes ends

end start

彙編 題目 45,46 字串加密

在記憶體中定義乙個用於加密的key和明文本串,用這個key的每個字元依次和明文本串的對應字元進行異或操作得到密文字串,並將密文字串儲存在另乙個變數中。例如 key為 abxmv 7 在記憶體中定義乙個用於加密的key和明文本串,用這個key的每個字元依次和明文本串的對應字 符進行異或操作得到密文字串...

題目1490 字串鏈結

時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 63 解決 35 題目描述 不用strcat 函式,自己編寫乙個字串鏈結函式mystrcat char dststr,charsrcstr 輸入 兩個字串,字串由小寫字母組成。輸出 鏈結後的字串 樣例輸入 hello world good...

南陽題目915 字串

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩...