汇编语言 第九章 实验

可以正常运行。

分析,前面的程序都很简单,没啥问题,到了

mov ax,cs:[si]

mov cs:[di],ax

这里,由于s2处的jmp short s1指令jmp机器码为EB,之后记录的是跳转的距离,这里向上跳到s1处,所以jmp short s1只占2个字节,所以jmp short s1处的代码就被复制到s处,由于记录的是向上跳相同的距离,所以当s0执行jmp short s之后,又执行了跳到mov ax,400h处,正常结束。

 

个人代码:

assume cs:code,ds:data,ss:stack

data segment
 db 'welcome to masm!'
 db 2h,24h,71h
data ends

stack segment
 dw 0,0,0,0,0,0,0,0
stack ends

code segment
start :mov ax,data
       mov ds,ax
       mov ax,stack
       mov ss,ax
       mov sp,16
       mov ax,0b872h
       mov es,ax
       
       mov cx,3
       mov si,16
    s1:push cx
       
       mov bx,0
       mov bp,0
       mov cx,16
    s2:mov al,ds:[bx]
       mov es:[bp],al
       inc bx
       inc bp
       mov al,ds:[si]
       mov es:[bp],al
       inc bp
       loop s2
       inc si
       
       mov ax,es
       add ax,0ah
       mov es,ax
       
       pop cx
       loop s1
       
     g:mov cx,3
       loop g
       
       mov ax,4c00h
       int 21h
code ends
end start

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值