1 / 33
文档名称:

微机原理与汇编语言实用教程_第6章_汇编语言程序设计.ppt

格式:ppt   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微机原理与汇编语言实用教程_第6章_汇编语言程序设计.ppt

上传人:经管专家 2013/11/27 文件大小:0 KB

下载得到文件列表

微机原理与汇编语言实用教程_第6章_汇编语言程序设计.ppt

文档介绍

文档介绍:第6章汇编语言程序设计
简单程序设计应用举例
顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构。结构简单,只适应于简单问题的处理。
下面举例说明顺序程序的设计。
试编写一程序计算以下表达式的值。
w=(v-(x×y+z-540))/x
式中x、y、z、v均为有符号字数据。
设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量W之中,。
DATA SEGMENT
X DW 200
Y DW 100
Z DW 3000
V DW 10000
W DW 2 DUP(?)
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK
START:
MOV AX,DATA
MOV DS,AX ;DATA→AX
MOV AX,X
IMUL AX,Y ;(X)×(Y)→DX:AX
MOV CX,AX
MOV BX,DX ;(DX:AX)→(BX:CX)
MOV AX,Z
CWD ;(Z)符号扩展
ADD CX,AX
ADC BX,DX ;(BX:CX)+(DX:AX)→(BX:CX)
SUB CX,540
SBB BX,0 ;(BX:CX)-540→(BX:CX)
MOV AX,V
CWD ;(V)符号扩展
SUB AX,CX
SBB DX,BX ;(DX:AX)-(BX:CX)→(DX:AX)
IDIV X ;(DX:AX)/X
MOV W,AX ;商→W
MOV W+2,DX ;余数DX→W+2
MOV AH,4CH
INT 21H
CODE ENDS ;退出DOS 状态
END START
已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查询结果放在变量ENGLISH中。
程序编写如下:
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
TAB DB 80,85,86,71,79,96
DB 83,56,32,66,78,84
NO DB 10
ENGLIST DB ?
DATA ENDS
ASSUME DS:DATA,SS:STACK,CS:CODE
BEGIN:
MOV AX,DATA
MOV DS,AX
LEA BX,TAB ;将TAB数据转移到BX寄存器
MOV AL,NO
DEL AL
XLAT TAB ;查表转换指令
功能:实现将(BX)为首址(AL)为位移量的字节存储单元中的数据送AL寄存器。即([BX+AL])→AL。
MOV ENGLISH,AL
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN
分支程序设计及应用举例
转移指令

无条件转移指令的基本格式为:
JMP <目标地址>
其中,目标地址为标号或地址表达式。其寻址方式有直接和间接两种基本类型。
功能:使程序由一个程序段无条件转移到另一程序段执行。
用JMP指令实现转移
(1) …
JMP TWO ;跳转到标号TWO
ONE: …
TWO:JMP ONE ;跳转到标号ONE

(2) JMP CX ;段内间接转移,可使用任何一个通用寄存器
JMP WORD PTR[BX] ;段内间接转移,目的地址在存储单元中
(3) JMP FAR PTR TWO ;段间直接转移
(4) LEA BX, FAR_TGT
JMP DWORD PTR[BX] ;段间间接转移
2. 条件转移指令
8086提供了30条条件转移指令,基本格式为:
Jcc <标号>
其中,“J”是条件转移指令操作码的第一个字母,”是代表转移的条件。若条件成立,则程序转移至由标号标识的指令处执行。若条件不满足,则顺序执行下条指令。
1)简单条件转移指令
简单条件转移指令是将单个标志位的状态作为条件来判断,决定是否转移。共有5个标志位,即CF、ZF、OF、PF和SF。该类指令共有14,。