机器指令----是用二进制编码形式下达指令和命令
如1010 0011 1001
符号指令----由操作码(助记符)、操作数组成的
如 INT 21H
4.1 8086/8088寻址方式:
4.1.1 汇编语言的两种语言格式
(1)执行性语句:指令(也称硬指令)cpu有具体操作
(2) 说明性语句:伪指令,说明作用
4.1.2 指令组成(填空)
以c语言为例子可以这样理解单,双,无,操作数
4.1.3 操作数寻址方式(选择,填空)
(1)寻址方式
寻找操作数或操作数地址的方式
(2)寻址方式的种类
三种数据:寄存器数,存储器数,立即数
1.立即数寻址
立即数只能在src(源操作数)不能在目的操作数
MOV AX,50 执行这条语句时
50以二进制方式存放在AX中
0000 0000 0011 0010
0 0 3 2H
2.寄存器寻址方式
CS段和IP 不能目的操作数 随意改变 只能在src(源操作数中)
因为CS段和IP 不能目的操作数 随意改变 只能在src(源操作数中)所以MOV CS,AX 指令是错误的
3.存储器寻址方式(选择、填空)
(1)直接寻址方式
有效地址EA直接给出
DS*10H+EA=物理地址
段超越前缀:默认是DS,变换段地址时ES(附加段):[200H]
(2)寄存器间接寻址方式
EA存放在BX、SI、DI和BP中
MOV AX,ES:[SI]
公式=ES*16+SI=1400H*16+3000H=17000H
AX=5678H
(3)寄存器相对寻址
(4)基址加变址寻址方式方式
(5)相对基址变址寻址方式
(6).存储器寻址中的变量
练习
4.2 数据传送类指令
4.2.1 传送指令MOV(move)
(1) MOV DST,SRC
目的操作数时 CS、IP时 源操作数不能是立即数
目的操作数 段地址 不能 源操作数 段地址
目的操作数 存储器 不能 源操作数 存储器
目的操作数 段地址 不能 源操作数不能是立即数
位数需要通一
4.2.2 交换指令XCHG
(1)LEA(很重要)
MOV SI,DATA1 SI=1234H
LEA SI,DATA1 SI=1000H
MOV BX,[BX] BX=7788H
LEA BX,[BX] BX=1100H
4.2.3堆栈操作指令
(1)进栈指令 PUSH
进栈一个字的时候,先减2在,在放数据
(2)出栈指令 POP
4.3 算术运算类指令(选择、填空、综合)
4.3.1加减法指令
练习