1 / 92
文档名称:

西安邮电大学微机原理与汇编语言第5章.ppt

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

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

分享

预览

西安邮电大学微机原理与汇编语言第5章.ppt

上传人:wz_198613 2018/8/12 文件大小:2.66 MB

下载得到文件列表

西安邮电大学微机原理与汇编语言第5章.ppt

相关文档

文档介绍

文档介绍:2018年8月13日 1
西安邮电学院计算机系
系统结构教研室

微机原理与汇编语言
教材及参考书
《微型计算机原理》王忠民王钰王晓婕编著
《微型计算机原理》学****与实验指导王钰王劲松刑高峰编著
2018年8月13日 2
第5章汇编语言程序设计
主要内容:
汇编语言源程序的格式及上机过程
汇编语句源程序的编写
汇编语言程序的设计(一)
——顺序与分支结构
汇编语言程序的设计(二)
——循环结构与子程序
2018年8月13日 3

本节学****要求
学会在DEBUG 调试环境下察看程序结果
学会简单汇编程序的编辑、运行过程
掌握常见的输入及显示方法
2018年8月13日 4
计算机语言发展过程
机器语言
汇编语言
高级语言
FORTRAN
BASIC
COBOL
PASCAL
C/C++/C#
JAVA
…...
2018年8月13日 5
机器语言:依赖于机器的低级语言,书写格式为二进制代码。
优点:执行速度快,效率高。
缺点:表达的意义不直观,编写、阅读、调试较困难。
汇编语言:一种符号语言,与机器语言一一对应;使用助记符
优点:用户理解容易
缺点:不能被机器直接识别
高级语言:独立于机器的通用语言,接近人类的自然语言。
优点:易学易用,可移植性较好
缺点:目标代码冗长,占用内存多,执行效率不高
2018年8月13日 6
例一编程实现c=a+b,并在屏幕上显示结果
解1:用C语言实现
#include ""
int main(int argc, char* argv[])
{
int a,b,c;
a=1;
b=2;
c=a+b;
printf(“c=%d\n",c);
return 0;
}

2018年8月13日 7
data segment
a db ?
b db ?
c db ?
string db 'c=$'
data ends
code segment
main proc far
assume cs:code, ds:data
assume es:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
mov a,1
mov b,2
mov al,a
add al,b
mov c,al
lea dx,string
mov ah,09
int 21h
add c,30h
mov dl,c
mov ah,2
int 21h
mov dl,0ah
int 21h
mov dl,0dh
int 21h
ret
main endp
code ends
end start
解2: 用汇编语言实现
汇编后的目标文件只有208字节
2018年8月13日 8
汇编语言源程序的格式
例二编程实现多字节加法,如 S=3B74AC60F8H+20D59E36C1H
F8H
60H
ACH
74H
3BH
C1H
36H
9EH
D5H
20H
被加数、和
加数
DATA1
DATA2
……
2018年8月13日 9
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, 5
MOV SI, 0
CLC
LOOPER:MOV AL, DATA2[SI]
ADC DATA1[SI],AL
INC SI
DEC CX
JNZ LOOPER
MOV AH, 4CH
INT 21H
CODE ENDS
END START
DATA SEGMENT
DATA1 DB 0F8H, 60H, 0ACH, 74H, 3BH
DATA2 DB 0C1H, 36H, 9EH, 0D5H, 20H
DATA ENDS
2018年8月13日 10
汇编语言源程序的组织结构
汇编语言源程序采用的是分段结构,即一个汇编语言源程序由若干段组成(一般由数据段和代码段组成),每一个段以SEGMENT语句开始,以ENDS语句结束,整个程序的结尾是END语句。
在代码段中下面的内容是不可缺少的:
(1) 定义段(使用SEGMENT/ENDS语句定义)
(2) 约定段寄存器和段的关系(即物理段和逻辑段的关系,使用一个或多个ASSUME语句实现)
(3) 装填段寄存器(只装填数据型段寄存器)
(4) 设置返回DOS的方法