8086汇编语言子程序程序设计.docx

8 页脚内容 验 目 的 实 验 目 的 实 验 原 理 实 验 内 容 实 验 环 境 实 验 步 骤 汇编语言程序设计实验报告 学院:计算机科学与技术 专业:计算机科学与技术 班级:计科 131 姓名 学号 实验组 实验时间 指导教师 肖敏 成绩 实验项目名称 实 实验五: 8086 汇编语言子程序程序设计 熟悉子程序的设计方法 对汇编源程序进行汇编、链接,在 Debug 环境下完成调试和运行。 1、熟悉子程序的结构及注意事项 2、掌握子程序的设计、调试方法 1. 硬件:微型计算机 1 台 2. 软件: MASM 软件 实验一. 使用子程序设计编程实现求数组ARY 元素之和: 编辑下面的源程序到文件lab5.asm 中: CODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODE,SS:CODE MAIN PROC FAR MOV AX,CODE MOV DS,AX MOV TABLE ,OFFSET ARY MOV TABLE+2,OFFSET COUNT MOV TABLE+4,OFFSET SUM MOV BX,OFFSET TABLE 8 页脚内容 800 800 米跑的技术动作及训练方法 CALL PROADD MOV AX,4C00H INT 21H MAIN ENDP PROADD PROC NEAR PUSH AX PUSH CX PUSH SI PUSH DI MOV SI,[BX] MOV DI,[BX+2] MOV CX,[DI] MOV DI,[BX+4] XOR AX,AX NEXT:ADD AX,[SI] ADD SI,2 LOOP NEXT MOV [DI],AX POP DI POP SI POP CX POP AX RET PROADD ENDP ARY DW 1,2,3,4,5,6,7,8,9,10 COUNT DW 10 SUM DW ? TABLE DW 3 DUP(?) CODE ENDS END MAIN 使用相应的文本编辑器建立文件LAB5.asm ,内容如上所示。 二. 生成可执行文件: 1.汇编: C:\masm masm lab5; 2.连接: C:\masm link lab5; 三. 请写出此程序中的变量ary,count,sum 的EA,并判断此程序的功能: 8 页脚内容 800 800 米跑的技术动作及训练方法 四. 用debug 调试此程序时,第一条指令的段内EA 是多少?此程序数据段内偏移地址为0 的字单 元数据为多少?其对应的机器指令是什么? -L ;加载程序文件lab5.exe -R ;查看IP 与CS 寄存器的内容 -D DS :0 ;查看当前数据段内偏移地址为0 的字单元数据 -U ;查看机器指令 实验二:编写一个子程序,实现在屏幕的指定位置,用指定颜色,显示一个用0 结尾的 字符串 源程序如下 data segment str db display string,0 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dh,8 mov dl,21 mov cl,3 mov si,offset str call show_str mov ax,4c00h int 21h ; show_str proc near push ax push cx push dx push es push si push di mov ax,0b800h 8 页脚内容 800 米跑的技术动作及训练方法 mov es,ax dec dh mov al,160 mul dh add dl,dl mov dh,0 ;计算显示在屏幕位置 add ax,dx mov di,ax mov ah,cl x: mov cl,ds:[si] mov ch,0 jcxz f mov al,cl mov es:[di],ax inc si inc di inc di jmp x f: pop di pop si pop es pop dx pop cx pop ax ret show_str endp ;------------------------ code ends end start 实验三:编写一个子程序,实现将word 型数据以十进制

文档评论(0)

1亿VIP精品文档

相关文档