微机原理课程设计素材.docVIP

  • 3
  • 0
  • 约1.45万字
  • 约 20页
  • 2018-08-30 发布于贵州
  • 举报
微机原理课程设计素材

微机原理上机实验报告 HYPERLINK /blog/ \l m=0t=1c=fks_ 学习资料 2007-01-24 16:40:04 阅读2062 评论1 字号:大中小 ★ 实验目的 1.? 熟练掌握汇编语言程序设计的方法及上机步骤。 2.? 掌握算术运算中,十进制数调整指令的应用。 3.? 掌握子程序的设计方法。 4.? 掌握DOS功能的调用方法。 ★ 实验仪器 586微机 1台 ★ 实验内容及程序 1.编写求十进制数与之和的程序,并将和以十进制数的形式送屏幕显示。 编程要求与提示: [1] 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。 [2] 和以压缩十进制数的形式存入SUM以下单元。 [3] 将和送到屏幕显示部分功能的实现采用子程序的形式。 [4] 实验步骤如下: a. 用全屏幕编辑软件建立源程序。 b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。 c. 用link.exe连接程序对目标程序进行连接形成可执行文件。 d. 用DEBUG对连接通过的可执行程序进行调试。 流程图: 见图 1 程序如下: STACK SEGMENT STACK STACK DW 100H DUP(?) STACK ENDS DATA SEGMENT ADD1 DD H ;加数以组合十进制形式存放在双字单元 ADD2 DD H SUM DD ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SI,ADD1 LEA DI,ADD2 LEA BX,SUM MOV AL,[SI] ADD AL,[DI] ;最低位的一个字节相加 DAA ;加法组合BCD码调整 MOV [BX],AL ;结果存放在SUM第一个字节 MOV AL,[SI+1] ;第二个字节相加 ADC AL,[DI+1] DAA MOV [BX+1],AL MOV AL,[SI+2] ADC AL,[DI+2] DAA MOV [BX+2],AL MOV AL,[SI+3] ADC AL,[DI+3] DAA MOV [BX+3],AL MOV DL,00 ;最高位字节有进位则显示01 ADC DL,00 CALL DISPSUM MOV AH,4CH ;返回DOS INT 21H DISPSUM PROC NEAR ;结果显示子程序 PUSH AX PUSH BX PUSH CX PUSH SI MOV SI ,4 PUSH DX MOV CX,5 LAB: PUSH CX PUSH BX MOV AL,DL MOV BL,DL MOV CL,4 ;显示高位字节 SHR AL,CL ADD AL,30H MOV AH,02 MOV DL,AL INT 21H ;显示一位字符 AND BL,0FH ;显示低位字节 ADD BL,30H MOV AH,02 MOV DL,BL INT 21H POP BX POP CX DEC SI MOV DL,[BX][SI] ;结果显示 LOOP LAB POP DX POP SI POP CX POP BX

文档评论(0)

1亿VIP精品文档

相关文档