汇编语言指令系统

合集下载

17 第三章 Intel处理器指令系统及汇编语言_1

17 第三章  Intel处理器指令系统及汇编语言_1
AL = 11110000b (-16) AL = 11111000b (-8)
CF
CF = 0
DL = 10000000b DL = 11110000b
8

例:若(AL)=96H, CF=0, (CL) =2 执行前
执行 SAR AL, CL
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1 CF
执行后: (AL)=E5H ,CF=1
CF
· · · · · · · ·
mov al,01h ror al,1 ror al,1
;00000001 ;10000000, CF=1 ;01000000, CF=0
12
(一)移位和循环移位指令

7. RCL指令和RCR指令
RCL指令:带进位的循环左移
CF · · · · · · · · · CF · · · · · · · · ·
15
(二)乘法和除法指令

1. MUL指令
例:
mov al,5h mov bl,10h mul bl ; 积在AX中,50h
; CF = 0
.data val1 WORD 2000h val2 WORD 0100h .code mov ax,val1 mul val2 ; CF = 1 ; 积在DX:AX中,00200000h
5
例: 若(AL)=96H, CF=0 执行前: 执行后: (AL)=2CH ,CF=1 1 0 0 0
执行 SHL AL, 1 0 1 1 0 0 1 1 1 1 0 0 0
例:无符号数乘以2n mov dl,5 ;0000 shl dl,1 ; 0000 mov dl,10 ;0000 shl dl,2 ; 0010 注意数的范围

3tms320c54指令系统概要

3tms320c54指令系统概要

累加器寻址和直接寻址举例
• DM的地址:0206h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1000000110
5. 间接寻址
在间接寻址中,64K数据空间任意单元都可通过一 个辅助寄存器中的16-bit地址进行访问。
‘C54x有8个16-bit辅助寄存器(AR0-AR7)。两个 辅助寄存器算术单元(ARAU0和ARAU1),根据辅助寄 存器的内容进行操作,完成无符号的16-bit算术运算。
SP 0024 0100
LD @1, A ADD @2, A ;A的结果:150
0050 3404
4. 累加器寻址
累加器寻址是用累加器中的数作为一个地址。这种寻 址方式可用来对存放数据的程序存储器寻址。地址由累加 器的低16位决定,共有两条指令可以采用累加器寻址:
READA Smem WRITA Smem READA是把累加器A所确定的程序存储器单元中的一个字, 传送到单数据存储器(Smem)操作数所确定的数据存储器单 元中。WRITA是把Smem操作数所确定的数据单元中的一个字 ,传送到累加器A确定的程序存储器单元中去。 上述两条指令,在重复的方式下执行,搬移连续的数据(以 A的值为起始地址)到连续的DM中,能够对累加器A自动增量
访问后, ARx中的地址减1/加1
• *+ARx:
在寻址之前,ARx中的地址加1
• *ARx-0B/ *ARx+0B :访问后,从ARx中以位倒序进位的
方式减去/加上AR0
• *ARx-0/ *ARx+0 : 访问后,从ARx中减去/加上AR0
第三章 TMS320C54X指令系统
本章内容包括:(1)存储器寻址方式 (2)汇编语言指令系统 (3)伪指令系统。

汇编80X86伪指令系统

汇编80X86伪指令系统

80X86伪指令系统一.伪指令概述构成汇编语言程序的语句可以分为三种:指令性语句(指令语句)、指示性语句(伪指令语句)和指令语句(宏调用语句)。

指令语句,又称可执行语句,表示计算机具有的一个基本能力。

比如数据传送,数据相加、相减等。

伪指令语句,又称命令语句,告诉汇编程序如何对程序进行汇编。

比如段定义、储存单元分配等。

一个汇编语言程序经汇编,连接和装入内存后,在执行程序之前:1.指示性语句的功能已经完成,故又称伪操作。

2.指令性语句的功能尚未完成,需控制CPU去执行,才能完成。

二、伪指令详解符号定义语句1.等值语句格式:符号名EQU 需等值的表达式功能:用符号名等值指定的表达式;其中表达式可以是任何有效的操作数,汇编时用语句中的表达式代替程序中符号所在的地方。

说明:▲可用于定义符号常量,方便修改程序。

▲某表达式多次出现时,用等值伪操作可以方便编程。

▲等值语句表达式的种类(1)常数或数值表达式COUNT EQU 10NUM EQU 89*3+5-9(2)地址表达式ADD1 EQU V AR2+10H(3)变量或标号CON EQU V AR▲在EQU语句右边出现的标号需在EQU语句以前进行定义。

