8086指令小结

所有指令

1 )立即数不能作为目的操作数。
2 )不能在 2 个存储单元之间直接进行操作(串操作除外)
3 MOV 指令和堆栈指令是惟一能对段寄存器进行操作的指令。
4 )源和目的操作数的数据类型必须匹配,都是
8 位,或都是 16 位。
5 CS IP 不能直接作为操作数。
6 )指令中至少要有一项明确说明传送的是字节还是字,
如果没有, 可通过 PTR 进行设置。

一、传送指令

1 6 种指令:通用传送指令、堆栈操作指令、交换操作指令、
I/O 操作指令、目的地
址传送指令和标志传送指令。
2 )对标志位的影响:除标志传送(
SAHF POPF )外,均不影响标志位。
3 )操作数表示方法:立即数——
data ,存储器单元地址——
mem
寄存器—— reg , 段寄存器—— segreg
1. 通用传送指令:完成数据传送
1 )指令格式: MOV
OPRD1 OPRD2 [ 目的操作数 OPRD1] [ 源操作数 OPRD2]
2 )源 OPRD2 data mem reg segreg
3 )目的 OPRD1 mem reg segreg
4 )通用传送指令
MOV 和堆栈指令是唯一允许以段寄存器(代码段寄存器
CS 和指
令指针 IP 除外,即 CS IP 不能作为直接操作数)作为操作数的指令,不允许通过
MOV
指令直接以立即数方式给段寄存器赋值,不允许直接在两个段寄存器之间直接进行传送。
5 8 /16 位操作。
2. 堆栈操作指令:将数据压入
/ 弹出堆栈
1 )指令格式:
入栈: PUSH OPRD 先修改堆栈指针 SP-2 ,然后将数据压入堆栈。
SP =SP-1 [SP]= 操作数高 8 位; SP =SP-1 [SP]= 操作数低 8 位。
出栈: POP OPRD 先将数据弹出堆栈,然后修改堆栈指针
SP+2
(操作数低 8 位)← [SP] SP =SP+1 ;(操作数高 8 位)← [SP] SP =SP+1
2 )操作数: mem reg segreg 。操作数不能是立即数
data
3 )仅能进行字运算(
16 位操作)。
4 )堆栈存取原则为后进先出,只有一个入
/ 出口 SS SP SP 始终指向栈顶, SP
自动修改的, SP 在初始化中需要设置。
5 PUSH POP 指令必须成对使用。
3. 交换操作指令: XCHG ——数据交换; XLAT ——完成一个字节的换码转换
1 )指令格式:
交换操作指令:
XCHG
OPRD1 OPRD2 [OPRD1] ←→ [OPRD2]
累加器换码指令 (表转换指令、 查表指令): XLAT AL )← (( DS )× 16 +( BX + AL ))
2 XCHG :段寄存器和立即数不能作为一个操作数,
8 /16 位操作。
3 XLAT :表首地址在 BX 中, AL 的内容作为某一项到表首的偏移量(
256 字节的 2
表的下标),转换后的结果存放在
AL 中。
4. I/O 操作指令:累加器(
AX/AL )与 I/O 端口之间的数据传送
1 )指令格式:
输入指令: IN AL/ AX PORT AL/ AX )← [PORT]
IN
AL/ AX DX
AL/ AX )← [DX]
输出指令: OUT PORT AL/ AX
[PORT] ←( AL/ AX
OUT
DX AL/ AX
[DX] ←( AL/ AX
2 )当端口地址≤
255 时,使用 PORT 8 位端口直接地址) ;当端口地址≥ 255 时,
必须用 DX 16 位端口直接地址)作桥梁。
DX 作端口寻址最多可寻找
64K 个端口。
3 PORT 为直接寻址, 8 /16 位操作。
5. 目的地址传送指令
1 )取有效地址指令:
LEA
OPRD1 OPRD2
或: LEA
reg [add] reg )← add add 为有效地址
把存储器的有效地址
EA (源操作数的地址偏移量)送入一个寄存器
reg ;常用于
将一个 16 位的通用寄存器作为地址指针。传送的是有效地址
EA
2 )将双地址指针装入
DS 和另一个寄存器指令
LDS 指令:
LDS
OPRD1 OPRD2
或: LDS
reg [add] ;( reg )← ( add+1 )( add ), ( DS )←( add+3 )( add +2
3 )将双地址指针装入
ES 和另一个寄存器指令
LES 指令:
LES
OPRD1 OPRD2
或: LES
reg [add] reg )←( add+1 )( add ), ( ES )←( add+3 )( add +2
① 从源操作数指定的存储单元中取出
4 字节的地址指针 (包括 2 字节的段地址和
2 字节的偏移量)传送到
DS/ES reg 。指定将段地址送入
DS/ES ,偏移量部分送入一
16 位的指针寄存器或变址寄存器。
② 源操作数 mem ,目的操作数必须是一个
16 位的通用寄存器。
③ 传送的是存储单元的内容,而不是存储器的有效地址
EA
6. 标志传送指令
1 )读标志指令: LAHF AH )← ( FR 0 7
功能: 将标志寄存器中的
SF ZF AF PF CF (即低 8 位)传送至 AH 寄存器的
指定位,空位没有定义。
2 )存标志指令: SAHF FR 0 7 ←( AH
功能: 将寄存器 AH 的指定位,送至标志寄存器的
SF ZF AF PF CF 位(即低
8 位)。根据 AH 的内容,影响上述标志位,对
OF DF IF TF 无影响。
3 )标志入栈指令: PUSHF FR 入栈。( SP )←( SP )- 2 ,(( SP +1 ,( SP ))←( FR
功能 :将标志寄存器 FR 压入堆栈顶部,同时修改堆栈指针,不影响标志位。
4 )标志弹出栈指令:
POPF 将栈顶的内容弹出到 FR 中。
;( FR )←(( SP +1 ,( SP )), ( SP )← ( SP + 2
功能: 堆栈顶部的一个字,传送到标志寄存器
FR ,同时修改堆栈指针,影响标志位。

二、算术运算指令

1 9 种指令:加法指令、减法指令、增量
// 减量指令、求补指令、比较指令、乘法指
令、除法指令、字节字
/ 转换为字扩展指令和十进制调整指令。
2 )对标志位的影响: 3
① 加、减、比较指令( CMP )、取补指令( NEG )指令均影响 6 个标志位 CF OF
PF SF ZF AF
② 乘法指令影响 CF OF 标志;除法指令所有标志位都不确定,无意义。
③ 增量 // 减量指令影响除进位标志
CF 以外的 5 个标志位 AF OF PF SF ZF
④ 字节字 / 转换为字扩展指令不影响标志位。
⑤ 加法的 ASCII 调整指令 AAA ,十进制调整指令
DAA 影响除溢出标志
OF 以外 5
个标志: CF PF SF ZF AF OF 没有意义。
⑥ 减法的 ASCII 调整指令 AAS 、十进制调整指令
DAS 影响 2 个标志: CF AF
其余标志没有意义。
⑦ 乘法的 ASCII 调整指令 AAM 、除法的 ASCII 调整指令 AAD 根据 AL 寄存器的
结果影响 SF ZF PF
1 .加法指令
(Addition) :完成加法操作。
1 )格式: ADD/ ADC
OPRD1 OPRD2 OPRD1 )←( OPRD1 + OPRD2
2 )源: data mem reg ;目的: reg mem
3 ADC 指令主要用于多字节运算中。
4 8 /16 位操作。
2 .减法指令 (Subtraction) :完成减法操作。
1 )格式: SUB/ SBB OPRD1 OPRD2 OPRD1 )←( OPRD1 )-( OPRD2
2 )规定同加法指令。
3. 增量(加 1 / 减量(减 1 )指令 INC/ DEC :完成 +1/-1 操作。
1 )格式: INC/ DEC
OPRD OPRD )←( OPRD )± 1
2 )功能:主要用于在循环程序中修改地址指针和循环次数等。
3 )操作数: reg mem
4. 求补指令 NEG :完成补码操作。
1 )格式: NEG OPRD
2 )操作数: reg 、: mem
5. 比较指令 CMP :完成减法操作,结果不回送,反映在标志位上。
1 )格式: CMP OPRD1 OPRD2 OPRD1 )-( OPRD2
2 )功能:主要用于比较两个数之间的关系。在比较指令之后,根据标志即可判断两
者之间的关系。减法操作,结果不回送目的操作数。
3 )两数关系的判断标志
A=B ZF=1 判断;
② 两个无符号数的大小用
CF 判断。 CF=1 A<B CF=0 A>B
③ 两个符号数的大小用
SF OF 判断。 SF OF=1 A<B SF OF=0 A>B
JG/JNLE (大于, SF OF=0 ZF=0 JL/JNGE (小于, SF OF=1 ZF=0
6. 乘法指令 MUL/ IMUL :完成无符号乘法 / 带符号(整数)乘法操作。
1 )格式: MUL/ IMUL
OPRD 8 位:( AX ) ← ( AL )╳( OPRD
16 位:( DX ) ( AX ) ← ( AX )╳( OPRD
2 )源操作数: reg mem ,由指令给出。
3 )目的操作数:默认在
AL/AX 中。
4 )带符号数乘法指令
IMUL 当结果的高半部分不是结果的低半部分的符号扩展时,
标志位 CF OF 将置位。
6 )可完成字节与字节乘法、字与字乘法操作。 4
7. 除法指令 DIV/ IDIV :完成无符号除法 / 带符号(整数)除法操作。
1 )格式: DIV/ IDIV
OPRD 8 位: (AL) (AX)/( OPRD ) ……( AH ) (余数)
16 位: (AX) (DX) (AX)/( OPRD)
……( DX )(余数)
2 )源 / 目的操作数规定同乘法指令。
3 )对于符号数,当被除数不够位数时,需要对高
8/16 位进行扩展符号扩展。
8. 字节字 / 转换为字扩展指令
CBW/CWD :将 AL/AX 寄存器的最高位扩展到
AH/DX
1 )格式: CBW/CWD
2 )功能:将 AL/AX 寄存器的最高位扩展到
AH/DX AL.7 AX.15 =0 ,则 AH DX
=0 AL.7 AX.15 = 1 ,则 AH=0FFH DX=0FFFFH )。
9. 十进制调整指令
1 )压缩 BCD 码:每个字节表示两位
BCD 数;
非压缩 BCD 码:用一个字节表示一位
BCD 数,在这字节的高四位用
0 填充。
2 )每条十进制调整指令在使用时都与相应的算术运算指令配合,并自动对相应的算
术运算指令结果进行相应的十进制调整。
3 )格式:
DAA :压缩的 BCD 码加法调整
DAS :压缩的 BCD 码减法调整
AAA :非压缩的 BCD 码加法调整
AAS :非压缩的 BCD 码减法调整
AAM :乘法后的 BCD 码调整
AAD :除法前的 BCD 码调整

