首页 >  知识中心 >  新闻详情

jbe汇编 汇编语言emu8086

来源:朵拉利品网  |  2020-03-13 18:21:14

1, 汇编语言emu8086



DATA SEGMENT
A DB 34H,30H,35H,38H,39H,33H,37H,2AH,0CH,9DH,0
N EQU $ - A
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
CALL DISP ;先显示一遍
;-----------------------------
SORT: ;开始排序
MOV CX, N
DEC CX
L1:
PUSH CX
LEA BX, A
L2:
MOV AL, [BX]
CMP AL, [BX + 1]
JB NEXT
XCHG AL, [BX + 1]
MOV [BX], AL
NEXT:
INC BX
LOOP L2
POP CX
LOOP L1
;-----------------------------
CALL DISP ;再显示一遍
EXIT:
MOV AH, 4CH
INT 21H
;=============================
DISP:
LEA BX, A
MOV CX, N
N0:
MOV AL, [BX]
MOV AH, 0
MOV DL, 16
DIV DL
MOV DX, AX
MOV AH, 2
CMP DL, 10
JB N1
ADD DL, 7
N1: ADD DL, "0"
INT 21H
MOV DL, DH
CMP DL, 10
JB N2
ADD DL, 7
N2: ADD DL, "0"
INT 21H
MOV DL, "H"
INT 21H
MOV DL, " "
INT 21H
INC BX
LOOP N0
MOV DL, 13
INT 21H
MOV DL, 10
INT 21H
RET
;=============================
CODE ENDS
END START

2, 汇编,用子程序编写



.model tiny
.code
; 输入AL为2进制,输出AL为对应的ASCII码
BIN2HEX PROC
CMP AL,9
JBE L_10
ADD AL, "A"-"9"-1
L_10:
ADD AL,"0"
RET
BIN2HEX ENDP
;主程序
start:
MOV AX, 1Bh
PUSH AX
SHR AL,1
SHR AL,1
SHR AL,1
SHR AL,1
CALL BIN2HEX
MOV DH,AL
POP AX
AND AL,0FH
CALL BIN2HEX
MOV DL,AL
MOV AX,4C00h
int 21h
;结束
end start

3, 汇编语言里jc指令是什么意思?



JC=Jump if Carry
当运算产生进位标志时,即CF=1时,跳转到目标程序处。
例如:
add al,bl
jc carrybit
inc al;如果al+bl产生了进位,这一句就不执行了。
carrybit:
neg al
这段程序没有任何意义,仅仅作为示例哈。。。
相同的指令还有:
JNC,当CF=0时跳转;
JZ,当ZF=1时跳转,JNZ,当ZF=0时跳转;
JO,当OF=1时跳转,JNO,当OF=0时跳转;
JP,当PF=1时跳转……
依此类推,标志寄存器的各个位基本上都可以用来做“条件跳转”的条件。
当然,条件跳转不仅仅是标志寄存器位,还可以是CX
如:
a_loop:
;do something
dec cx
jcxz
jmp a_loop
可以看出,这一段相当于一个loop指令。。。
还有,用于大小判断型的:
cmp op1,op2
JXX XXXX
其中JXX有以下几种:
JA表示op1>op2,JNA表示op1<=op2;
JB表示op1<op2,JNB表示op1>=op2;
JE表示op1=op2,JNE表示op1<>op2;
还有JAE、JNAE、JBE、JNBE等等功能重复不再赘述。
以上是无符号数的比较。
有符号数的比较将A换成G,将B换成L即可。
A=above B=below G=greater L=less
介绍的够详细了吧。。。

5, 用汇编语言写约瑟夫环



CMP OPR1 , OPR2指令只是对操作数OPR1 , OPR2之间运算比较,不保存结果。指令本身不进行跳转,只是根据结果设置相关的条件标志位(SF、ZF、CF、OF),CMP指令后往往跟着条件转移指令,实现根据比较的结果产生不同的程序分支的功能。
格式:CMP OPR1 , OPR2.
执行操作:(OPR1)-(OPR2)
功能:该指令与SUB指令一样执行减法的操作,但它并不保存运算结果,只是根据结果设置相关的条件标志位(SF、ZF、CF、OF)。CMP指令后往往跟着条件转移指令,实现根据比较的结果产生不同的程序分支的功能。
跳转相关的条件跳转指令:
1、JA/JNBE DEST指令:转移条件是CF=0 AND ZF=0,含义是无符号数A>B,英文表示是JMP above (not below or equal)。
2、JAE/JNB DEST指令:转移条件是CF=0,含义是无符号数A≥B,英文表示是JMP above or equal (not below )。
3、JB/JNAE DEST指令:转移条件是CF=1,含义是无符号数A<B,英文表示是JMP blow (not above or equal)。
4、JBE/JNA DEST指令:转移条件是CF=1 OR ZF=1,含义是无符号数A≤B,英文表示是JMP blow or equal (not above)。
参考资料来源:百度百科-CMP指令
参考资料来源:百度百科-条件转移指令

名词解释


跳转

这个动作难度不是很大,但是需要协调性跟腰力支配身体。首先要练习的是第一周的翻腾。 起始动作如右图所示动作要点:身体跟双腿大腿部保持平行,用腰的力量。身体重心要把握好,不要太偏了。

 
相关新闻
jeep指南者压缩机开关价格 jeep指南者价格 07-05
jeep进口车型 Jeep到底是国产还是合资车 07-05
jeep指南者配件价格 jeep指南者保养,维修配件贵吗 07-05
jeep指南者原装刹车片 美国的JEEP 指南者 有什么弊处 07-05
jeep指南者后尾灯价格 jeep指南者性能及价位 07-05
jeep指南者销量 JEEP车型中国销量是多少? 07-05
2018jeep指南者视频 jeep出的指南者? 07-05
jacket jacket的意思 08-15
宝华音箱哪个系列好 宝华音响bosejbl哪个好 12-19
jyske bank justin bieber 在哪些地方开过演唱会 03-01
相关产品
JIEBOTECH/杰博总碳分析仪 总硫分析仪 碳硫分析仪 05-13
JK-KBE-9010 数控车床电气控制与维修实训台 05-28
厂家批发三星GALAXY J1电池J100原装电池EB-BJ100BBE手机原装... 06-10
供应原包 PEI 美国SABIC ULTEM? JD7904 06-13
和柔电缆,Helukabel电缆,JZ500原装软电缆,大量现货 06-14
153随车起重运输车 EQ1258KB3GJ1 06-15
供应pabojoe是什么牌子 06-20
供应YJB1500型YJB2500型补偿式微压计 06-23
YJB-1500补偿式微压计 YJB-2500补偿式微压计 06-23
供货 产地日本RABALON品牌SJ8400B/N TPE原料 06-30

大家都在看