1.loop指令實作
1 ;===============================
2 ;循環程式設計
3 ;将制定記憶體中連續count個位元組填寫成指定内容(te)
4 ;loop指令實作
5 DATAS SEGMENT
6 string db 'a test string','$'
7 te dw 'Q' ;用于替換的字元(字)
8 ; te db 'Q' ;用于替換的字元(位元組)
9 count db 5 ;連續5個位元組
10 DATAS ends
11 CODES SEGMENT
12 ASSUME CS:CODES, DS:DATAS
13 START:
14 mov AX,DATAS
15 mov DS,AX
16
17 xor cx,cx
18 xor ax,ax
19 mov si,offset string
20 ; mov al,te ;(位元組)
21 mov ax,te ;用于替換的字元放入按下中
22 mov cl,count;設定循環次數
23 lp:
24 ; mov [si],Al
25 ; inc si ;(位元組)
26 mov [si],Ax ;替換原内容
27 add si,2 ;帶操作的記憶體的偏移位址增加
28 loop lp
29 print:
30 lea dx,string
31 mov ah,09H
32 int 21h
33
34 exit:
35 mov ah,4ch
36 int 21H
37 CODES ends
38 end START
2.條件轉移指令
1 ;===============================
2 ;循環程式設計
3 ;将制定記憶體中連續count個位元組填寫成指定内容(te)
4 ;條件轉移指令實作
5 DATAS SEGMENT
6 string db 'a test string','$'
7 te db 'Q' ;用于替換的字元
8 count db 5 ;連續5個位元組
9 DATAS ends
10 CODES SEGMENT
11 ASSUME CS:CODES, DS:DATAS
12 START:
13 mov AX,DATAS
14 mov DS,AX
15
16 xor cx,cx
17 xor ax,ax
18 mov si,offset string
19 mov al,te
20 mov cl,count
21 flag:
22 mov [si],al
23 inc si ;si自增1
24 dec cl ;cl自減1
25 cmp cl,00h
26 ja flag ;cl大于0跳轉
27 print:
28 lea dx,string
29 mov ah,09H
30 int 21h
31
32 exit:
33 mov ah,4ch
34 int 21H
35 CODES ends
36 end START
"你的指尖,擁有改變世界的力量! "
歡迎關注我的個人部落格:https://sugarat.top