久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1608|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

微機(jī)原理與接口技術(shù)實(shí)驗(yàn)-字符串搜索與匹配

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
介紹了一個(gè)使用x86指令集的匯編語(yǔ)言仿真實(shí)驗(yàn),實(shí)驗(yàn)具體要求和仿真結(jié)果如下:1、實(shí)驗(yàn)任務(wù)要求

2、設(shè)計(jì)思路
分析實(shí)驗(yàn)要求,我們要完成四個(gè)功能:
1)從一個(gè)已知字符串str中找到匹配字符串substr的起始位置;
2)從起始位置開始,比對(duì)兩個(gè)字符串,確定兩個(gè)字符串確實(shí)一樣,由此便可認(rèn)為已知字符串中出現(xiàn)了匹配字符串;
3)在找到匹配字符串后,設(shè)置標(biāo)志為單元found;
4)在找到匹配字符串后,把匹配位置存放到pos中。
明確需要完成的功能,然后設(shè)計(jì)算法:
1)使用‘while’循環(huán),遍歷字符串str,找到匹配字符串substr的起始位置;
2)找到起始位置后,再用LOOP循環(huán)對(duì)兩個(gè)字符串比對(duì)。循環(huán)次數(shù)是substr長(zhǎng)度再減一(第一次已經(jīng)在while中完成);
3)4)完成循環(huán)后,設(shè)置標(biāo)志位found,把匹配位置存放到pos中。

注意到str可能不包含substr,當(dāng)遍歷str沒有找到substr時(shí),程序終止。

下面是程序思路流程圖:

3、運(yùn)行結(jié)果
設(shè)置字符串str和匹配字符串substr如圖:

運(yùn)行結(jié)果如下:


本實(shí)驗(yàn)的匯編語(yǔ)言源代碼見博客末尾:
  1. ;Finding substr from string

  2. DATA SEGMENT
  3.     str DB '2020210827 Liqiwen', 00H
  4.     substr DB 'Liqiwen', 00H
  5.     N EQU $-substr
  6.     found DB 00H
  7.     pos DW ?
  8. DATA ENDS

  9. CODE SEGMENT
  10.     ASSUME CS:CODE, DS:DATA
  11. START:
  12.     MOV AX, DATA
  13.     MOV DS, AX
  14.    
  15.     LEA SI, str
  16.     XOR AX, AX
  17.     MOV AL, [SI]    ;Using AL as the container of [SI]
  18.     XOR CX, CX
  19.     MOV CX, N-1     ;LOOP times: N-1
  20. BACK:LEA DI, substr
  21. SHIFT:
  22.     CMP AL, 00H     ;str doesn't contain substr, program terminated.
  23.     JE FINISH
  24.     CMP AL, [DI]
  25.     JE COMP         ;If [SI] euqals the first chart of substr, comparation will begin.
  26.     INC SI
  27.     MOV AL, [SI]   
  28.     JMP SHIFT
  29. COMP:
  30.     INC SI          ;Shift to the next chart
  31.     INC DI
  32.     MOV AL, [SI]
  33. L1:
  34.     CMP AL, [DI]
  35.     JNE BACK        ;If [DI] doesn't euqal [SI], clarifying substr didn't appare, instruction will go back.
  36.     INC SI
  37.     INC DI
  38.     MOV AL, [SI]
  39.     LOOP L1
  40.    
  41.     MOV AL, 0FFH
  42.     MOV found, AL
  43.     LEA BX, SI-8    ;BX deposits the beginning position.
  44.     MOV [pos], BX
  45.      
  46. FINISH:   
  47.     MOV AH, 4CH
  48.     INT 21H
  49. CODE ENDS
  50. END START
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日日摸夜夜添夜夜添精品视频 | 久久99精品久久 | 日韩中文字幕久久 | 在线亚洲人成电影网站色www | 日韩欧美在线不卡 | 久久国产精品无码网站 | 成人影院网站ww555久久精品 | 成人免费一区二区 | 一区二区在线 | 欧美成人精品一区二区三区 | 成人亚洲片 | 国产毛片久久久 | 精品成人在线观看 | 久久精品中文 | 国产精品1区2区 | 亚洲最大av网站 | 亚洲视频在线一区 | 成人在线国产 | 91久久精品国产 | 免费成人av | 欧美日韩一卡二卡 | 特级特黄特色的免费大片 | 免费成人av | 麻豆久久精品 | 欧美一级免费看 | 久久精品成人 | 综合精品久久久 | 亚洲福利片| av一区二区在线观看 | 青青草华人在线视频 | 亚洲色图插插插 | 嫩草研究影院 | 国产精品成人一区 | 亚洲精品字幕 | 精品日韩一区 | 久久精品国产精品青草 | 久久免费小视频 | 岛国在线免费观看 | 精品国产乱码一区二区三区a | 亚洲在线一区二区 | 福利视频一区二区三区 |