微机原理:EM8086使用及指令系统熟悉.docxVIP

  • 150
  • 0
  • 约3.46千字
  • 约 11页
  • 2019-03-17 发布于江苏
  • 举报

微机原理:EM8086使用及指令系统熟悉.docx

[公司名称] 实验一 EMU8086使用及指令系统熟悉 微机原理上机实验 [日期] 一、实验要求 1.熟悉并掌握EMU8086 汇编语言调试环境; 2.学习8086的指令系统,输入简单的指令,观察各寄存器、内存相关单元以及处理器标志位的变化(数据传送类指令,算数运算类指令,逻辑运算类指令,标志处理和CPU控制类指令,移位和循环移位类指令,处理器控制类指令等,要求每类指令至少一个用例。具体用例自行设计,可参考教材用例); 3.学习汇编语言程序设计的基本步骤和方法; 4.学会使用EMU8086 debug调试程序; 5.编写一个简单的程序:将“This is my first ASM program-姓名(汉语拼音各人的姓名)”放在DS=1000H,BX=0000H开始的存储器单元中,然后将该内容搬移到BX=0100H开始的单元中,最后将该字符串通过DOS功能调用显示在屏幕上。 二、实验目的 1.学习EMU8086仿真开发环境的使用,理解和掌握汇编语言编程的基本步骤; 2.熟悉8086指令系统; 3.熟悉变量、常量及伪指令的使用; 4.熟悉内存单元的存储结构,字符串的处理以及简单的编程。 三、实验过程(调试分析) 3.1熟悉并掌握EMU8086汇编调试环境 此为EMU8086新建汇编源程序的界面,对应有四种模板可以挑选: ①COM——无需分段,所有内容均放在代码段中,程序代码默认从ORG 0100H开始 ②EXE——需要分段,内容按代码段、数据段、堆栈段划分,编译器自动完成空间的分配 ③BIN——二进制文件,适用于所有用户定义的结构类型 ④BOOT——适用于在软盘中创建的文件 ⑤empty workspace可以创建空的文档 此为一个EXE的模板 3.2测试几类简单的指令 3.2.1数据传送指令 ①测试一 name test mov org 100h MOV AX, 1234H MOV BH, 12H MOV BL, 34H MOV CX, 12 MOV DX, CX MOV SP, AX ②测试二 name test mov2 org 100h MOV AX, 2000H MOV DS, AX MOV [1000H], A MOV [1001H], B MOV SI, 1000H MOV AX, [SI] HLT 3.2.2算数运算指令 计算a*b+c-18 其中a=34H, b=56H, c=0E7H data segment DAT1 DB 34H DAT2 DB 56H DAT3 DB 0E7H DATY DW ? ends stack segment dw 128 dup(0) ends code segment start: ASSUME DS:DATA, SS:STACK, CS:CODE MOV AX, STACK MOV SS, AX MOV AX, DATA MOV DS, AX MOV AL, DAT1 MOV BL, DAT2 IMUL BL MOV BX, AX MOV AL, DAT3 CBW ADD AX, BX SUB AX, 18 MOV DATY, AX ends end start 3.2.3逻辑运算指令 通过单步调试可以追踪到每一条指令执行所产生的效果,此处指放出最后结果的截图 name test logic operation org 100h MOV AX, 45FCH MOV BX, 0034H AND AL, 0FH OR BX, 000FH XOR AH, 0FH NOT BH HLT 3.2.4标志处理和CPU控制类指令 name test control and flags org 100h CLC;0--CF CMC;^CF--CF STD;1--DF CLI;0--IF NOP NOP;blank HLT;pause 3.2.5循环和移位类指令 name test circle replacement org 100h MOV BL, STC;1--CF MOV CL, 3 RCR BL, CL HLT 算数移位三次后结果应该为 BL=AEH 3.3编写一个简单的程序实现字符串的储存、搬移和显示 ①不分段,仅使用代码代码段,使用逐个字符存入 name FIRST PROGRAM org 100h ; set segment register: MOV AX, 1000H MOV DS, AX MOV BX, 0000H ; print This

文档评论(0)

1亿VIP精品文档

相关文档