三、逻辑运算和移位指令

1. 逻辑运算指令
1 5 种指令:逻辑与、或、非、异或和测试指令。
2 )指令格式
① 逻辑与指令 AND
OPRD1 OPRD2 OPRD1 )←( OPRD1 )∧( OPRD2
② 逻辑或指令 OR OPRD1 OPRD2
OPRD1 )←( OPRD1 )∨( OPRD2
③ 逻辑非指令
NOT
OPRD
OPRD )← ( /OPRD
④ 逻辑异或指令 XOR OPRD1 OPRD2 OPRD1 )←( OPRD1 OPRD2
⑤ 测试指令 TEST OPRD1 OPRD2 (OPRD1) ( OPRD2 ) ,结果不回送。
3 )操作数范围
源操作数为 reg mem data ;目的操作数为 reg mem NOT 指令只有一个操作数) 。
单操作数指令 NOT 的操作数不能为立即数。双操作数逻辑指令中,必须有一个操作数为寄
存器寻址方式,且目的操作数不能为立即数。
4 )功能:实现相应的逻辑功能。
① 与指令可实现屏蔽(复位)数据的某些位(使一个字或字节中的某些位清
0 ,而其
余位不变),提取某些位或拆字。
② 或指令可实现置位数据的某些位
(使一个字或字节中的某些位置
1 ,而其余位不变) ,
拼字。
③ 非指令常用于使某个数取反,或取反后
+1 而得补码。
④ 异或指令可实现某个寄存器清
0 ,或使目的操作数的某些位取反(使一个字或字节
中的某些位取反,而其余位不变)
⑤ 测试指令通常用于测试。目的操作数的某些位是
1 还是 0 ,用 ZF 标志判断。 5
5 )对标志位的影响
① 逻辑与、或、异或和测试指令影响
ZF PF SF 标志; CF=0 OF=0 AF 无意义。
② 逻辑非指令不影响标志位。
2. 移位指令
1 4 8 种指令:算术移位 SA ,逻辑移位 SH ,循环移位 RO ,带进位位的循环移位
RC 。右移 R ,左移 L
2 )指令格式:操作码
OPRD M
M =1 时,只移 1 位; M>1 时,可将指令格式中的
CNT 改为 CL 寄存器,并在移位指
令前将移位次数预先送入
CL 寄存器中。
3 )功能:将 OPRD 的内容移位 M 次。算术移位适用于带符号数的×
2 ,÷ 2 。逻辑
移位适用于无符号数的×
2 ,÷ 2
4 )操作数范围:
reg mem
5 )对标志位的影响:
① 算术 / 逻辑移位指令影响
CF SF ZF PF 标志,在移 1 位时,影响 OF 标志。不
影响 AF 标志。
② 循环移位指令只影响
CF OF 标志,不影响其他标志位。
MSB
LSB
MSB
LSB
MSB
LSB
CF
CF
CF
0
0
SHL/SAL 算术 / 逻辑左移
SHR 逻辑右移
SAR 算术右移
MSB
LSB
CF
MSB
LSB
CF
MSB
LSB
CF
MSB
LSB
CF
ROL 循环左移
ROR 循环右移
RCL 通过进位的循环左移
RCR 通过进位的循环右移

