正文

汇编写的(交集,并集,差集)2006-12-11 15:43:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hammers/21481.html

分享到:

最近忙这考试,英语六级很少写帖了,今天有兴趣就写了这个程序,希望大家给点评论,以便自己以后改进!!!       dseg segmentstr1 db 'abcdefgklmn','$'str2 db 'abcdhijk','$'jiao db 20 dup (?)bing db 30 dup (?)cha  db 20 dup (?)dseg endssseg segment stacksseg endscseg segment            assume cs:cseg,ds:dseg,ss:sseg            start:           mov ax,dseg     mov ds,ax     lea ax,str1     push ax     lea ax,str2     push ax     lea ax,jiao     push ax          call jiao_func                 lea ax,str1     push ax     lea ax,str2     push ax     lea ax,bing     push ax     call bing_func                  lea ax,jiao     push ax     lea ax,bing     push ax     lea ax,cha     push ax     call cha_func      lea dx,jiao     mov ah,9     int 21h     mov dl,':'     mov ah,2     int 21h     lea dx,bing     mov ah,9     int 21h     mov dl,':'     mov ah,2     int 21h     lea dx,cha     mov ah,9     int 21h      mov ah,4ch     int 21h   jiao_func   proc       push bp     mov  bp,sp     push ax     push bx     push cx     push dx     push si     push di     mov si,6[bp]     mov bx,4[bp]     mov di,8[bp]           next_loop:        mov al,'$'     cmp [si],al     je   exit_jiao          mov al,[si]     push dinext_jiao:      cmp al,[di]     je   element_jiao     mov ch,[di]     cmp ch,'$'     je  element_null     inc  di     jmp  next_jiaoelement_jiao:                    mov cl,[si]     mov [bx],cl     pop di      inc  bx     inc  si     jmp  next_loopelement_null:                 pop di     inc si     jmp next_loop exit_jiao:     mov al,'$'    mov [bx],al     pop di     pop si     pop dx     pop cx     pop bx     pop ax     pop bp     ret 6 jiao_func  endp   bing_func   proc     push bp     mov  bp,sp     push ax     push bx     push cx     push dx     push si     push di     mov si,6[bp]     mov bx,4[bp]     mov di,8[bp]            next_loop:     mov al,'$'     cmp al,[si]     je  add_bing     push di next_check: mov  al,[di]      cmp  al,'$'     je   no_over     cmp  [si],al     je   same_have           inc  di     jmp  next_check same_have:   pop di      inc si      jmp next_loopno_over:     pop di      mov cl,[si]      mov [bx],cl      inc bx      inc si      jmp next_loopadd_bing:      mov al,'$'      cmp al,[di]      je  exit      mov al,[di]      mov [bx],al      inc di      inc bx      jmp add_bingexit:            mov al,'$'     mov [bx],al      pop di     pop si     pop dx     pop cx     pop bx     pop ax     pop bp     ret 6  bing_func   endp   cha_func    proc     push bp     mov  bp,sp     push ax     push bx     push cx     push dx     push si      push di     mov si,6[bp]   ;bing     mov bx,4[bp]     mov di,8[bp]   ;jiao            next_loop:  mov al,'$'     cmp al,[si]     je  exit_cha     push dinext_check: mov al,[di]     cmp al,'$'     je  have_cha      cmp al,[si]     je  no_incha     inc di     jmp next_checkhave_cha:     pop di     mov al,[si]     mov [bx],al     inc si      inc bx     jmp next_loopno_incha:     pop di     inc si     jmp next_loopexit_cha:        mov al,'$'     mov [bx],al      pop di     pop si     pop dx     pop cx     pop bx     pop ax     pop bp     ret 6           cha_func    endp cseg ends     end start

阅读(2581) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册