北京工业大学微机原理和c语言,北京工业大学 微机原理 实验二 熟悉汇编程序建立及其调试方式 实验报告.docx...

北京工业大学 微机原理 实验二 熟悉汇编程序建立及其调试方式 实验报告

微机原理实验报告——实验二 熟悉汇编程序建立及其调试方式姓名:学号:实验目的熟悉汇编语言源程序的框架结构,学会编制汇编程序。熟悉汇编语言上机操作的过程,学会汇编程序调试方法。实验内容学习编写汇编语言源程序的方法,了解数据存放格式。阅读给出的程序,找出程序中的错误。通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。修改后的程序:STACKSG: SEGMENT PARA STACK ‘STACK’;不能有冒号DB 256 DUP(?) STACKSG ENDSDATASG: 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,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG: SEGMENT ;不能有冒号 ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100HBEGIN 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 21HCODESG ENDS END BEGIN程序注解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;定义变量BLOCK包含20个字COUNT EQU 20;COUNT=20MAX DW ?;定义字变量MAX并不赋值DATASG ENDSCODESG SEGMENT;代码段定义 ASSUME SS:STACKSG , CS:CODESG;说明STACKSG是堆栈段 ASSUME DS:DATASG;CODESG是代码段,DATASG是数据段 ORG 100HBEGIN: MOV AX, DATASG MOV DS, AX;DS指向DATASG LEA SI ,BLOCK;取BLOCK的有效地址给SI MOV CX, COUNT;CX=20 DEC CX;CX=CX-1 MOV AX , [SI];将DS:[SI]里的值送到AXCHKMAX : ADD SI, 2;SI=SI+2 CMP [SI] , AX;比较DS:[SI]与AX值的大小 JLE NEXT;如果DS:[SI]的值小于AX里的值,则跳转到NEXT MOV AX , [SI];将DS:[SI]的值送到AXNEXT: LOOP CHKMAX;循环CHKMAX MOV MAX ,AX;将AX的值送到变量MAX MOV AH, 4CH;结束 INT 21HCODESG ENDS END BEGIN(三)程序

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值