汇编语言-偏移地址综合应用-双重循环实现

来源:互联网 发布:手机淘宝不能付款 编辑:程序博客网 时间:2024/06/06 01:24

要求:

    db '1.helloworld    '    db '2.apple         '    db '3.stevejobs     '    db '4.macbook       '    将上述内容从第三个数据开始向后三个都变成大写,结果如下:    db '1.HELloworld    '    db '2.APPle         '    db '3.STEvejobs     '    db '4.MACbook       '

代码实现:

assume cs:code,ds:data    data segment        db '1.helloworld    '        db '2.apple         '        db '3.stevejobs     '        db '4.macbook       '    data ends    stack segment        dw 0,0,0,0,0,0,0,0        dw 0,0,0,0,0,0,0,0    stack endscode segment    start:        mov ax,stack        mov ss,ax        mov sp,32        mov ax,data        mov ds,ax        mov es,ax        mov cx,4        mov bx,0        mov si,2        upLetter:            push cx ;压栈保存上一次循环数据            push si            mov cx,3        upRow:            mov dl,ds:[bx+si]            and dl,11011111B            mov es:[bx+si],dl            inc si            loop upRow            pop si ;出栈,逆向弹出            pop cx            add bx,16            loop upLetter            mov ax,4c00h            int 21hcode endsend start

结果

原内容

这里写图片描述

最后结果

这里写图片描述

原创粉丝点击