2.等号语句格式:符号=需等值的表达式功能:把等号“=”右边表达式的值或符号赋给等号“=”左边的符号。

表达式可以是任何有效的操作数。

说明:EQU语句与“=”的区别:在同一源程序中,EQU语句定义的符号不能被重新赋值或者说不能被重新定义,同一符号只能定义一次,符号的数值不能被改变。

“=”定义的符号可以被重新赋值,同一符号的数值在同一个程序中可以改变。

数据定义语句格式:变量名类型助记符操作数[ ,操作数, ……]功能:用于在内存中为常数、初始数据或者变量分配储存单元。

说明:(1)变量名指示内存操作数所占用的内存单元地址(符号地址),在程序中,可以通过变量,名对内存单元进行访问。

变量名为用户自定义标识符,表示初值表首元素的逻辑地址。

《计算机组成原理》教程第4章指令系统

《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.

3 指令系统

3 指令系统
单字节指令(49条)、双字节指令(46条)和三字节 指令(16条)
按指令执行时间分类:
单机器周期指令(64条)、双机器周期指令(45条) 和四机器周期指令(2条)
按功能分类
数据传送指令(29条)、算术操作指令(24条)、逻 辑操作指令(24条)、控制转移指令(17条)和位操 作指令(17条)
指令系统概述
AB ROM地址 指令 机器码 0000H LJMP 0100H ; 02H,01H,00H …… 0100H MOV A,#63H; 74H,63H 0102H ADD A,#20H; 24H,20H……
MCS-51存储器
片内RAM:
数据缓冲区:内 RAM中 工作寄存器区:有专用于工 从广义上讲, MCS-51 内RAM 作寄存器操作的指令,读写 30H ~7FH为数据缓冲区,用 (00~07H )和SFR(80~FFH) 速度比一般内 RAM 要快,指 于存放各种数据和中间结果, 均属于片内RAM 空间,读写 令字节比一般直接寻址指令 起到数据缓冲的作用。 指令均用MOV指令。但为加 要短,还具有间址功能。 以区别,内RAM通常指 00H~7FH的低128B空间。 位寻址区:存放各种位数据。 注意事项: 位地址与字节地址 编址相同,容易混淆。 区分方法:位操作指令中的地 址是位地址;字节操作指令 中的地址是字节地址。
寄存器B
标志寄 存器 PSW
内ROM
20H 20h 24h 24h 63h 63h 74h 74h 00h 00H 01h 01h 02h 02h
指令寄 存器IR
运算逻辑单元ALU 83h 63h+20h=83h
指令译 码器ID
0103H 0102h 0101h 0100h
内RAM 内部 外设 并行 I/O接 口

08_ 第三章 Intel处理器指令系统及汇编语言_1

08_ 第三章  Intel处理器指令系统及汇编语言_1

REAL10 80位IEEE扩展精度实数
1
语句格式 [名称] 数据定义伪指令 初始值[,初始值]… 例: Intel处理器采用小端顺序: .data value3+0000: 78h value1 BYTE 10h value3+0001: 56h value2 BYTE ? value3+0002: 34h list1 BYTE 10,20,30,40 value3+0003: 12h BYTE 50,60,70,80 list2 BYTE 32,41h,00100010b,'a' greeting BYTE "Good afternoon",0dh,0ah,0 array WORD 5 DUP(?) ;5个未初始化的值 value3 DWORD 12345678h
18
(二)加法和减法

2. ADD指令
将同尺寸的源操作数和目的操作数相加,结果在目 的操作数中(不改变源操作数)。 格式:add 目的操作数,源操作数
.data var1 DWORD 10000h var2 DWORD 20000h .code mov eax,var1 add eax,var2 ; 30000h
; OF = 1
; AL = 10000000b ; AL = 10000000b, OF = 1 ; AL = 01111111b ; AL = 10000001b, OF = 0
25
(二)加法和减法

6. 算数运算影响的标志
CPU如何知道一个数字是有符号的还是无符号的?

CPU并不知道 —— 只有程序员才知道。
CPU在执行指令之后机械地设置各种状态标志, 它并不知道哪些对程序员是重要的,程序员自己 来选择解释哪些标志和忽略哪些标志。

第3章指令系统


