微机原理第五章

上传人:ji****n 文档编号:57524046 上传时间:2018-10-22 格式:PPT 页数:93 大小:342.50KB
返回 下载 相关 举报
微机原理第五章_第1页
第1页 / 共93页
微机原理第五章_第2页
第2页 / 共93页
微机原理第五章_第3页
第3页 / 共93页
微机原理第五章_第4页
第4页 / 共93页
微机原理第五章_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《微机原理第五章》由会员分享,可在线阅读,更多相关《微机原理第五章(93页珍藏版)》请在金锄头文库上搜索。

1、第5章 汇编语言程序设计 汇编语言程序的步骤: (1)明确任务,确定算法。 (2)绘流程图。 (3)根据流程图编写汇编语言程序。 (4)上机调试程序。,图5.1 标准流程图符号,编译的过程,宏汇编程序-编译工具 链接程序-生成目标代码 MASM.EXE, LINK.EXE,5.1 汇编语言程序的上机过程 1、源文件的建立和汇编 (1)建立源程序文件 (2)汇编源程序文件 汇编程序主要功能:检查源程序中的语法错误并给出出错信息。产生目标文件,列表文件和对照文件。展开宏指令。,汇编操作过程:设在当前C盘上已经建立了一个扩展名为ASM的源程序文件MYASM,汇编时发出如下命令: C:MASM MYA

2、SM (或MASM MYASM.ASM ) 具体的三个输入提示行显示如下:Object Filename MYASM.OBJ:Source Listing NUL.LST:(可打入源文件名或省略)Cross Reference NUL.CRF:(可打入源文件名或省略) 汇编程序对源文件进行汇编,若无错误信息则显示如下结果:0 Warning Errors0 Severe Errors,2.目标文件的链接 连接软件LINK的功能: 1)找到要连接的所有目标文件; 2)确定所有段的地址值; 3)确定所有浮动地址和外部符号所对应的存储地址; 4)生成.EXE可执行文件。,连接软件为 LINK.EXE

3、,其过程如下: 设源文件MYASM.ASM已经由汇编软件汇编后生成MYASM.OBJ,其连接命令为: C:LINK MYASM 或 LINK MYASM.OBJ则在屏幕上显示连接软件的版本号和三个输入提示行,三个输入提示行显示如下:Run File MYASM.EXE:List File NUL.MAP:Libraries .LIB:3.执行文件的调试,5.2 顺序结构程序设计,例5.1 用8086CPU的指令实现两个32位无符号数乘法的程序设 计。 1)明确任务,确定算法。 2)绘流程图(图5.3),设置地址指针,AX被乘数的低16位B,SI乘数的低16位D,部分积1=BD,部分积1存入缓冲

4、区,AX被乘数的高16位A,部分积2=AD,部分积1的高16位部分积2的低16位,进位加至部分积2的高16位,结果存入缓冲区,部分积3=BC,与前面结果的对应16位相加,保存进位,部分积4=AC,恢复进位,部分积4与前面的和相加,保存结果到缓冲区,DI乘数的高16位C,1,1,结束,开始,图5.3 例5.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 STACKSTA

5、CK 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,17 MOV DS, AX 18 MOV ES, AX 19 LEA BX, MULNUM 20 MULU32: MOV AX,BX 21 MOV SI,BX+4 22 MOV DI,BX+6 23 MUL SI 24 MOV BX+8,AX 25 MOV B

6、X+0AH,DX 26 MOV AX,BX+2 27 MUL SI 28 ADD AX,BX+0AH 29 ADC DX,0 30 MOV BX+0AH,AX 31 MOV BX+0CH,DX 32 MOV AX,BX 33 MUL DI,34 ADD AX,BX+0AH 35 ADC DX,BX+0CH 36 MOV BX+0AH,AX 37 MOV BX+0CH,DX 38 PUSHF 39 MOV AX,BX+2 40 MUL DI 41 POPF 42 ADC AX,BX+0CH 43 ADC DX, 0 44 MOV BX+0CH,AX 45 MOV BX+0EH,DX 46 RET

