实验二--数字处理程序(一)

微机原理实验(报告)

题 目 实验二 学 院 信息工程 专 业 信息工程 学 号 姓 名 指导教师 乐金松

(2016年4月17日)

实验二 数据处理程序(一)

实验目的:

1、进一步学习、掌握汇编程序调试方法

2、弄清子程序调用和返回过程

3、通过实验调试乘法、除法程序,弄清多字节乘除法程序的基本算法和

程序设计方法

实验内容:

1、源程序的编辑

2、源程序的剪辑、编译、链接

3、汇编程序调试,完成相关数据的记录和分析

实验步骤:

一、 程序剪辑和编辑

1、下面是一段主程序模板,请将L8086软件包中的乘法和除法程序的主体部分拷贝粘贴在指定的位置,以MAIN.ASM文件名保存 ;------------------------------------------------------------------------- STACK SEGMENT STACK 'STACK' DB 1024 DUP (0) STACK ENDS

;---------------------------------------------------------------------------- ;define data segment

DATA SEGMENT

;------------------------------------------- ;地址分配

R0 DW (?)

;0000H ;0002H ;0004H ;0006H ;0008H ;000AH

R1 DW (?) R2 DW (?) R3 DW (?) R4 DW (?) R5 DW (?)

R6 DW (?)

R7 DW (?)

;000CH ;000EH

;----------------------------------------------------------------------------------

X DD 12345678H Y DD 87654321H Z DD 55555555H

;0010H~003H ;0014H~0017H ;0018H~001BH

;------------------------------------------------------------------------------------ buffer0 DB (?) buffer1 DB (?) buffer2 DB (?) buffer3 DB (?) buffer4 DB (?) buffer5 DB (?) buffer6 DB (?) buffer7 DB (?)

;---------------------------------------------------- DATA ENDS

;--------------------------------------------------------- ;define code segment

PROGRAM SEGMENT

ASSUME CS:PROGRAM, DS:DATA, SS:STACK

;001CH

;******************************************************* MAIN PROC FAR

START: PUSH DS ;return DOS standard program MOV AX,0 PUSH AX

MOV AX,DATA ;set DS MOV DS,AX

;--------------主循环程序------------------------------------------- DO_WAIT:

; ; ;

CALL BMUL CALL BDIV CALL KEY_SCAN CALL BCTD CALL DELAY JMP

DO_WAIT

RET MAIN ENDP

;----------------以下为过程子程序------------------------------------

;===============R2R3*R6R7=R4R5R6R7================== BMUL

PROC NEAR ;… … ENDP

BMUL

;------------R4R5R6R7/R2R3=R6R7-------------------- BDIV

PROC NEAR ;… … ENDP

BDIV

;---------------二翻十程序-------------------------------- BCTD

PROC NEAR RET ENDP

BCTD

;-----------------软件延时---------------------------------- DELAY

PROC NEAR RET ENDP

DELAY

;-------------------键盘扫描-------------------------------- KEY_SCAN

PROC NEAR

RET ENDP

KEY_SCAN

;------------------------------------------------------------ PROGRAM ENDS

END START

;---------------------------------------------------------------------------------------2、将程序编译连接成可执行文件。

二、 程序载入

1、用DEBUG命令将程序载入到内存 2、用反汇编U命令观察和记录以下信息:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4