XCHD A, @Ri 结果:(A)=? (30H)=?
(3) 累加器A中高四位与低四位交换指令
SWAP A
功能: 交换A中高、低半字节(3~0和7~4), 结果不影响标志寄存器PSW。
例: 设(A)=0A5H(10100101B) SWAP A 结果:(A)=5AH(01011010B)
3.3.2算术运算类指令
弹出指令:POP direct ; ((SP))←(direct),SP←SP-1
PUSH ACC PUSH B 则出栈的顺序为: POP B POP ACC
9.数据交换指令
(1)字节交换指令
目的操 作数 XCH A, XCH A, XCH A, 源操作数 功能说明 direct @Ri Rn (direct) ((Ri)) (Rn) 源操作数寻址 方式 直接寻址 间接寻址 寄存器寻址
5.16位目标地址传送指令
目的操 作数 MOV DPTR, 源操作数 功能说明 #data16 源操作数 寻址方式
;(DPTR)←data16 立即寻址
16位立即数的高8位送入DPH中,低8位送入DPL中。 该指令的执行,不影响程序状态寄存器PSW。
6.外部数据存储器(或I/O口)与累加器A传送指令
第3章
MCS-51单片机的指令系统
汇编语言的指令格式及符号简介
寻址方式 数据传送类指令 算术运算类指令 逻辑运算类指令 位操作类指令 控制转移类指令 思考练习题
3.1 汇编语言的指令格式及符号简介
3.1.1 指令格式
[标号:] 操作码助记符 [目的操作数] [, 源操作数]
例如: LOOP: MOV A, #50H DEC R0 DJNZ R0, LOOP END

《汇编语言教程》课件

汇编语言调试与优化
调试工具的使用
运行程序
在调试器中运行程序,以便在执行过程中进行观察。
停止程序
在程序的任何位置停止程序的执行。
调试工具的使用
单步执行
逐条指令执行程序,观察每条指令对程序状态的影响。
观察变量
在调试过程中观察和修改变量的值。
调试工具的使用
OllyDbg
一个流行的Windows平台下的汇编语言调 试器。
2023 WORK SUMMARY
THANKS
感谢观看
REPORTING
03
INT指令用于调用中断服务程序,SYS指令用于调用 系统调用。
PART 04
汇编语言程序结构
程序的基本结构
程序开始
程序开始执行时,首先执行的是程序的起始部分,通 常包括程序的标题、版本信息、版权声明等。
指令序列
程序的主要功能通过一系列指令实现,这些指令按照 特定的顺序排列。
程序结束
程序执行完毕后,需要执行结束部分,通常包括程序 的结束信息、版权声明等。
逻辑运算指令
01
02
03
逻辑运算指令用于执行 逻辑与、或、非等逻辑
运算。
常见的逻辑运算指令包 括AND、OR、NOT等

AND指令用于对两个操 作数执行逻辑与运算, OR指令用于对两个操作 数执行逻辑或运算, NOT指令用于对一个操 作数执行逻辑非运算。
控制转移指令
控制转移指令用于改变程序的执行流程 。
复杂性
汇编语言的语法和语义相对较为 复杂,学习和编写难度较大,需 要程序员具备较为深入的计算机 体系结构和硬件知识。
汇编语言的应用场景
系统软件
操作系统、设备驱动程序等系统软件通常使用汇编语言编写,因为这些软件需要直接与 硬件交互,并且需要高效的执行效率。

MCS51指令系统.ppt

MOV A, @R0 MOV @R0,A 访问外部RAM只
能用(寄存器) “间接”寻址 MOVX A,@R0 MOVX @R0,A MOVX A,@DPTR MOVX @DPRT,A
11
寄存器间接寻址(外部RAM)
• MCS-51对片内RAM和片外RAM采用不同传送 指令
• MOVX @R1,A;以R1(或R0)中数据为地 址,将A中数据送外部RAM单元。限定为8位 地址。
不一定是在累加器中。 ANL direct,#data
4.求反与清除指令 CPL A 字节操作只有这一种形式 CLR A 字节操作只有这一种形式
22
逻辑运算类指令
• MCS-51单片机的移位指令只能对累加器A进行,并 且一次只能移一位。共有循环右移、循环左移、带进 位循环右移和带进位循环左移4种。
• 由于程序存储器是只读的,因此变址寻址 只有读操作而无写操作,指令符号为 MOVC。 MOVC A,@ A+DPTR;A←(A+DPTR) MOVC A,@ A+PC ;A←(A+PC)
13
查表程序
• mov r0,#0h • l1: • INC R0 • call table • nop • jmp l1 • TABLE: • MOV A, R0 • MOVC A, @A+PC • RET • DB 31H,32H……
例如:MOV A,# 60H ;A←#60H
MOV DPTR,# 3400H
;DPTR←#3400H
MOV 30H,# 40H ;30H单元←#40H
• 由于MCS-51只有DPTR为16为,因此,也只有上 一条16位立即数指令正确。
MOV 0E0H,#0E0H (=MOV A, #0E0H)

