微机原理与接口实验指导书
3) 输入机器指令,查看对应的符号指令。
E100 B8 34 12?:将机器指令输入到100H单元开始的3个字节中。 U100?:查看机器指令对应的符号指令。
4) 通过多条相关指令的格式对比,分析机器指令位格式。 2. 验证指令的功能。
1) 编写指令序列并运行。例如: MOV AX,1234 ADD AX,FFFF
2) 观察相关的寄存器、标志位和存储器单元的变化。
3) 参照前两个步骤,验证其他指令的功能。如:MUL、DIV、PUSH、POP、LOOP、CALL、RET、INT、IRET等指令 3. 验证寻址方式的作用。
1) 编写同一指令类型,但采用不同寻址方式的指令,分别运行并观察、分析指令运行的结果。例如:
MOV AX,1234 MOV AX,[1234] 【实验要求】
1. 指导书只给出操作方法的示例,实验人员应按照示例完成一定数量的实验操作。
2. 要详细记录实验过程和观察现象,通过表格、图形等形式分析实验结果,获取规律性的结论。
3. 如果对某项内容研究较深入,其他项目可以选做。
10
微机原理与接口实验指导书
实验四、汇编语言程序设计
【实验目的】
1. 熟悉汇编语言源程序的一般结构。 2. 熟悉常用伪指令的使用。
3. 掌握汇编程序MASM和连接程序LINK的使用方法和从源程序建立到生成可执行文件的汇编连接全过程。 【实验内容】
1. 建立汇编语言源程序文件.ASM。
2. 利用汇编程序将源文件汇编成用机器码表示的目标文件.OBJ。 3. 用连接程序把目标文件转化成可执行文件.EXE。 4. 运行可执行文件。 【实验准备】
1. 复习汇编语言程序上机过程。 2. 复习汇编语言语句格式及伪指令。 3. 复习汇编语言的段结构。 【实验步骤】
1. 汇编语言源程序的建立。
1) 选择一个或自编一个你熟悉的完整的汇编语言源程序。
2) 使用编辑程序录入。格式:EDIT [文件名]。如:在DOS提示符下,键入EDIT ABC.ASM?:用文本编辑程序打开或新建文件名为ABC.ASM的汇编语言源程序
3) 逐句输入源程序,输入完毕,保存。
2. 汇编为目标文件
1) 使用汇编程序MASM。格式:MASM [源文件名.asm],[目标文件名.obj],[列表文件名.lst],[交叉索引文件名.crf]。若省缺文件名,则MASM采用交互式提示输入。如下图:
11
微机原理与接口实验指导书
2) 注意汇编过程和结束后的错误与警告提示。MASM分警告错误(Warning Errors)和严重错误(Severe Errors)。出现严重错误时汇编不能进行,此时应分析错误提示,找出原因,仍用EDIT修改后重新汇编,直到错误为0为止。
3) 汇编正确,将至少产生目标文件(.OBJ)。
3. 用连接程序生成可执行文件
1) 目标文件不能直接运行,需要用到连接程序。连接程序LINK可将多个.OBJ文件(即一个程序的多个模块)连接生成一个可执行文件.EXE。格式:LINK [目标文件1.OBJ], [目标文件2.OBJ]…。若省缺文件名,则采用交互式输入。如下图:
2) 同样注意连接过程的错误与警告信息。若有错误,在分析错误提示,找出原因后,仍须用EDIT修改源程序,重新汇编,重新连接,直到错误为0为止。
4. 执行程序
1) 通过以上的操作我们得到了一个可直接执行的文件。在DOS提示符下键入文件名即可运行程序。如: ABC ?
2) 有时程序可执行了,但在屏幕上看不到结果或者不是我们预期的结果,这时我们就又要用到上个实验中的DEBUG程序进行察看或调试。
3) 直接调试可执行文件的方法。格式:DEBUG 文件名.EXE。 如:DEBUG ABC.EXE ?
参考程序。
功能:从内存中存放的10个无符号字节整数中找出最小数并保存在AL中。 DATA SEGMENT
BUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS
STACK SEGMENT STACK 'STACK' STA DB 10 DUP(?) TOP EQU $-STA STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: PUSH DS XOR AX,AX
12
微机原理与接口实验指导书
PUSH AX
MOV AX,DATA MOV DS,AX
MOV BX,OFFSET BUF MOV CX,CN DEC CX
MOV AL,[BX] INC BX
LP: CMP AL,[BX] JBE NEXT MOV AL,[BX] NEXT: INC BX DEC CX JNZ LP
MOV AH,4CH INT 21H CODE ENDS
END START 【实验要求】
1. 输入源程序,在实验报告中列出源程序清单。
2. 分析实验过程中出现的错误的原因,说明解决办法。 3. 执行程序,记录运行结果。 【程序设计示例】
一、顺序结构程序设计。 1.问题
编程计算数学表达式:(W-(X*Y+Z-220))/X,并将结果(商和余数)存入RESULT开始的数据区中。其中W、X、Y、Z均为16位有符号数。
2. 设计思想
1) 本实验将用到加减乘除运算。
2) 16位乘法结果可能有32位,因此本实验中的加减运算要考虑32位。 3) 计算步骤依照表达式中的先后次序。
13
微机原理与接口实验指导书
3.流程图: 4.程序
DATA SEGMENT
W DW -303 X DW 1000 Y DW -15 Z DW 20
RESULT DW 2 DUP(?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,X IMUL Y
MOV CX,AX MOV BX,DX MOV AX,Z CWD
ADD CX,AX ADC BX,0 SUB CX,220 SBB BX,0 MOV AX,W CWD
SUB AX,CX
14
开始 程序初始化,计算X*Y 计算X*Y+Z 计算X*Y+Z-220 计算W-(X*Y+Z-220) 计算W-(X*Y+Z-220)/X 结束
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育微机原理与接口实验指导书 - 图文 (3)全文阅读和word下载服务。
相关推荐: