当前位置:文档之家› 32位微机原理上机实验报告要点

32位微机原理上机实验报告要点

西北工业大学明德学院实验报告实验项目微机原理与接口应用实验班级 121204姓名田家豪王辰硕学号 121566 121567指导老师伍明高实验题目(1)显示班级符号输出;(2)显示学号符号输出;(3)显示姓名符号输出;(4)显示单个字符输出;实验目的1、掌握在PC机上以十六位进制形式显示数据的方法2、熟悉汇编的调试环境和使用实验内容STACK1 SEGMENT STACKDW 256 DUP(?)STACK2 ENDSDATA SEGMENT USE13MES1 DB ‘121204’,0AH,0DH,‘$’MES2 DB ‘121566’,0AH,0DH,‘$’MES3 DB ‘TIANJIAHAO’,0AH,0DH,‘$’MES4 DB ‘121204’,0AH,0DH,‘$’MES5 DB ‘121567’,0AH,0DH,‘$’MES6 DB ‘WANGCHENSHUO’,0AH,0DH,‘$’SD DB ‘A’DATA ENDSMOV AH,09HINT 21HMOV DX,OFFSET MES3MOV AH,09HINT 21HMOV DX,OFFSET SDMOV AL,DS:[SI]AND AL,0F0HSHR AL,4CMP AL,0AHJB C2ADD AL,07HCODE SEGMENT USE13ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES1MOV AH,09HINT 21HMOV DX,OFFSET MES2C2: ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AL,DS:[DI]AND AL,0FHCMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AX,4C00HINT 21HCODE ENDSEND START实验步骤(1)运行编译器,编译程序。

(2)单击编译,保存。

(3)单击调试程序,发现无误。

(4)运行程序。

实验总结1.通过实验,熟悉了汇编语言编译环境,了解了程序的编译,运行和调试的方法2.实验过程中,在调试的时候,各调试指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。

3.不同的程序代码,在不同的环境运行方式也不同,这是我们必须要掌握的技能。

实验题目显示程序实验实验目的(1) 掌握在PC机上以十六进制形式显示数据的方法。

(2) 掌握部分DOS功能调用使用方法。

(3) 熟悉Tdpit集成环境和调试器的使用。

实验内容及说明一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。

本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一些提示信息的显示。

实验中可使用DOS功能调用(INT 21H)。

(1) 显示单个字符输出入口:AH=02H调用参数:DL=输出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=输出字符(4) 返回DOS系统入口:AH=4CH调用参数:AL=返回码实验步骤(1) 运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。

根据实验内容的描述编写实验程序。

(2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。

(3) 使用编译菜单中的运行,运行程序,观察运行结果。

(4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。

(5) 更改数据区中的数据,检查程序的正确性。

程序如下:DATA S EGMENTMES DB 'Show a as hex:',0AH,0DH,'$'SD DB 'a'DATA E NDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV D S,AXMOV D X,OFFSET MES ;显示提示信息MOV A H,09HINT 21HMOV D I,OFFSET SDMOV A L,DS:[DI]AND AL,0F0H ;取高4位SHR AL,4CMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV D L,AL ;显示字符MOV A H,02HINT 21HMOV A L,DS:[DI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV D L,AL ;显示字符MOV A H,02HINT 21HMOV A X,4C00H ;返回DOSINT 21HCODE ENDSEND START实验题目7种寻址方式指令编程实验目的通过对传送和算术运算类指令的实验结果的观察和分析,加深对各指令完成操作功能的理解,并了解各指令对于相关标志位的影响。

实验内容7种寻址方式指令的编程包括:(1)MOV传送类;(2)堆栈操作传送;(3)交换传送;(4)输入/输出传送;(5)串传送指令等。

(6)在指令后面注释源操作数和目的操作数的寻址方式。

程序如下:DA TA SEGMENTDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTADA TASEGMENTRT:MOV AX,DATAMOV DS,AXMOV AL,04HMOV DX,2000H //立即寻址MOV AX,99AAHMOV BX,1257HSUB AX,BX //寄存器寻址MOV AX,5000HMOV SI,3000HMOV AX,DS:[SI] //寄存器间接寻址PUSH AXPUSH EBXPUSH[SI]PUSH DOWRD PTR[DI]PUSHW 0A124HPUSHD 20H //堆栈操作指令MOV AX,3000HXCHG AX,1000HMOV 3000H,AX //交换传送指令IN DX,7000HIN AX,DX //输入指令实验步骤1. 建立文件,编写源程序。

2. 编译、连接生成EXE可执行文件。

3. 行调试,分析每条指令的寻址方式,验证操作数所在的地址空间。

实验总结1. 通过本次实验,可以正确的编写传送类指令与算术运算类指令、逻辑运算类指令的应用实验,并了解了编译链接调试的过程,检查程序结果的正确与否,会观察分析。

2. 更加清楚的能分析各种运算指令,并对其有了更深的理解。

3. 实验过程中必须认真仔细,特别是在应用逻辑运算指令时,不然一旦有一点错误,实验就无法正常进行,必须返回去查找错误,费时费力。

实验题目各种逻辑指令的编程实验目的1、掌握在PC机上各种逻辑指令的用法2、熟悉各种逻辑指令的用法实验内容在上次编辑七种寻址方式实验的中加入各种逻辑指令的运算,并且调试。

程序如下:STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDDATA SEGMENTMSR DB 'HELLO,WORLD!$'LEN EQU $- MSRDDATA ENDSEXDA SEGMENTMSD DB LEN DUP(?)EXDA ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDA TAMOV DS,AXMOV AX,EXDAMOV ES,AXMOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX]MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DSMOV DX,OFFSET MSDMOV AH,9INT 21HMOV AX,2233HMOV DX,3344HADD AX,DXADD AL,DLADD AX,5566HADC AL,DHDIV BLMOV BX,6677HMUL BXSBB AX,DXMOV AX,4C00HINT 21HCODE ENDSEND START实验步骤1. 运行编译器,编译程序。

2. 单击编译,保存。

3. 调试程序。

实验总结1. 通过实验,熟悉了各种逻辑指令的用法,了解了其程序的编译。

2. 调试程序的过程中需要不断地发现问题、解决问题。

3. 实验过程中,各指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。

4. 不同的程序代码,在不同的环境的运用方式也不同,这是我们必须要掌握的技能。

实验题目数据传送实验实验目的(1) 熟悉Tdpit集成环境和调试器的使用。

(2) 掌握与数据有关的不同寻址方式。

实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

实验程序如下:DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD DB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK ;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSR ;设置SIMOV DI,OFFSET MSD ;设置DIMOV CX,LENNEXT:MOV AL,[SI] ;开始传输数据MOV ES:[DI],ALINC SIINC DIDEC CXJNZ NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21HMOV AX,4C00H ;利用DOS功能调用返回DOS状态INT 21HCODE ENDSEND START将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:MOV BX,0MOV CX,LENNEXT: MOV AL,MSR[BX]MOV ES:MSD[BX],ALINC BXLOOP NEXT实验步骤(1) 运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。

(2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。

相关主题