8086的寻址方式与指令系统

立即寻址

MOV CX,2A50H      //2A50H即为操作数

寄存器寻址

MOV DX,AX         //操作数在AX中,源操作数和目的操作数长度要一致

存储器寻址

操作数在存储器中

直接寻址

直接给出有效地址,计算得出物理地址,然后便可在存储器中找到操作数

MOV AX,[2000H]     //物理地址为DS*16+2000H(默认段寄存器为DS)
MOV AX,ES:[500H]   //物理地址为ES*16+500H

(存储器中奇存储体存高字节,偶存储体存低字节)
可根据目的操作数判断操作数的位数,当操作数为16位且物理地址为偶数时只需取一次,物理地址为偶数时需取两次

寄存器间接寻址

有效地址在寄存器中,得到有效地址后便与直接寻址一致
源操作数要加[],来与寄存器寻址区别

MOV BX,[SI]      //物理地址为DS*16+SI
寄存器相对寻址

与寄存器间接寻址相比多了一个位移量,更灵活

MOV BX,COUNT[SI]  //DS*16+SI+COUNT
基址变址寻址

有效地址为基址寄存器(BX或BP)与变址寄存器(SI或DI)内容之和
与寄存器间接寻址一样,寄存器用中括号括起来

MOV AX,[BX][SI]   //DS*16+BX+SI
MOV AX,[BX+SI]    //等效写法

基址寄存器为BX时,段寄存器为DS
基址寄存器为BP时,段寄存器为SS

相对基址变址寻址

在基址变址寻址的基础上加上偏移量

MOV AX,MASK[BX][SI]  //16*DS+BX+SI+MASK
MOV AX,[BX+SI+MASK]  //等效写法
MOV AX,MASK[BX+SI]  //等效写法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第三章 8086/8088的寻址方式指令系统 练习题 一.单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( )。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为(  )。 A.13000H B.23000H C.33000H D. 3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( )。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是( )。 A.原码 B.反码 C.补码 D.移码 5.用来作为寄存器间接寻址的寄存器有( )个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用( )段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用( )段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变( )中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变( )中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是( )。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是( )。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生( )。 A.无溢出且无进位 B.无溢出但有进位 C.有溢出且有进位 D.有溢出但无进位 13.指令JMP WORD PTR [BX]属于( )寻址。 A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于( )寻址。 A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址 15.指令( )不改变CF的内容。 A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL 16.十进制数字74所对应的压缩型BCD码的形式是( )。 A.74 B.74H C.4AH D.4A 17.十进制数字85所对应的非压缩型BCD码的形式是( )。 A.0085 B.0085H C.0805 D.0805H 18.设AL=67H,执行“CMP AL,76H”后,AL=( )。 A.76H B.0DFH C.67H D.00 19.设AL=65H,BL=29H,执行下列指令后,AL=( )。 ADD AL,BL DAA A.8EH B.94 C.94H D.8E 20.压栈操作是( )位数的操作。 A.8 B.16 C.32 D.任意 21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则( )。 A.OF=0、CF=0 B.OF=0、CF=1 C.OF=1、CF=0 D.OF=1、CF=1 22.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=( )。 A.0376H B.01BBH C.01BB D.0376 23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用( )SCASB串操作指令。 A.REPNE B.REP C.REPE D.REPNZ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值