第三章寻址方式与指令系统 指令系统:一组指令集 指令:「操作码操作数「操作数 地址指令: INC AX DEC CX 二地址指令: MOV AX,[200 ADD AH。BL 寻址方式:取得操作数地址的方式或指令中 用于说明操作数所在地址的表示方法
1 第三章寻址方式与指令系统 指令系统:一组指令集 指令: 操作码 操作数 ... 操作数 一地址指令: INC AX DEC CX 二地址指令: MOV AX, [2000H] ADD AH, BL 寻址方式:取得操作数地址的方式或指令中 用于说明操作数所在地址的表示方法
31寻址方式 立即寻址方式 格式:n;n为一常数(立即数) 特点:n本身是需要寻找的操作对象。 它紧跟指令存于内存代码段中。 例: MOV BX,10 MOV AH,‘A MOVAⅩ,3064H
2 一. 立即寻址方式 格式:n ;n为一常数(立即数) 特点:n 本身是需要寻找的操作对象。 它紧跟指令存于内存代码段中。 例: MOV BX ,10 MOV AH , ‘A’ MOV AX , 3064H 3.1 寻址方式
内存 低 CPU M∨代码段 AX 64H 30H 高 AH AL ·立即数只能作双操作数指令的源操作数.不能作目的 操作数。 立即数不能作单操作数指令的操作数。 如:MOV100H.AX INC 50 立即数送入目的操作数中。注意溢出 如: MOV AL,-90H
3 内存: : MOV 64H 30H : 低 高 代码段 CPU : AX AH AL 注:• 立即数只能作双操作数指令的源操作数,不能作目的 操作数。 • 立即数不能作单操作数指令的操作数。 如: MOV 100H , AX × INC 50 × • 立即数送入目的操作数中,注意溢出 如:MOV AL , - 90H ×
二,直接寻址方式 格式 段寄存器:[EA](其中:段寄存器为DS,ES,SS之一) 或含有变量的地址表达式。 特点 ·操作数的地址偏移量EA.或变量地址表达式的EA直接 包含在指令中,与操作码一起放在代码段中。 操作数对象一般不作特别说明,存放在当前数据段中 其物理地址求法为:(DS)←0000+EA 4 MOV AX, DS: [2000H (①DS)+2000eAX 设执行前(DS)=3000H 4 (32000H)=2415H 则执行后(320001字AX即(AX)=2415H 若 MOV AL,DS:[2000H 则(32000H字节口AL 即(AL)=15H
4 二. 直接寻址方式 • 格式: 段寄存器:[EA](其中:段寄存器为 DS,ES,SS之一) 或含有变量的地址表达式。 • 特点: • 操作数的地址偏移量EA,或变量地址表达式的EA直接 包含在指令中,与操作码一起放在代码段中。 • 操作数对象一般不作特别说明,存放在当前数据段中, 其物理地址求法为:(DS) 0000 + EA 4 例:MOV AX,DS:[2000H ] ;((DS)+2000H) AX 设执行前(DS) = 3000H 4 (32000H)=2415H 则执行后(32000H)字 AX 即(AX)=2415H 若 MOV AL,DS :[2000H] 则 (32000H)字节 AL 即(AL)=15H
DS 代LMOV 300040000 OOH 段 20H 这说明: °段寄存器:A这种直接寻址 方式没有类型 数 ·含有变量地址表达式的形式 据 5H3200OH 段24H32001H 有类型。其类型由变量类型 决定 内存 例: MOV AX,ES:[2000H (ES)+2000H)DAX 段跨越符 4 MOV SS: [1000H], BX ;(BX)C>(SS)+1000H 4 MOV BUF AX MOV [BUFI, AX
5 : MOV 0000 00H 4 20H + : : 15H 32000H 24H 32001H : 代 码 段 数 据 段 3000H 内存 这说明: •段寄存器:[EA]这种直接寻址 方式没有类型; •含有变量地址表达式的形式 有类型,其类型由变量类型 决定。 例:MOV AX , ES:[2000H] ; ((ES)+2000H) AX 段跨越符 4 MOV SS : [1000H] , BX ; (BX) (SS)+1000H 4 MOV BUF, AX MOV [BUF] , AX DS