7、 47 MAIN ENDP 48 CODE ENDS 49 END START,例5.2 用查表的方法将一位十六进制数转换成与它相应的ASC码。 1)明确任务,确定算法。 2)绘流程图(图5-4),3)根据流程图编写汇编语言程序 DATA SEGMENT TABLE DB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB ? ASCI DB ? DATA ENDS TACK1 SEGMENT PARA STACKDW 20H DUP(0) TOP LABEL WORD STACK1 ENDS COS

8、EG SEGMENTASSUME CS:COSEG,DS:DATA,SS:STACK1 BEING: MOV AX,DATAMOV DS,AX,MOV AX,STACK1MOV SS,AXMOV SP, OFFSET TOPMOV SI,OFFSET TABLEMOV AH,0MOV AL,HEXADD SI,AXMOV AL,SIMOV ASCI,ALMOV AH,4CHINT 21H COSEG ENDSEND BEING,5.3 分支结构程序设计,5.3.1 二分支结构例5.3 在长度小于256的字符串中分别统计数字、字母和其 它字符的个数。 1)明确任务,确定算法。,2)绘流程图,3)

9、根据流程图编写汇编语言程序 DATA SEGMENT BUF DB NDB 07H,2AH,47H,6AH,96H NUM DB 3 DUP(?) DATA ENDS CODE SEGMENT MAIN PROC FARASSUME CS:CODE,DS:DATA START: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CH,SI,MOV CL,CHMOV BX,0INC SI LP: MOV AH, SICMP AH,30HJL NEXTCMP AH,39HJG ABCINC BHJMP NEXT ABC:

10、CMP AH,41HJL NEXTCMP AH,5AHJG NEXTINC BL NEXT:INC SI,DEC CH JNZ LPMOV SI,OFFSET NUMMOV SI,BHMOV SI+1,BLSUB CL,BHSUB CL,BLMOV SI+2,CLRET MAIN ENDP CODE ENDS END START,例5.4 求补码数的绝对值。 1)明确任务,确定算法。 2)绘流程图(图5-7),3)根据流程图编写汇编语言程序 STACK SEGMENT STACKDW 300 DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT XADR

11、DW ? DATA ENDS CODE SEGMENT MAIN PROC FARASSUME CS:CODE,DS:DATA,SS:STACKMOV AX,STACKMOV SS,AXMOV SP, OFFSET TOP ;堆栈的初始化过程 START: PUSH DS,MOV AX,0PUSH AX ;设定返回接口MOV AX,DATAMOV DS,AXMOV AX,XADRAND AX,AX JNS DONENEG AX MOV XADR,AX DONE: RETMAIN ENDP CODE ENDSEND START,5.3.2 多分支结构 1.条件逐次测试法 例5.5 编程实现使键盘

12、上A、B、F六个字母键成为6个输 入命令,使之分别对应6个具有不同算法的控制子程序。 1)明确任务,确定算法。,2)绘流程图(图5-8),3)根据流程图编写汇编语言程序MOV AH,lINT 21HCMP AL,AJE PACMP AL,BJE PBCMP AL,FJE PF HLTPA:PB:PF:,2. 列表跳转法 (1)根据表内地址跳转法 例5.6 利用表内地址跳转法来实现例5.5的要求1)明确任务,确定算法。,2)绘流程图(图5-10),3)根据流程图编写汇编语言程序 ADATA SEGMENT BASE DW PA,PB,PC,PD,PE,PF KEY DB ? ADATA ENDS ASTACK SEGMENT PARA STACK STACKDW 100 DUP(?) TOP LABEL WORD ASTACK ENDS ACODE SEGMENTASSUME CS:ACODE,DS:ADATA,SS:ASTACK MAIN PROC FAR START: PUSH DSMOV AX,0PUSH AXMOV AX,ADATAMOV DS,AXMOV AX,ASTACK,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号