第九章顺序程序设计 l.算术运算指令 位运算指令 3.输入/输出系统功能调用 4.简单程序设计举例
第九章 顺序程序设计 1. 算术运算指令 2. 位运算指令 3. 输入/输出系统功能调用 4. 简单程序设计举例
第,算术运算指令 1.加法指 1)不带进位加法指令ADD 格式: ADDOPD,OPS 执行的操作:OPD+OPS→OPD 例如: ADD EAX,EBX;EAX+EBX→EAX 若指令执行前CF=0,EAX=00000054H, EBX=00120330H。 刂指令执行后EAX=00120384H,CF=0
第1节.算术运算指令 1.加法指令 1)不带进位加法指令ADD 格式: ADDOPD,OPS 执行的操作:OPD + OPS → OPD 例如:ADD EAX,EBX;EAX+EBX→ EAX 若指令执行前CF=0,EAX=00000054H, EBX=00120330H。 则指令执行后EAX=00120384H,CF=0
2)带进位加法指令ADC 格式: ADC OPD,OPS 执行的操作:OPD十OPS+CF→OPD 其中CF为进位位的值。 例如: ADCAX,DX;AX+DX→AX 若指令执行前CF=1,AX=1234H, DX=0112H。 则指令执行后EAX=1347H,CF=0
2)带进位加法指令ADC 格式:ADC OPD,OPS 执行的操作:OPD十OPS+CF→OPD 其中CF为进位位的值。 例如:ADCAX,DX;AX+DX→AX 若指令执行前 CF=1,AX=1234H, DX=0112H。 则指令执行后 EAX=1347H,CF=0
3)增量指令INC 格式: INCOPD 执行的操作:OPD+1→OPD 例如: INC DX;DX+1→DX 若指令执行前CF=1,DX=3562H 测指令执行后DX=3563H,CF=1
3)增量指令INC 格式: INCOPD 执行的操作:OPD +1→ OPD 例如: INC DX;DX+1→DX 若指令执行前 CF=1,DX=3562H。 则指令执行后 DX=3563H,CF=1
2.减法指令 )不带借位减法指令SUB 格式: SUBOPD,OPS 执行的操作: OPD--OPS→OPD 例如: SUB AX,DX;AX一DX→AX 若指令执行前CF=1,AX=1234H, DX=0100H。 则指令执行后AX=1134H,CF=0
2. 减法指令 1)不带借位减法指令SUB 格式: SUBOPD, OPS 执行的操作: OPD-OPS → OPD 例如:SUB AX,DX;AX-DX→AX 若指令执行前 CF=1,AX=1234H, DX=0100H。 则指令执行后 AX=1134H,CF=0
2)带借位减法指令SBB一 格式: SBBOPD,OPS 执行的操作:OPD- OPS-CF→OPD 其中CF为进位位的值。 如: SBBAX,DX 若指令执行前CF=1,AX=1234H, DX=0100H。 则指令执行后AX=1133H,CF=0
2)带借位减法指令SBB 格式:SBBOPD, OPS 执行的操作:OPD – OPS-CF→ OPD 其中CF为进位位的值。 例如:SBBAX,DX 若指令执行前CF=1,AX=1234H, DX=0100H。 则指令执行后AX=1133H,CF=0
3)减量指令DEC 格式: DECOPD 执行的操作:OPD-1→OPD 例如:DECC×CX1→A 指令执行前CF=0,CX=1000H 则指令执行后AX=0FFH,CF=0
3)减量指令DEC 格式:DECOPD 执行的操作: OPD 一1→ OPD 例如:DECCX;CX-1→AX 若指令执行前CF=0,CX=1000H。 则指令执行后AX=0FFFH,CF=0
4)算术比较指令CMP 格式: CMPOPD,OPS 执行的操作:OPD-OPS 该指令与SUB指令一样执行减法操作,但它 并不保存结果,只是根据结果设置心的应 志位。CMP指令后往往跟一条条件转移指 根据比较结果产生不同的程序分支
4)算术比较指令CMP 格式:CMPOPD ,OPS 执行的操作:OPD - OPS 该指令与SUB指令一样执行减法操作,但它 并不保存结果,只是根据结果设置条件标 志位。CMP指令后往往跟一条条件转移指令, 根据比较结果产生不同的程序分支
3.乘法指令 UL无符号数乘法 IUL带符号数乘法 )MUL无符号数乘法指令 格式: MULOPS 行的操作: 字节操作数:AL*OPS→AX 字操作数:AX*OPS→DX:AX 双字操作数:EAX*OPS→EDX:EAX
3.乘法指令 MUL无符号数乘法 IMUL带符号数乘法 1)MUL无符号数乘法指令 格式:MULOPS 执行的操作: 字节操作数:AL* OPS→AX 字操作数:AX* OPS→DX:AX 双字操作数:EAX* OPS→EDX:EAX
2)U带符号数乘法指令 格式: IMULOPS 执行的操作与MUL相同,但必须是带符号数 而MUL是无符号数。 杨如: IMULCL 若指令执行前AL=0B4H,CL=11H 则指令执行后AX=OFAF4H
2)IMUL带符号数乘法指令 格式:IMULOPS 执行的操作与MUL相同,但必须是带符号数, 而MUL是无符号数。 例如:IMULCL 若指令执行前AL=0B4H,CL=11H 则指令执行后AX=0FAF4H