80x86汇编语言程序设计 第3章 80x86指令系统和寻址方式PPT课件


合肥学院 计算机科学与技术系 何立新
《汇编语言程序设计》
3.2 80x86寻址方式
3.2.1 寻址、寻址方式的概念
寻址就是寻找操作数的地址。 寻址方式就是寻找操作数的方法。
操作数可以跟随在指令操作码之后,称为立即数;操作 数也可以存放在CPU内部的寄存器中,称为寄存器操作数。 绝大多数的操作数存放在内存储器中,称为存储器操作数。 指令指定操作数的位置,即给出地址信息,在执行时需要 根据这个地址信息找到需要的操作数。
合肥学院 计算机科学与技术系 何立新
《汇编语言程序设计》
第3章 80x86指令系统和寻址方式
教学要求:
1. 掌握一般指令系统的基本概念:指令格式、 功能和注意事项。
2. 重点掌握8086/8088指令系统中,各指令的 格式、寻址方式、指令类型 。
3. 了解其他(奔腾等)的寻址方式和指令类型。
合肥学院 计算机科学与技术系 何立新
•基址变址寻址
MOV AX , [ BP ] [ DI ]
•相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ]
合肥学院 计算机科学与技术系 何立新
《汇编语言程序设计》
1) 立即寻址方式
定义:操作数作为指令的一部分而直接写在指令中,这种 操作数称为立即数,这种寻址方式也就称为立即数寻址方 式。
执行:4576H→AX
执行后:(AX)=4576H
CS→
AX
45
76
OP
76H
45H
MOV AX,4576H 指令的存储形式
合肥学院 计算机科学与技术系 何立新
《汇编语言程序设计》
2) 寄存器寻址方式
定义:指令所要的操作数已存储在某寄存器中,或把目标操 作数存入寄存器。把在指令中指出所使用寄存器(即:寄存 器的助记符)的寻址方式称为寄存器寻址方式。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言--指令系统整理总结--转贴 2007-05-17 22:36 对于计算机软件专业的学生,适当的学习一些汇编语言知识,我认为很重要,有助于你对于计算机底层工作的了解,帮助你更好的理解计算机高级语言,汇编原理,也对于学习操作系统很有帮助... 近来自己在学汇编语言... 整理总结了常用的一些指令,认为对于学习汇编的龙友会有一些帮助 以下内容均为个人整理...错误不当之处还望大家指出更正..谢谢..每条指令 均按照 1、指令的汇编格式2、指令的基本功能3、指令的寻址方式4、指令对标志位的影响5、指令的特殊要求 这5条内容的形式来对每条指令进行归纳总结.... [数据传送指令] 一、通用数据传送指令 1、传送指令 MOV (move) 指令的汇编格式:MOV DST,SRC 指令的基本功能:(DST)<-(SRC) 将原操作数(字节或字)传送到目的地址。 指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。 指令的执行对标志位的影响:不影响标志位。 指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器; 目的操作数DST不能是CS,也不能用立即数方式。 2、进栈指令 PUSH (push onto the stack) 出栈指令 POP (pop from the stack) 指令的汇编格式:PUSH SRC ;POP DST 指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。 PUSH SRC (SP)<-(SP)-2 ;(SP)<-(SRC) POP DST (DST)<-((SP));(SP)<-(SP) 指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。 指令对标志位的影响:PUSH 和 POP指令都不影响标志位。 指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2; POP指令的DST不允许是CS寄存器; 3、交换指令 XCHG (exchange) 指令的汇编格式:XCHG OPR1,OPR2 指令的基本功能:(OPR1)<->(OPR2) 指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。 指令对标志位的影戏:不影响标志位。 指令的特殊要求:不允许使用段寄存器。 二、累加器专用传送指令 4、输入指令 IN (input) 输出指令 OUT (output) 指令的汇编格式:IN ac,port port<=0FFH IN ac,DX port>0FFH OUT port,ac port<=0FFH OUT DX,ac port>0FFH 指令的基本功能:对8086及其后继机型的微处理机,所有I/O端口与CPU之间的通信都由输入输出指令IN和OUT来完成。IN指令将信息从I/O输入到CPU,OUT指令将信息从CPU输出到I/O端口,因此,IN和OUT指令都要指出I/O端口地址。 IN ac,port port<=0FFH (AL)<-(port)传送字节 或 (AX)<-(port+1,port)传送字 IN ac,DX port>0FFH (AL)<-((DX))传送字节 或 (AX)<-((DX)+1,(DX))传送字 OUT port,ac port<=0FFH (port)<-(AL)传送字节 或 (port+1,port)<-(AX)传送字 OUT DX,ac port>0FFH (DX)<-(AL)传送字节 或 ((DX)+1,(DX))<-(AX)传送字 指令对标志位的影响:不影响标志位。 指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。 传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。