四、串操作类指令

1 5 种指令: 串传送 MOVS ,串比较 CMPS ,串搜索 SCAS ,存串 STOS ,取串 LODS
2 )指令格式:操作码
DST SRC
MOVSB (字节) /MOVSW (字)
① 串传送 MOVS DST SRC [(ES DST)] [(DS SRC )]
MOVSB
[(ES DI)] [(DS SI)] SI=SI ± 1 DI=DI ± 1
MOVSW
[(ES DI)] [(DS SI)] [(ES DI+1)] [(DS SI+1)] SI=SI ± 2 DI=DI ± 2
② 串比较 CMPS DST SRC
[(ES DI)] [(DS SI)] SI=SI ± 1 DI=DI ± 1 6
③ 串搜索 SCAS DST
AL [(ES DI)]] DI=DI ± 1
④ 存串 STOS DST
[(ES DI)] AL DI=DI ± 1
⑤ 取串 LODS SRC
AL [(DS SI)] SI=SI ± 1
字操作与字节操作类似,
AL —— AX
3 )功能
根据方向标志 DF 及所传送数据的类型
( 字节 / ) SI DI 进行修改, 在指令重复前缀
REP 的控制下实现。
① 串传送: 把数据段中由 SI 间接寻址的一个字节 / 字传送到附加段中由
DI 间接寻址的
一个字节 / 字单元中。
② 串比较: 把数据段中由 SI 间接寻址的一个字节 / 字与附加段中由 DI 间接寻址的一个
字节 / 字进行比较操作,使比较的结果影响标志位。可在两个数据串中寻找第一个不相等的
字节 / 字,或者第一个相等的字节
/ 字。
③ 串搜索:用指令指定的关键字节
/ ( 分别存放在 AL/AX ) ,与附加段中由
DI 间接
寻址的字节串中的一个字节进行比较操作,
使比较的结果影响标志位。
可在指定的数据串中
搜索第一个与关键字节匹配(或者不匹配)的字节。
④ 存串:把指令中指定的字节
( 或字 ) ( 存放在 AL/AX ) 传送到附加段中由
DI 间接
寻址的字节内存单元中。可连续将
AL (或 AX )的内容存入到附加段中的一段内存区域中
去,该指令不影标志位。
⑤ 取串:从串中取指令实现从指定的字节
( 或字 ) 串中读出信息的操作。
4 )规定
① 串操作类指令是唯一的一组源和目的操作数均在存储单元的指令。
源串在数据段,
目的串在附加段。各指令所使用的默认寄存器是:源串地址
DS SI ;目的串地址 ES DI
字串长度 CX ;存取或搜索的默认值
AL
② 串操作时,地址的修改由方向标志确定。
CLD DF=0 SI/DI 地址作自动增量(自动
+1 )修改;
STD DF=1 SI/DI 地址作自动减量(自动-
1 )修改。
③ 任何一个串操作指令均可在指令前面加上一个重复操作作为前缀,
于是就重复执行,
直至 CX ZF 满足要求为止。
④ 重复指令前缀
REP ①若 (CX) 0 ,则退出; ② CX=CX-1 ;③执行后续指令;④重复①
----
REPE/REPZ ①若 (CX) 0 ZF=0 ,则退出;② CX=CX-1 ;③执行后续指令;④重复①
----
REPNE/REPNZ ①若 (CX) 0 ZF=1 ,则退出;② CX=CX-1 ;③执行后续指令;④重复①
----

