【微機原理 實驗】 字符串操作編程實驗(含彙編代碼)

實驗五   字符串操作編程實驗

 

 一、實驗要求和目的    

1.瞭解彙編語言字符串處理基本流程;  

2.熟悉彙編語言字符串處理基本指令的使用方法; 

3.掌握利用彙編語言實現字符串處理的程序設計方法。

二、實驗內容

(1)編寫程序,實現兩個字符串比較,如相同,則顯示“match”,否則,顯示“NO MATCH”

(2)編寫程序,統計一串字符串中某字符出現的次數。

 

1. 實驗內容 (1)

    編寫程序,實現兩個字符串比較,如相同,則顯示“match”,否則,顯示“NO MATCH”

;Author:YXP
;CSDN:yxp189
;Email:[email protected]
;如有問題,歡迎和我聯繫~
;轉載請標明出處~

STACKS  SEGMENT   STACK     
              DW        128 DUP(?)  
      STACKS  ENDS
       DATAS  SEGMENT            
      STORE1  DB        'Hello'
      STORE2  DB        'Hello'
       COUNT  EQU       5
          W1  DB        'Please type in the first:' ,0DH,0AH,'$'
          W2  DB        'Next:'  ,0DH,0AH,'$'
     OUTPUT1  DB        'MATCH' ,0DH,0AH,'$'
     OUTPUT2  DB        'NO MATCH'  ,0DH,0AH,'$'
        
       DATAS  ENDS
       CODES  SEGMENT  
              ASSUME    CS:CODES,DS:DATAS,ES:DATAS
      START:  MOV       AX,DATAS  
              MOV       DS,AX

    PRINTW1:  MOV       AH,09H
              MOV       DX,OFFSET W1
              INT       21H
              
              CLD
              MOV       CX,COUNT
              LEA       SI,STORE1
              LEA       DI,STORE2
              
         OP:
              REPE      CMPSB 
              JNZ       PRINTNF
            
     PRINTF:
              MOV       AH,09H
              MOV       DX,OFFSET OUTPUT1
              INT       21H
              JMP       ENDD
    PRINTNF:
              MOV       AH,09H
              MOV       DX,OFFSET OUTPUT2
              INT       21H
              JMP       ENDD
       ENDD:
              MOV       AX,4C00H  
              INT       21H
       CODES  ENDS
              END       START

2. 實驗內容 (2)

   編寫程序,統計一串字符串中某字符出現的次數。

;Author:YXP
;CSDN:yxp189
;Email:[email protected]
;如有問題,歡迎和我聯繫~
;轉載請標明出處~

STACKS  SEGMENT   STACK     
              DW        128 DUP(?)
      STACKS  ENDS
       DATAS  SEGMENT    
   STORE  DB        'Helllo',0DH,0AH,'$'
         SCH  DB        1 DUP(0)
       COUNT  EQU       6
         NUM  DB        1 DUP(0)
          W1  DB        ' Times=:' ,0DH,0AH,'$'
        
       DATAS  ENDS
       CODES  SEGMENT          
              ASSUME    CS:CODES,DS:DATAS,ES:DATAS
      START:  MOV       AX,DATAS 
              MOV       DS,AX 
    PRINTW1:  MOV       AH,09H
              MOV       DX,OFFSET STORE
              INT       21H
    
       READ:  MOV       AH,01H
              INT       21H
              MOV       SCH,AL

              MOV       CX,COUNT
              LEA       SI,STORE
              CLD
         OP:
              LODSB
              CMP       AL,SCH
              JNZ       NONO
              INC       NUM
       NONO:  LOOP      OP
              
      PRINT:  MOV       AH,09H
              MOV       DX,OFFSET W1
              INT       21H
              
              MOV       AH,02H
              MOV       DL, NUM
              OR        DL,30H
              INT       21H       ENDD:
              MOV       AX,4C00H   
              INT       21H
       CODES  ENDS
              END       START

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章