汇编语言 第九章 实验

汇编语言 第九章 实验_第1张图片

可以正常运行。

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

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处,正常结束。

 

汇编语言 第九章 实验_第2张图片

汇编语言 第九章 实验_第3张图片

汇编语言 第九章 实验_第4张图片

个人代码:

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

效果:

汇编语言 第九章 实验_第5张图片

你可能感兴趣的:(汇编语言实验)