北京工业大学微机原理实验报告2

微机原理实验报告

—实验二 熟悉汇编程序建立

及其调试方法

姓名: 学号:

一、 实验目的

1、熟悉汇编语言源程序的框架结构,学会编制汇程序。 2、熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、 实验内容

1、学习编写汇编语言源程序的方法,了解数据存放格式。 2、阅读给出的程序,找出程序中的错误。

3、通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、 实验预习

1、阅读实验指导第一章的内容,了解汇编语言程序建立、汇编、链接、调试的全过程。

2、下面的汇编语言源程序有错误的,试给程序加注释。通过调试手段找出程序中的错误并修改之。写出程序的功能,画出程序流程图。 (1)程序修改前:

STACKSG: SEGMENT PARA STACK ‘STACK’ ;不能有冒号 DB 256 DUP(?) STACKSG ENDS

DATASG: SEGMENT PARA ‘DATA’ ;不能有冒号 BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ? DATASG ENDS

CODESG: SEGMENT ;不能有冒号 ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100H

BEGIN MOV DS, DATASG ;BEGIN: 应改为 MOV AX , DATASG

MOV DS, AX

LEA SI ,BLOCK

MOV CX, COUNT DEC CX

MOV AX , [SI] CHKMAX ADD SI,2 ;应加冒号CHKMAX: CMP [SI] , AX JLE NEXT MOV AX , [SI]

DEC CX ;删除 NEXT: LOOP CHKMAX MOV MAX ,AX MOV AH, 4CH INT 21H CODESG ENDS

END BEGIN

(2)程序修改后:

STACKSG SEGMENT PARA STACK ‘STACK’ DB 256 DUP(?) STACKSG ENDS

DATASG SEGMENT PARA ‘DATA’ BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ? DATASG ENDS

CODESG SEGMENT ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100H

BEGIN MOV AX , DATASG MOV DS, AX LEA SI ,BLOCK MOV CX, COUNT DEC CX

MOV AX , [SI] CHKMAX: ADD SI,2 CMP [SI] , AX JLE NEXT

MOV AX , [SI] NEXT: LOOP CHKMAX MOV MAX ,AX MOV AH, 4CH

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