微机原理第五章.ppt第5章汇编语言程序设计
汇编语言程序的步骤:
(1)明确任务,确定算法。
(2)绘流程图。
(3)根据流程图编写汇编语言程序。
(4)上机调试程序。
或
或
起始框
执行框
判断框
终止框
连接框
标准流程图符号
编译的过程
宏汇编程序-编译工具
链接程序-生成目标代码
,
汇编语言程序的上机过程
1、源文件的建立和汇编
(1)建立源程序文件
(2)汇编源程序文件
汇编程序主要功能:
·检查源程序中的语法错误并给出出错信息。
·产生目标文件,列表文件和对照文件。
·展开宏指令。
汇编操作过程:
设在当前C盘上已经建立了一个扩展名为ASM的源程序文件MYASM,汇编时发出如下命令:
C:>MASM MYASM ↙(或MASM ↙)
具体的三个输入提示行显示如下:
Object Filename []:↙
Source Listing []:(可打入源文件名或省略)↙
Cross Reference []:(可打入源文件名或省略)↙
汇编程序对源文件进行汇编,若无错误信息则显示如下结果:
0 Warning Errors
0 Severe Errors
连接软件LINK的功能:
1)找到要连接的所有目标文件;
2)确定所有段的地址值;
3)确定所有浮动地址和外部符号所对应的存储地址;
4)。
连接软件为 ,其过程如下:
,其连接命令为:
C:>LINK MYASM 或 LINK
则在屏幕上显示连接软件的版本号和三个输入提示行,三个输入提示行显示如下:
Run File []:
List File []:
Libraries [.LIB]:
顺序结构程序设计
语句1
语句2
语句3
顺序结构流程
开始
结束
用8086CPU的指令实现两个32位无符号数乘法的程序设计。
1)明确任务,确定算法。
2)绘流程图()
设置地址指针
AX←被乘数的低16位B
SI←乘数的低16位D
部分积1=B×D
部分积1存入缓冲区
AX←被乘数的高16位A
部分积2=A×D
部分积1的高16位+部分积2的低16位
进位加至部分积2的高16位
结果存入缓冲区
部分积3=B×C
与前面结果的对应16位相加
保存进位
部分积4=A×C
恢复进位
部分积4与前面的和相加
保存结果到缓冲区
DI←乘数的高16位C
1
1
结束
开始
3)根据流程图编写汇编语言程序
1 NAME 32 BIT MULTIPLY
2 DATA SEGMENT
3 MULNUN DW 0000,0FFFFH,0000,
4 0FFFH,4 DUP(?)
5 DATA ENDS
6 STACK SEGMENT PARA STACK’STACK’
7 DB 100 DUP(?)
8 STACK ENDS
9 CODE SEGMENT
10 ASSRME CS:CODE, DS:DATA,
11 SS:STACK,ES:DATA
12 MAIN PROC FAR
13 START: PUSH DS
14 MOV AX, 0
15 PUSH AX
16 MOV AX, DATA
微机原理第五章 来自淘豆网www.taodocs.com转载请标明出处.