汇编语言程序设计实验-----子程序设计
已知一个字符串存放在TEXT开始的连续单元中,另有一个子字符串存放在STRING开始的连续单元中,两个字符串均以$结束.编制程序,统计STRING开始的字符串在TEXT开始的字符串中出现的次数,并将结果存入COUNT字单元.请给出程序清单.
答案:data segment
string db 'abc$'
text db 'hiaabckabiiabcyyfabcds$'
output db 'count=$'
count db 3
db ?
db 3 dup(?)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov bx,offset count
mov cl,0
mov si,offset string
mov di,offset text
mov al,[si]
l0: mov ah,[di]
cmp ah,'$'
jz l4
cmp ah,al
jz l1
inc di
jmp l0
l1: inc si
inc di
mov al,[si]
mov ah,[di]
cmp al,'$'
jz l3
cmp ah,'$'
jz l4
cmp ah,al
jnz l5
jmp l1
l3: inc cl
l5: mov si,offset string
mov al,[si]
jmp l0
l4: mov ah,09h
mov dx,offset output
int 21h
mov dl,0dh ;回车
mov ah,02h
int 21h
mov dl,0ah ;换行
mov ah,02h
int 21h
add cl,30h
mov [bx],cl
inc bx
mov ah,'$'
mov [bx],ah
mov ah,09h
mov dx,offset count
int 21h
mov ah,4ch
int 21h
code ends
end start
微机作业还是自己动手比较好
上一个:简单汇编
下一个:请问汇编语言中JB(JNAE) 怎么用,说是小于转走,那么是什么小于什么呢?