控制转移指令
Posted howbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制转移指令相关的知识,希望对你有一定的参考价值。
控制转移指令
1.jmp
段内转移
short 8bit
-128~+127
near 16bit
-2^15~+2^15 -1
段间转移
远转移 32bit
寻址方式
段内相对寻址 jmp label 修改ip
段内间接寻址 jmp r16/m16 更换ip
段间直接寻址 jmp far ptr label
段间间接寻址 jmp far ptr men
ip<-men cs<-men+2
2. jcc
无符号数 bellow above equal
jb
ja
jae
jnae
有符号数 less greater
;若x>50,转到exit结束; 否则计算x-y 溢出转到overflow 否则|x-y|->result
cmp x,50
jg exit
mov ax,x
sub ax,y
jo overflow
cmp ax,0
jnl next
neg ax
next: mov result,ax
jmp exit
overflow:
exit:
3. loop
;求首地址为array的m个字之和,结果存入total
mov ax,0
lea bx,array
mov cx,m
sum: add ax,[bx]
inc bx
inc bx
loop sum
mov total,ax
;记录字符串string中空格的个数
mov cx,count
lea bx,string
mov al,0
mov dx,0
again: mov al,[bx]
cmp al,20h
jnz not20h
inc dx
not20h: inc bx
loop again
4.子程序
;用子程序实现AL低四位的16进制转化为ascall
mov al,0fh
call htoasc
htoasc proc
or al,30h
cmp al,39h
jbe over
add al,7
over:
ret
htoasc endp
以上是关于控制转移指令的主要内容,如果未能解决你的问题,请参考以下文章