五、控制转移类指令

1 6 种指令:无条件转移指令、子程序调用和返回指令、条件转移指令、循环控制
指令、中断指令、处理器控制命令。
2 )概念
①直接转移:转移的目的地址(标号)直接出现在指令码中。
②间接转移:转移的目的地址间接存储于某一个寄存器或某一个内存变量中。
③段内转移 / 调用:转移的目的地址和本条指令在同一代码段中,转移时只改变
IP ,不
改变 CS 。程序转向的有效地址
EA 等于当前 IP 的内容加上 8/16 位位移量。可分为:
段内近转移 NEAR —— 16 位位移量,适用于无条件转移指令和条件转移指令,转移范
围为 -32768 ---- +32768
段内短转移 SHORT —— 8 位位移量, 适用于条件转移指令, 转移范围为 -128 ---- +127 7
④段间转移 / 调用(远转移 FAR ):转移的目的地址和本条指令不在同一代码段中,
转移
时同时改变 CS IP 内容,即程序转移到另一个代码段。
1. 无条件转移指令
JMP
[ 转移方式 ]OPRD ;转移到 OPRD 所指向的存储器单元处执行程序
1 )段内直接短转移指令
JMP SHORT
OPRD (IP) (IP)+ OPRD
2 )段内直接近转移指令
JMP
NEAR
PTR
OPRD (IP) (IP)+ OPRD
3 )段内间接转移指令
JMP WORD
PTR
OPRD IP )← [EA]
4 )段间直接(远)转移指令
JMP FAR PTR
OPRD IP )← OPRD 的段内偏移地址,
CS )← OPRD 所在的段地址。 OPRD 为直接寻址方式。
5 )段间间接转移指令
JMP DWORD
PTR OPRD IP )← [EA] ,( CS )← [EA+2]
2. 条件转移指令
指令助记符
目的地址
1 )标志条件转移指令助记符:
J/JN+ 标志( C, P, S, S, O );
2 )比较条件转移指令助记符:
J/JN+ 比较符 ( A 高于 , B 低于 , E 等于 , G 大于 , L 小于)
3 )无符号数比较:测试标志位为
CF ZF ,分高于 A 、等于 E 、低于 B 3 种情况:
ZF=1 ,等于; CF=0 ,大于。
4 )符号数比较:测试标志位为
ZF OF SF ,分大于 G 、等于 E 、小于 L 3 种情
况: ZF=1 ,等于; SF OF =0 ,大于。
3. 子程序调用和返回指令
1 )子程序(过程)调用指令
CALL
子程序名 DST
①段内调用: CALL NEAR PTR OPRD ;( SP )←( SP -2 ,(( SP -2 )(( SP -1 ) ← ( IP ),
IP )←子程序 DST 的地址( 即: IP+16 位位移)
②段间调用: CALL FAR PTR OPRD ;( SP )←( SP -2 ,(( SP -2 )(( SP -1 = CS ),
SP )←( SP -2 ,(( SP -2 )(( SP -1 = IP ),
IP =[EA] ,( CS =[EA+2]
2 )子程序返回指令
RET 段内返回( IP ) ← (( SP +1 SP ),( SP ) ← ( SP + 2
段间返回( IP ) ← (( SP +1 SP ),( SP ) ← ( SP + 2
CS ) ← (( SP +1 SP ),( SP ) ←
SP + 2
4. 循环控制指令
CX 或标志位 ZF 进行测试,确定是否循环。
1 LOOP OPRD (短标号); (CX) (CX) 1 ,若 CX 0 ,则循环,否则顺序执行。
2 LOOPNZ/LOOPNE OPRD (CX) (CX) 1 ,若 CX 0 ZF=0 ,则循环,否则顺序执行。
3 LOOPZ/LOOPE
OPRD (CX) (CX) 1 ,若 CX 0 ZF=1 ,则循环,否则顺序执行。
4 JCXZ OPRD (CX) (CX) 1 ,若 CX=0 ,则循环,否则顺序执行。
5. 中断指令
1 INT n ;( SP )←( SP )- 2 ,(( SP -2 )(( SP -1 )←( FR ), FR 入栈
;( SP )←( SP )- 2 ,(( SP -2 )(( SP -1 )←( CS ), CS 入栈
;( SP )←( SP )- 2 ,(( SP -2 ) (( SP -1 )←( IP ), IP 入栈
;( IP )←( n × 4 ), ( CS )←( n × 4+2 ), n ——中断类型号
2 INTO ;同 INT 4 ,算术运算溢出中断指令
3 )中断返回指令
IRET (IP) ((SP)+1 ,(SP)), (SP) (SP)+2 IP 出栈
(CS) ((SP)+1 ,(SP)), (SP) (SP)+2 CS 出栈 8
(FR) ((SP)+1 ,(SP)), (SP) (SP)+2 FR 出栈
6. 处理器控制命令
1 )标志操作指令
清标志位为 CL ,置标志位为 ST 。只对 CF DF IF 三个标志操作
CLC ——清进位标志, CLD ——清方向标志, CLI ——关中断标志;
STC ——置进位标志,
STD ——置方向标志, STI ——开中断标志;
CMC ——进位标志取反。
2 )处理器外部同步命令
对标志位的影响:不影响标志位
①暂停指令: HLT 处理器处于什么也不做的暂停状态,可由中断请求、复位等唤醒继续执行。
②等待指令: WAIT 处理器处于等待状态, CPU 每隔 4 个时钟周期测试一次
TEST 引脚线( 23
脚),直至 TEST 引脚线为有效低电平时,
CPU 才脱离等待状态。
③交权指令: ESC CPU 将控制权交给其他协处理器,使协处理器从系统指令流中取得指令。
④总线封锁指令: LOCK 可放在任一条指令前作为前缀,使
CPU 在执行下一条指令期间发出
总线封锁信号( LOCK ),将总线封锁,其它的主设备不能控制总线。
⑤空操作指令: NOP 不完成任何操作,只耗费
3 个时钟周期,用于程序的延时和调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图像分割 2023】BRAU-Net++

【图像分割 2023】BRAU-Net 论文题目&#xff1a;BRAU-Net: U-Shaped Hybrid CNN-Transformer Network for Medical Image Segmentation 中文题目&#xff1a; 论文链接&#xff1a;[2401.00722] BRAU-Net: U-Shaped Hybrid CNN-Transformer Network for Medical Image Segment…

人工智能专题:通过AI转变保险(英译中)

今天分享的是人工智能系列深度研究报告&#xff1a;《人工智能专题&#xff1a;通过AI转变保险&#xff08;英译中&#xff09;》。 &#xff08;报告出品方&#xff1a;VIEWPOINT&#xff09; 在新时代释放数据的力量 在数据和人工智能 &#xff08; AI &#xff09; 融合的…

Leetcode 42. 接雨水

题意理解&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 左边的柱子和右边的柱子形成围栏&#xff0c;可以使中间能够积水 求最大的积水面积。h*w 解题思路&#xff1a; 1.横向求解 这里的单…

vscode写MATLAB配置

vscode写MATLAB python下载 官网说明Versions of Python Compatible with MATLAB Products by Release - MATLAB & Simulink 不确定这三列都表示什么意思&#xff0c;尽量安装这三列都有的python版本吧&#xff0c;我安装的 MATLAB R2023b,python选择的是3.11.5 …

政安晨:【示例演绎】【Python】【Numpy数据处理】快速入门(三)—— 数组的操作

准备 这是Numpy数据处理的示例演绎系列文章的第三篇&#xff0c;我的前两篇文章为&#xff1a; 政安晨&#xff1a;【示例演绎】【Python】【Numpy数据处理】快速入门&#xff08;一&#xff09;https://blog.csdn.net/snowdenkeke/article/details/136125773 政安晨&#x…

【前端工程化面试题目】webpack 的热更新原理

可以在顺便学习一下 vite 的热更新原理&#xff0c;请参考这篇文章。 首先有几个知识点需要明确 热更新是针对开发过程中的开发服务器的&#xff0c;也就是 webpack-dev-serverwebpack 的热更新不需要额外的插件&#xff0c;但是需要在配置文件中 devServer属性中配置&#x…

计算机设计大赛 深度学习YOLO安检管制物品识别与检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov55 模型训练6 实现效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&…

17.3.1.5 二值化(黑白)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 二值化的算法主要有以下两种&#xff1a; 1、彩色图像灰度化后&#xff0c;根据灰度和阈值来确定颜色是黑色还是白色。通常情况下使…

STM32

Unix时间戳 BKP 读写备份寄存器 main.c #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Key.h"uint8_t KeyNum;uint16_t ArrayWrite[] {0x1234,0x2134}; uint16_t Arr…

Nvidia 携手 RTX 推出的本地运行 AI 聊天机器人

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

2024.2.16日总结(小程序开发8)

数据监听器 监听对象属性的变化 数据监听器支持监听对象中单个或多个属性的变化 纯数据字段 什么是纯数据字段 纯数据字段指的是哪些不用于页面渲染的data字段 应用场景:例如有些情况下&#xff0c;某些 data 中的字段既不会展示在界面上&#xff0c;也不会传递给其他组件…

html从零开始9:javaScript简介,语句、标识符,变量,JavaScript引入到文件【搬代码】

javaScript简介 javaScript语句、标识符 变量 var num 10; var就是固定声明,num就是变量名&#xff0c;10就是变量&#xff1b;<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Comp…

Flutter 动画(显式动画、隐式动画、Hero动画、页面转场动画、交错动画)

前言 当前案例 Flutter SDK版本&#xff1a;3.13.2 显式动画 Tween({this.begin,this.end}) 两个构造参数&#xff0c;分别是 开始值 和 结束值&#xff0c;根据这两个值&#xff0c;提供了控制动画的方法&#xff0c;以下是常用的&#xff1b; controller.forward() : 向前…

Docker笔记-搭建Python环境、安装依赖、打包镜像、导入镜像、编写bash脚本灵活调用

说明 适合无联网的机器及多Python的机器进行部署。 制作docker版Python环境 有网络及有docker的&#xff0c;拉取指定版本的python如&#xff1a; docker pull python:3.7 安装好后进入容器&#xff1a; docker run -it <name> /bin/bash 使用pip安装各种依赖&…

Git 存储大文件

Git 存储大文件处理方法 寻找大文件的后缀LFS的安装让仓库支持LFS添加到LFS提交 寻找大文件的后缀 find . -type f -size 10M | grep -v ".git" | rev | cut -d. -f1 | rev | sort | uniq这个命令的工作原理如下&#xff1a; find .-type f -size 10M&#xff1a;查…

docker 编译安装redis脚本

在Docker中编译安装Redis通常不是一个常见的做法&#xff0c;因为Redis官方提供了预编译的Docker镜像&#xff0c;这些镜像包含了已经编译好的Redis二进制文件。不过&#xff0c;如果你有特殊需求&#xff0c;想要自己从源代码编译Redis并打包成Docker镜像&#xff0c;你可以使…

Redis -- 数据库管理

目录 前言 切换数据库(select) 数据库中key的数量&#xff08;dbsize&#xff09; 清除数据库&#xff08;flushall flushdb&#xff09; 前言 MySQL有一个很重要的概念&#xff0c;那就是数据库database&#xff0c;一个MySQL里面有很多个database&#xff0c;一个datab…

Simulink模块说明

Simulink库 Commonly Used Blocks Bus Creator 将一组输入元素合并成一条总线**输入&#xff1a;**要包含在总线中的输入元素。**输出&#xff1a;**由合并的输入元素组成的输出总线&#xff0c;指定为虚拟或非虚拟总线。 Bus Selector Bus Selector 模块输出您从输入总线选…

算法——图论——最短路径——Floyd / 传递闭包

目录 Floyd-Warshall&#xff08;弗洛伊德&#xff09;算法 传递闭包 一、试题 算法训练 盾神与离散老师2 Floyd-Warshall&#xff08;弗洛伊德&#xff09;算法 求所有顶点到所有顶点的最短路径问题弗洛伊德算法&#xff08;Floyd-Warshall algorithm&#xff09;是一种用于…

《白话C++》第9章 泛型,Page842~844 9.4.2 AutoPtr

源起&#xff1a; C编程中&#xff0c;最容易出的问题之一&#xff0c;就是内存泄露&#xff0c;而new一个对象&#xff0c;却忘了delete它&#xff0c;则是造成内存泄露的主要原因之一 例子一&#xff1a; void foo() {XXXObject* xo new XXXObject;if(!xo->DoSomethin…