地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI 目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL 除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0) 移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0 REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD 地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD地址总线:AB(单向输出)数据总线:DB(双向总线)控制总线:CB(输出输入或双向)4个16位数据寄存器:AX累加器.BX基址寄存器.CX计数寄存器.DX数据寄存器高八位记作:AH.BH.CH.DH低八位ALBLCLDL指针寄存器:SP 堆栈指针寄存器BP基址指针寄存器变址寄存器:SI 源变址寄存器(源操作数偏移地址)DI目的变址寄存器进位标志位:CF最高位奇偶标志位:PF低8位1的个数为偶时为1 辅助进位标志位:AF低4位向高4为有进位时零标志位:ZF算术逻辑运算为零时为1符号标志位:SF运算结果最高位为1时为1溢出标志位:OF结果超出有符号数补码表示的范围时为1跟踪标志位:TF单步中断方式逐条检查方向标志位:DF中断允许标志位:IF为1时CPU可以响应可屏蔽中断(INTR)请求立即数寻址:MOV BL,5BH寄存器寻址:MOV DS,AX存储器寻址:直接寻址:MOV AX,[2000H]寄存器间接寻址:MOV AX,[BP]操作数有效地址在BX,BP,SI,DI,当在BX ,SI,DI中默认DS为基址,在BP中默认SS为基址寄存器相对寻址:MOV AX,COUNT[SI] 例:MOV BP:[DI+45H]基址加变址寻址:MOV AX, [SI+BP]相对基址加变址寻址指令MOV AX, [SI+BP+1234H]指令数据传送指令MOV dst,src交换指令:XCHG dst,src查表指令:XLA T[表首址]DS:(BX+AL)给AL堆栈传送指令:PUSH src取偏移地址指令;LEA dst,src指针送寄存器和DS:LDS dst,src指针送寄存器和ES:LES dst,src标志传送指令:LAHF SAHF PUSHF POPF输入、输出指令:IN.OUT加法指令:ADD dst,src带进位加法指令:ADC dst,src (CF也要加)加1指令:INC dst减法指令:SUB dst,src带借位减法指令:SBB dst,src(也要减CF)减1指令:DEC src111 求补指令:NEG src (0减src)比较指令:CMP dst,src(相减但不送回目的操作数,结果都不变)乘法指令:MUL src 字节操作数:AL*src给AX 字操作数:AX*src给AX带符号数乘法指令:IMUL src 字运算AX字节运算AL除法指令:DIV src 字节将AX/src给AL余数该AH 字将(DX,AX)/src给AX 余数给DX带符号数除法指令:IDIV srcCBW 将字节转换为字CWD将字转换为字节逻辑运算:逻辑与:AND dst,src逻辑或:OR dst,src非:NOT dst异或:XOR dst,src测试:TEST dst,src(测试判断某些位知否同时为0)移位指令算术左移指令SAL dst, CL;移位位数逻辑左移指令SHL dst ,CL;移位位数算术右移指令:SAR dst ,CL;移位位数逻辑右移指令:SHR dst,CL ;移位位数循环移位指令:循环左移指令:ROL dst,CL;移位位数循环右移指令:ROR dst,CL;移位位数带进位循环左移:RCL dst,CL;移位位数带进位循环右移:RCR dst,CL;移位位数串操作指令:串传送指令:MOVS/W串比较指令:CMPSB/W串搜索指令:SCASB/W取串指令:LODS/W存串指令:STOSB/W重复前缀指令:REP SOPR 重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄存器中的值为0 REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ 执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0转移指令:远程转移:JMP FAR PTR OPRD(IP=IP+16位移量)近程转移:JMP NEAR PTR OPRD (IP=IP+8位移量)段内间接转移:JMP reg16JMP men16(IP)←reg16或men16段间间接转移:JMP DWORD PTR [BX+SI]调用和返回指令:段内直接调用:CALL dst(SP=SP-2,SP+1,IP指向SP,IP=IP+16段内直接调用:CALL dst (同,同,EA指向IP)段间直接调用:CALL dst(SP=SP-2,SP+1,CS指向SP,SP=SP-2,SP+1,IP指向SP,偏移地址指向IP,段地址指向CS)段间间接调用:CALL dst 段内返回:RET(IP=SP+1,SP,SP=SP+2)段内带立即数返回:RET n循环控制指令:LOOP OPRD(CX=CX-1,若CX≠0则循环LOOPNZ/LOOPE OPRD(CX=CX-1,若CX≠0ZF=0则循环)LOOPZ/LOOPE OPRD。