无条件跳转指令jmp
jmp short 标号 8位位移
jmp near ptr 标号 16位位移
jmp far ptr 标号
检测点9.1
(1)
assume cs:code
data segment
dw 0,offset start
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx +1]
code ends
end start
(2)
assume cs:code
data segment
dd 12345678h
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov [bx],word ptr 0
mov [bx+2],cs
jmp dword ptr ds:[0]
code ends
end start
(3)
cs = 0006h ip = 00beh
检测点9.2
(1)
补全程序,利用jcxz指令,实现在内存2000h段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000h
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
jcxz ok
inc bx
jmp short s
ok: mov dx,bx
mov ax,4c00h
int 21h
code ends
检测点9.3
补全程序,利用loop指令,实现在内存2000h段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000h
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
inc cx
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start