5、换码指令 XLAT (translate) 指令的汇编格式:XLAT opr 或 XLAT 指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在AL中。 (AL)<-((DS)*16+(BX)+(AL)) 指令对标志位的影响:不影响标志位。 指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL。 opr为表格的首地址,因为opr所表示的偏移地址已存入BX寄存器,所以opr在换码指令中可有可无,有则提高程序的可读性。

三、地址传送指令 6、有效地址传送器 LEA (load effective address) 指令的汇编格式:LEA reg,src 指令的基本功能:LEA指令把源操作数的有效地址送到指定的寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。 指令支持的寻址方式:各种存储器寻址方式。 指令对标志位的影响:不影响标志位。 指令的特出要求:指令中reg不能是段寄存器; 7、指针送寄存器和DS LDS (load DS with point) 指针送寄存器和ES LES (load ES with point) 指令的汇编格式:LDS reg,src LES reg,src 指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。 LDS reg,src (reg)<-(src) (DS)<-(src+2) LES reg,src (reg)<-(src) (ES)<-(src+2) 指令支持的寻址方式:src必须为存储器寻址方式 指令对标志位的影响:不影响标志位。 指令的特殊要求:指令中REG不能是段寄存器; 四、标志寄存器传送指令 8、标志寄存器的低字节送AH LAHF (load AH with FLAGS) 指令的汇编格式:LAHF 指令的基本功能:(AH)<-(FLAGS)0-7 指令对标志位的影响:不影响标志位 9、AH送标志寄存器低字节 SAHF(store AH into FLAGS) 指令的汇编格式:SAHF 指令的基本功能:(FLAGS)0-7<-(AH) 指令对标志位的影响:由装入值来确定标志位的值。 10、标志进栈 PUSHF (push the flags) 指令的汇编格式:PUSHF 指令的基本功能:(SP)<-(SP)-2 ((SP)+1,(SP))<-(FLAGS)0-15 指令对标志位的影响:不影响标志位。 11、标志出栈 POPF (pop the FLAGES) 指令的汇编格式:POPF 指令的基本功能:(FLAGS)0-15<-((SP)+1,(SP)) (SP)<-(SP)+2 指令对标志位的影响:由装入值来确定标志位的值。 [算术指令] 一、加法指令12、加法指令 ADD (addition) 指令的汇编格式:add dst,src 指令的基本功能:(dst)<-(src)+(dst) 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 加法结果为负数(符号位为1) SF=0 加法结果为正数(符号位为0) ZF=1 加法结果为零 ZF=0 加法结果不为零 CF=1 最高有效位向高位有进位 CF=0 最高有效位向高位无进位 OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反。 OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。 13、带进为加法指令 ADC (add with carry) 指令的汇编格式:ADD dst,src 指令的基本功能:(dst)<-(src)+(dst)+CF 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 加法结果为负数 SF=0 加法结果为正数 ZF=1 加法结果为零 ZF=0 加法结果不为零 CF=1 最高有效位向高位有进位 CF=0 最低有效位相高位无进位 OF=1 两个同符号数相加,结果符号与其相反, OF=0 两个同符号数相加,或同符号相加,结果符号与其相同 14、加1指令 INC (increament) 指令的汇编格式:INC opr 指令的基本功能:(opr)<-(opr) 指令支持的寻址方式 可以使用除立即数方式外的任何寻址方式 指令对标志位的影响:SF=1 加法结果为负数 SF=0 加法结果为正数 ZF=1 加法结果为零 ZF=0 加法结果不为零 OF=1 两个同符号数相加,结果符号与其相反, OF=0 两个同符号数相加,或同符号相加,结果符号与其相同。 二、减法指令 15、减法指令 SUB (subtract) 指令的汇编格式:SUB dst,src 指令的基本功能:(dst)<-(dst)-(src) 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0)

相关文档
最新文档