汇编语言 顺序结构程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5 章

5.4 数据传送指令
数据传送是计算机中最基本、最重要的一种操作 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 数据传送指令共有12条:
MOV POP XLAT LDS LAHF PUSHF PUSH XCHG LEA LES SAHF POPF
第五章
顺序结构程序
教学重点
从本章开始,从程序结构角度展开学 习8086常用指令的功能及应用。本章重点 掌握: 80x86 传送、 算术运算、逻辑操作、 移 位操作等指令 程序设计的步骤 程序的基本控制结构
主要内容
5.1 程序设计的步骤 5.2 流程图的应用 5.3 程序的基本控制结构 5.4 数据传送指令 5.5 算术运算指令 5.6 逻辑操作指令 5.7 移位操作指令 5.8 状态标志位操作指令 5.9 简单的I/O功能调用 5.10 顺序结构程序举例
第5 章
汇编语言指令格式(复习)
由4部分组成:
[标号[:]]指令助记符 目的操作数,源操作数[;注释]
标号表示该指令在主存中的逻辑地址 每个指令助记符就代表一种指令 目的和源操作数表示参与操作的对象 注释是对该指令或程序段功能的说明
第5 章
指令操作数的表达(补充)
r8——任意一个8位通用寄存器。 AH AL BH BL CH CL DH DL r16——任意一个16位通用寄存器。 AX BX CX DX SI DI BP SP reg——代表r8或r16。
N S2
(3) 循环(迭代)结构
第5 章
5.3.1 顺序程序设计
sseg stack 顺 segment 序程序 完 全 ;定义堆栈段
按指令书写的 前后顺序执行 每一条指令, 是最基本、最 常见的程序结 start: 构。
sseg dseg string dseg code
code
dw 512 dup(?) ;堆栈段有512字(1024字节)空间 ends ;堆栈段结束 segment ;定义数据段 db 'Hello, Everybody !',0dh,0ah,'$' ends segment ;'code' ;定义代码段 assume cs:code,ds:dseg,ss:sseg mov ax,dseg ;建立DS段地址 mov ds,ax mov dx,offset string mov ah,9 int 21h mov ax,4c00h int 21h ;利用功能调用返回DOS ends ;代码段结束 end start ;汇编结束,同时指明程序起始点
重点掌握
MOV XCHG XLAT PUSH POP LEA
第5 章
MOV(move)传送
指令汇编格式: MOV dest,src 操作: 将一个源操作数(字节或字) 传送到目 标操作数中。 dest←(src) 受影响的状态标志位: 没有 说明: 指令中dest和src不能同时为存储器操 作数; CS不能做为目标操作数使用,段 寄存器之间不能互相传送,立即数不能 送入段寄存器。
通用寄存器 AX BX CX DX BP SP SI DI
段寄存器 CS DS ES SS
第5 章
堆栈操作指令
堆栈是一个“后进先出
FILO” (或说“先进后 出 FILO” )的主存区域, 位于堆栈段中;SS段寄 存器记录其段地址 堆栈只有一个出口,即 当前栈顶;用堆栈指针 寄存器SP指定 栈顶是地址较小的一端 (低端),栈底不变
第5 章
5.1 程序设计的步骤
1. 2. 3. 4. 5.
分析问题 建立数学模型 设计算法 编制程序 上机调试
第5 章
5.2 流程图的应用
(1) (2) (3) (4) (5)
流程线 端点框 判断框 处理框 连接框
开始 结束
条件 Y
N
要描述的内容
第5 章
顺序结构
开始
初始化部分
工作部分
修改部分
结束
;段寄存器送寄存器或主存
第5 章
MOV指令传送功能限制
立即数 存 储 器 通用寄存器 AX BX CX DX BP SP SI DI 段寄存器 CS DS ES SS
MOV也并非任意传送
第5 章
非法传送种种
示例 两个操作数的类型不一致 例如源操作数是字节,而目的操作 数是字;或相反 两个操作数不能都是存储器 示例 传送指令很灵活,但主存之间的直 接传送却不允许 段寄存器的操作有一些限制 示例 段寄存器属专用寄存器,对他们的 操作能力有限
MOV(move)传送指令(思考)
立即数
判断下列各条语句的对错: 存 储 器 ① DATA DB 10H MOV [SI],DATA × √ ② MOV AX,CS × ③ MOV DS,1000H √ ④ MOV BX,[BX] × ⑤ MOV AX,DL ⑥ MOV DS,CS × ⑦ MOV [SI],10H ×
seg——段寄存器。
CS DS ES SS
第5 章
指令操作数的表达(补充)
m8—— 一个 8 —— 一个 16 位存储器操作数 单元(所有主存寻址方式)。 mem——代表m8或m16。
第5 章
指令操作数的表达(补充)
i8——一个8位立即数 i16——一个16位立即数 imm——代表i8或i16 dest——目的操作数 src——源操作数
第5 章
传送指令MOV(move)
MOV
把一个字节或字的操作数从源地址传
送至目的地址
MOV reg/mem,imm
例题5.1
例题5.2 ;立即数送寄存器或主存 MOV reg/mem/seg,reg
例题5.3 MOV;寄存器送(段)寄存器或主存 reg/seg,mem
例题5.5 ;主存送(段)寄存器 MOV reg/mem,seg
第5 章
开始
1 Y
设置数据段地址 AL>(指针)?
设置数据指针 AL
AL 第一个数据
N
(指针)
指针增量
(指针)=0FFH?
Y 保存结果
N 1
分支与循环结构
结束
第5 章
5.3 程序的基本控制结构
S1 S2 S3
条件=真 N S2
Y
S1
(1) 顺序结构
(2) 分支(选择)结构
S1 条件=真 N Y
条件=真 Y S1
相关文档
最新文档