1 / 16
文档名称:

微机原理与接口技术实验报告.docx

格式:docx   大小:254KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

微机原理与接口技术实验报告.docx

上传人:xwbjll1 2016/12/22 文件大小:254 KB

下载得到文件列表

微机原理与接口技术实验报告.docx

文档介绍

文档介绍:SDU 微机原理与接口技术实验报告梁聚仁 200800120100 微机原理与接口技术实验报告 1山东大学实验一上机练****实验目的: 1、掌握用编辑软件编辑程序文本的方法。在 DOS 环境下,熟练掌握用 MASM5. 0 宏汇编程序对 ASM 文件进行编译、连接等操作步骤。 2、熟悉用 DEBUG 调试程序。实验要求: 选取教科书中一典型例题,用编辑软件在 PC机中形成 ASM 文件,然后编译、连接,生成目标文件和可执行文件。再用 DEBUG 程序进行调试。实验步骤: 实验程序如下: data segment ary1 db 12,34,45,56,67,78,89,90,18 cont1 equ $- ary1 ;ary1 的长度 sum1 dw ? ary2 db 13h,24h,57h,68h,9ah,0bch,0cdh,0deh,80h,50h cont2 equ $- ary2 sum2 dw ? data ends code segment assume cs:code, ds:data start : mov ax,data mov ds,ax lea si,ary1 mov cx,cont1 ;设定循环次数为 ary1 的个数 call sum lea si,ary2 mov cx,cont2 call sum mov ah,4ch ;结束程序功能调用 4CH int 21h sum proc ;求和程序段,求该段所有数之和 xor ax,ax ;ax 清零为下面加法准备 next1: add al,[si] adc ah,0 inc si 微机原理与接口技术实验报告 2山东大学 loop next1 mov [si],ax ret;返回调用程序 sum endp ;程序段结束 code ends end start 点击“运行”点击“编译成目标文件”,编译成功后,再“运行”=〉“生成可执行文件”,然后运行,即可。运行成功以后,可进行调试。点击工具栏的调试按钮,出现调试框。其命令如下: 输入 a,进行逐行汇编,输入 c,比较两内存块,输入 d,内存信息以 16进制显示;输入 e,修改内存指定的字节;输入 f,可以预置一段内存; 输入 g,执行程序;输入 h,制算术运算;输入 i,从指定端口地址输入;输入 l,读盘;输入 m,内存块传送;输入 n,置文件名;输入 o,从指定端口地址输出;输入 q,结束 DEBUG 调试;输入 r,显示和修改寄存器;输入 s,查找字节串;输入 t,跟踪执行;输入 u,反汇编;输入 w,存盘操作。实验总结: 1、通过实验,熟悉了 MASM 环境,了解了程序书写,编译和运行的方法。 2、实验过程中,在调试的时候,各调试命令的用法十分复杂,如指令 P,单输入p只会执行一步,若要一次执行多步,可以在后面加上数字。通过练****熟悉了各调试指令。实验二两个多位十进制数相加实验目的: 1、学****数据传送和算术运算指令的用法。 2、熟悉在 PC机上建立、汇编、连接、调试和运行汇编语言程序过程。实验要求: 将两个多位十进制数(如四位)相加,要求被加数、加数以 ASCII 码形式按顺序存放在以 DATA1 和 DATA2 为首的 5个内存单元中(低位在前)。结果显示在屏幕上。实验步骤: 实验程序如下: DATAS SEGMENT num1 db '3', '2', '4', '5', '0';被加数 num2 db '2', '6', '7', '1', '0';加数 s db '5423+1762=$' ;显示的公式形式, $表示输出结束微机原理与接口技术实验报告 3山东大学 DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:DATAS START : MOV AX,DATAS MOV DS,AX ;DS 指向数据段 mov ES,AX ;ES 指向数据段 mov cx,5 ;5次循环 lea dx,s ;要显示的字符串的首偏移地址 mov ah,9h ;9号 DOS 功能调用显示字符串 s int 21h mov si, offset num1 ; si指向 num1 首地址 mov di, offset num2 ; di指向 num2 首地址 clc;清零进位寄存器 CF adds: LODSB adc al, [di] ;有符号加法 aaa ;调整 ASCII 码加法结果指令 stosb ;所得结果以字节为单位存储到数据段 di指向的位置, di+1 loop adds ;循环知道 cx为零, cx-1 mov ah,02h ;以下为输出加法结果 mov cx,5 ;共有 5位数循环 5次 adjust: mov dl,[di-1] or d