微机原理与接口技术第2版第03章8086的指令系统
- 格式:ppt
- 大小:344.50 KB
- 文档页数:66
第三章8086指令系统3.1 基本数据类型3.2 IA-32的指令格式3.3 IA-32指令的寻址方式3.3.1 操作数寻址3.3.2 相关约束与规定3.3.3 与转移地址有关的寻址3.4 IA-32的通用指令3.1 基本数据类型1、基本数据类型字节(Byte,8位)字(2字节,16位)双字(4字节,32位)四字(8字节,64位,INTEL 80486后引入)双四字(16字节,128位,PIII 后引入)2、基本数据类型在内存中的存储形式•标号(标识符):由字母、数字、@、-、?加:组成;第一个字符必须是字母或某个特殊字符,?不单独做标识符号;整个标识符号的长度不超过31。
•指令助记符:是指令名称的代表符号,必须有。
•操作数:参加本条指令运算的数据。
•注释:以;开头,用来说明指令的功能等。
指令助记符操作数注释标号:3.2 IA-32的指令格式一、立即数寻址操作数由指令直接提供。
例:MOV AL,80 HMOV AX,1090 HMOV CX,100 H数据指令对操作数寻址对调用或转移指令寻址3.3 IA-32指令的寻址方式——操作数寻址二、直接寻址操作数在存储器中,其地址由指令提供。
例:MOV AX ,[ 1070 H ]若DS = 2000 H ,物理地址为:21070 H21071 H则:AX = 3020 H 例:MOV BX ,CS :[ 3000 H ]MOV AH ,[ 1000 H ]20 H 30 H三、寄存器寻址操作数在寄存器中。
MOV AH,BLMOV AX,BXMOV CX,AX四、寄存器间接寻址操作数在存储器中,存储器的EA由寄存器指出。
EA=+8 或16 位移量[BX] ;段为DS [BP] ;段为SS [SI] ;段为DS [DI] ;段为DS或ES1、以BX 寄存器进行间接寻址——数据段基址寻址例:若DS = 2000 H ,ES = 3000 H ,BX = 1000 H1)MOV AX ,[BX]AX← [21000 H] [21001 H]AX = 5B40 H 405B21000 H21001 H寄存器间接寻址可分为以下四种:2)MOV CX ,ES :[BX]AX ← [31000 H] [31001 H]2、以BP寄存器进行间接寻址——堆栈段基址寻址MOV AX,[BP]若SS = 5000 H,BP = 3000 H,将53020 H、53021 H单元的内容送AX。
第3章8086CPU指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;(2)在变量var2中保存字符串:’BYTE’,’word’,’WOR’D;(3)在缓冲区buf1中留出100个字节的存储空间;(4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;(5)在变量var3中保存缓冲区buf1的长度;(6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。
解:var1DW4512H,4512,-1,100/3,10H,65530var2DB’BYTE’,’word’,’WORD’buf1DB100DUP(?)buf2DB7DUP(5DUP(55H),10DUP(240))var3DBLENGTHbuf1pointerDWvar1,buf1(或者pointerDWOFFSETvar1,OFFSETbuf1)2.设变量var1的逻辑地址为0100:0000,画出下列语句定义的变量的存储分配图:var1DB12,-12,20/6,4DUP(0,55H)var2DB‘Assemble’var3DW‘AB’,‘cd’,‘E’var4DWvar2var5DDvar2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1,VAR2为字变量,L1为标号):(1)MOVSI,100(2)MOVBX,VAR1[SI](3)MOVAX,[BX](4)MOVAL,[DX](5)MOVBP,AL(6)MOVVAR1,VAR2(7)MOVCS,AX(8)MOVDS,0100H(9)MOV[BX][SI],1(10)MOVAX,VAR1+VAR2(11)ADDAX,LENGTHVAR1(12)ORBL,TYPEVAR2(13)SUB[DI],78H(14)MOVSVAR1,VAR2(15)PUSH100H(16)POPCS(17)XCHGAX,ES(18)MOVDS,CS(19)JMPL1+5(20)DIVAX,10(21)SHLBL,2(22)MOVAL,15+23(23)MULCX(24)XCHGCL,[SI](25)ADCCS:[0100],AH(26)SBBVAR1-5,154解:(1)MOVSI,100正确。