中国民航大学微机原理实验报告.docVIP

  • 3
  • 0
  • 约1.31万字
  • 约 16页
  • 2023-10-14 发布于湖北
  • 举报
中国民航大学《微机原理》实验报告 姓名:王鹏飞 学号:111142222 指导教师:谈娴茹 实验一 Debug命令及汇编指令和寻址的应用 实验目的: 掌握DEBUG的基本命令及其功能,学会用DEBUG调试程序; 掌握8086CPU的指令功能,体会寄存器的作用; 了解数据在内存的存放方式和内存操作数的几种寻址方式; 了解指令的执行过程。 实验内容: 1、设堆栈段指针SP=1000H,AX=4000H,BX=8000H;请编写一段程序将 AX 和BX的内容进行交换。要求:用三种不同的方法。 方法一: DATA SEGMENT BUF DB ? DATA ENDS STACK SEGMENT STACK DB 10 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,4000H MOV BX,8000H MOV CX,AX MOV AX,BX MOV BX,CX CODE ENDS END START 方法二: DATA SEGMENT BUF DB ? DATA ENDS STACK SEGMENT STACK DB 10 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,4000H MOV BX,8000H XCHG AX,BX CODE ENDS END START 方法三: DATA SEGMENT BUF DB ? DATA ENDS STACK SEGMENT STACK DB 10 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,4000H MOV BX,8000H PUSH AX PUSH BX POP AX POP BX CODE ENDS END START 2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址 间的区别。 MOV BX,1000H MOV AX,BX MOV AX,[BX] MOV AX,20[BX] 要求:在执行以上指令时,记下当时DS数据段的值,记下每条指令执行后的AX的结果。将以上指令的"BX"修改为DX执行指令,观察结果及结果产生的原因。 答:DS数据段的值为13D8H,MOV AX,BX 执行后AX的值为1000H,MOV AX,[BX] 执行后AX的值为3325H,MOV AX,20[BX] 执行后AX的值为14ABH。第一条指令是将1000H送入BX寄存器中,指令二是将BX中的值送入AX中,指令三是将存储器中地址为13D8H:1000H字单元内的值送入AX中,指令四是将存储器地址为13D8H:1020H字单元的值送入AX中。 3、已知有如下程序段: MOV AX,3421H MOV CL,4 在以上程序段的基础上,分别执行以下指令: ROL AX,CL ROR AX,CL SHL AX,CL SHR AX,CL SAR AX,CL RCL AX,CL RCR AX,CL 试在DEBUG下用A命令汇编以上程序段,用T命令跟踪,观察以下内容: 每条指令执行完后,AX寄存器的内容是什么? 每条指令执行完成后,进位、符号和零标志位的值有什么变化? 答:ROL AX,CL AX=4213H,CF=1,SF=0,ZF=0; ROR AX,CL AX=1342H,CF=0,SF=0,ZF=0; SHL AX,CL AX=3420H,CF=1,SF=0,ZF=0; SHR AX,CL AX=0342H,CF=0,SF=0,ZF=0; SAR AX,CL AX=0342H,CF=0,SF=0,ZF=0; RCL AX,CL AX=4213H,CF=1,SF=0,ZF=0; RCR AX,CL AX=3342H,CF=0,SF=0,ZF=0; 4、设有以下部分程序段: TABLE DW 10H,20H,30H,40H,50H ENTRY DW 4         .         .  

文档评论(0)

1亿VIP精品文档

相关文档