汇编用串检测scasb寻找数的位置

stack      segment
	db 1024 dup(?)
stack      ends

data       segment
	buff   db 64h,45h,42h,78h,89h
data       ends

code       segment
	assume cs:code,ds:data,ss:stack
start:     mov ax,data
           mov ds,ax
           mov es,ax
           mov di,offset buff
           mov al,42h
           mov cx,lengthof buff
           cld
again:     scasb
           je next
           loop again
           
next:      mov dl,cl
           mov al,dl
           call ALdisp
           mov ah,4ch
           int 21h
           
        ALdisp proc
        push ax
        push cx
        push dx
        push ax
        mov dl,al
        mov cl,4
        shr dl,cl
        or dl,30h
        cmp dl,39h
        jbe aldisp1
        add dl,7
aldisp1:mov ah, 2
        int 21h
        pop dx
        and dl,0fh
        or dl,30h
        cmp dl,39h
        jbe aldisp2
        add dl,7
aldisp2: mov ah,2
        int 21h
        pop dx
        pop cx
        pop ax
        ret
ALdisp  endp

code       ends
end        start

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值