微型计算机3大系统,3)微型计算机指令系统.ppt

3)微型计算机指令系统

三、直接寻址 操作数的地址包含在指令中。(注意:此地址为16位偏移地址) 通常操作数一般在数据段区域中,如果要对其他段 寄存器所指出的存贮区进行寻址(所谓段超越), 则在本条指令中,须用前缀指出段寄存器名。 四、寄存器间接寻址 操作数的地址在某寄存器中, 这些寄存器可以为:BX,BP,SI,DI之一。 有效地址: EA=[BX或BP或SI或DI] 注:如果指令前没有用前缀指明具体的段寄存器,则 寻址时默认为DS/SS。 采用寄存器间址允许在指令中指定一个位移量(8位 或16位)。其有效地址EA为寄存器内容加上此位移 量。(称寄存器相对寻址) 有效地址: EA=[( BX或BP或SI或DI )+位移量(带符号数)] 1、数据段基址寻址 用BX寄存器进行间接寻址 。 2、堆栈段基址寻址 用BP寄存器进行间接寻址。 3、变址寻址 用SI,DI寄存器进行间接寻址。 4、基址加变址寻址 用BX、BP和SI、DI寄存器组合起来进行间接寻址。 有效地址EA=[(BX或BP)+(SI或DI)] 注:只要用上BP寄存器,那么默认的段寄存器就是SS, 在其他情况,则为DS。否则应用前缀指出相应段 寄存器名。 附:几种常见的书写形式 MOV AX,VALUE → MOV AX,[VALUE] (VALUE为符号地址) MOV AX,ES:VALUE → MOV AX,ES:[VALUE] MOV AX,COUNT[SI]→ MOV AX,[COUNT+SI] (COUNT为位移量的符号地址) MOV AX,[BX][DI] → MOV AX,[BX+DI] MOV AX,MASK[BX][SI] → MOV AX,MASK[BX+SI] → MOV AX,[MASK+BX+SI] <3> XCHG指令(交换) A、XCHG指令格式与操作 XCHG OPR1, OPR2 OPR1←→OPR2 B、XCHG指令可以在寄存器之间或寄存器与存贮器之 间交换信息。 C、例 注:不允许使用段寄。该指令不影响标志位。 2、累加器专用传送指令 <1> IN/OUT输入输出指令 A、指令的格式与操作 长格式:IN AL, PORT AL ←(PORT) IN AX, PORT AX ← (PORT+1,PORT) OUT PORT,AL (PORT)← AL OUT PORT,AX (PORT+1,PORT)← AX 短格式:IN AL,DX AL ← (DX) IN AX,DX AX ←(DX+1,DX) OUT DX,AL (DX)← AL OUT DX,AX (DX+1,DX)←AX 注:I/O指令中只能用AX/AL与DX和8位的端口地址。 <2> XLAT换码指令 A、指令格式与操作 XLAT OPR 或 XLAT AL ←[ BX + AL ] B、注:使用XLAT指令,应先建立一个表格。 表格首址存入BX中,需转换的代码应是相对于 表格首址的位移量(即项号)也提前放入AL 中。 表格的内容(即项值)则是所要换取的代码它将存入AL中。 指令格式中的OPR为表格首址(符号地址)。 2、减法指令 减: SUB DST,SRC DST←DST-SRC 带借位减:SBB DST,SRC OST←DST-SRC-CF 减1: DEC OPR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值