第3章 80868088的指令系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机原理与接口技术
• MOV [BX][SI], AX
ADD AX, BX • 指令一般格式:
– 标号: 助记符 参数1, 参数2, 参数3 – 助记符:MOV、ADD等 – [BX][SI] 、AX和BX属于参数 • 助记符(操作码) – 标明需要计算机执行的操作 • 操作数参数 – 数量取决于操作码,可以为0~3个 – 用于存放指令在执行过程中所需要的操作数和操作结果 • 了解指令的功能,同时也要注意指令对隐含寄存器和标志位的影响
微型计算机原理与接口技术
第一节 操作数寻址方式
1. 立即数寻址 2. 寄存器操作数寻址 3. 存储器操作数寻址
直接寻址 寄存器间接寻址 寄存器相对寻址 基址/变址寻址 相对基址/变址寻址 4. IO端口操作数寻址 直接寻址 间接寻址
1来自百度文库立即数寻址
微型计算机原理与接口技术
(1) 格式:操作数以常数的形式直接表示在指令中。
fill
F range list:填写存储单元
go
G [=address] [addresses]:运行
hex
H value1 value2
input
I port
load
L [address] [drive] [firstsector] [number]:装入命名过的文件
move
M range address
name
N [pathname] [arglist]:命名
output
O port byte
proceed
P [=address] [number]
quit
Q:退出
register
R[F] [register]:显示和修改寄存器[标志寄存器]
search
S range list
trace
T [=address] [value]:跟踪(单步执行)
文本编辑器,如ULTRAEDIT
编 辑
微型计算机原理与接口技术
源程序:文件名.ASM
汇编程序,如MASM.EXE
汇 编
目标模块:文件名.OBJ
链接程序,如LINK.EXE
链 接
可执行文件:文件名.EXE
调试程序,如DEBUG.EXE
调 试
应用程序
微型计算机原理与接口技术
汇编语言程序举例:指令性语句、指示性语句、宏指令语句
;主过程
STRING STRING
;主过程结束 ;代码段结束 ;程序结束
DEBUG 命令:
微型计算机原理与接口技术
-?
assemble
A [address]:汇编
compare
C range address
dump
D [address]/[range]:显示存储单元
enter
E address [list]:修改存储单元
开发过程: (1)编辑源程序生成*.ASM (2)汇编生成目标程序*.OBJ: (3)连接生成可执行程序*.EXE: (4)调试:
(5)执行:
ULTRAEDIT *.ASM MASM *; LINK *;
DEBUG *.EXE
*
或者(1)-(5)全在debug中完成,只能编写小程序,数据、代码、堆栈全 在同一段内。
MOV BX, 0F77H
2.寄存器寻址
微型计算机原理与接口技术
(1)格式:操作数是通用寄存器或段寄存器中的内容。 寄存器可以是:
通用寄存器(AX,BX,CX,DX,SP,BP,SI,DI, AH,AL,BH,BL,CH,CL,DH,DL)
段地址寄存器( CS,SS,DS,ES) 标志寄存器
INC CX MOV SS, AX ADD CL, BH
微型计算机原理与接口技术
语句格式: [名字] 助记符 [操作数1[, 操作数2]][;注释]
START
START CODE
PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX, SEG MOV DS, DX MOV DX, OFFSET MOV AH, 9H INT 21H RET ENDP ENDS END START
unassemble U [address]/[range]:反汇编
write
W [address] [drive] [firstsector] [number]:写文件
微型计算机原理与接口技术
第3章 8086/8088的指令系统
第一节 操作数寻址方式 第二节 转移地址寻址方式 第三节 指令介绍
指令的组成
MOV AL, 5
;AL5
MOV AX, 1234H
;AX1234H
(2) 物理地址:在内存的代码段内,指令执行时不需再存取存储
器。
MOV AX, 1234H
;AH=12H,AL=34H
低地址
12H
34H
34H
12H
高地址
微型计算机原理与接口技术
(3) 适用于:给寄存器或存储单元赋初值。 (4) 注意:
微型计算机原理与接口技术
汇编语言程序设计概述
编程语言分类 机器语言:计算机能直接识别并执行某种操作的二进制代码串 汇编语言:用指令助记符、符号地址和标号等书写程序的语言 高级语言:C语言等
汇编语言程序优点 (1)占用空间小 (2)运行速度快 (3)有直接控制硬件的能力
开发环境: DOS环境
微型计算机原理与接口技术
开发工具:
MICROSOFT : INTEL: BORLAND:
MASM(宏汇编) ASM (小汇编)
TASM
需要的最基本的软件:
NOTEPAD(ULTRAEDIT.EXE) MASM.EXE: LINK.EXE: DEBUG.EXE:
编辑成*.ASM 汇编成*.OBJ 连接成*.EXE 调试
微型计算机原理与接口技术
a.不能直接对段寄存器用立即数赋值; MOV SS, 1234H
b.立即数不能作目的操作数; MOV 1234H, AX
c.给存储器操作数用立即数赋值时, 要指明WORD/BYTE PTR
MOV BYTE PTR [100H], 5FH d.以A-F打头的数字出现在指令中时,前面要加数字0,
以免与变量名等符号混淆
DATA string DATA
STACK
STACK
CODE
SEGMENT db ‘hello$’ ENDS
;定义数据段 ;定义数据 ;数据段结束
SEGMENT STACK DB 100 DUP(?) ENDS
;定义堆栈段 ;定义堆栈段大小 ;堆栈段结束
SEGMENT
;定义代码段
ASSUME CS:CODE,DS:DATA,SS:STACK