微机原理研讨-汇编语言及其程序设计

时间:2026-01-16

北京交通大学-微机原理研讨-汇编语言及其程序设计

研究性学习报告

——汇编语言及其程序设计

目录

北京交通大学-微机原理研讨-汇编语言及其程序设计

题目一 .............................................................................................................................................. 2

题目分析: ............................................................................................................................... 3 程序设计: ............................................................................................................................... 3 程序调试: ............................................................................................................................... 4 题目二 .............................................................................................................................................. 6

题目分析: ............................................................................................................................... 6 程序设计: ............................................................................................................................... 7 程序调试: ............................................................................................................................... 8 题目三 ............................................................................................................................................ 10

题目分析: ............................................................................................................................. 10 程序设计: ............................................................................................................................. 11 程序调试: ............................................................................................................................. 12 题目四 ............................................................................................................................................ 13

题目分析: ............................................................................................................................. 13 程序设计 ................................................................................................................................. 14 程序调试: ............................................................................................................................. 15

题目一

18.编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。

北京交通大学-微机原理研讨-汇编语言及其程序设计

题目分析:

在数据段中定义两个数组,第一个为MBUF,用于存放题目要求的5个数,另一个为NBUF,用于反序存放MBUF中的数。主要利用数据传送指令MOV实现该功能,设计程序流程框图如下

程序设计:

DATA SEGMENT MBUF DW 1,2,3,4,5 NBUF DW 5DUP(?) DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

北京交通大学-微机原理研讨-汇编语言及其程序设计

MOV DS,AX MOV SI,OFFSET MBUF MOV DI,OFFSET NBUF MOV CX,4 ADD SI,8

LOP: MOV AX,[SI] MOV [DI],AX DEC SI DEC SI INC DI INC DI LOOP LOP MOV AH,4CH INT 21H CODE ENDS END START

程序调试:

1、 汇编结果

2、 链接结果

3、 TD调试结果

北京交通大学-微机原理研讨-汇编语言及其程序设计

根据运行结果可以看到,数据段中从起始位置开始存放的字分别为1、2、3、4、5,程序运行后,之后的数据段,即NBUF,分别存放的字为5、4、3、2、1,程序运行结果正确。

北京交通大学-微机原理研讨-汇编语言及其程序设计

题目二

20.编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数。

题目分析:

该题的重点是区分数据块中所存数据的正负,即使其和0比较,大于零则为正数,存入数据段相应位置,并将记录正数个数的变量加一;负数同理,最后利用字符显示功能,将存放正负数个数的变量显示在屏幕上,但需要注意的是,这两个变量中存放的为16进制数,如果直接输出,则显示的是其所对应的ASKⅡ码,所以需要转换为相应的数字。程序设计框图如下:

北京交通大学-微机原理研讨-汇编语言及其程序设计

程序设计:

DATA SEGMENT ;定义代码段 BUF DB 1,2,-3,-4,-5,6,7,8,-9,10

COUNT EQU $-BUF ;将BUF中数据的个数送入COUNT ZHENG DB ? ;存放正数的个数 FU DB ? ;存放负数的个数 ORG 0010H

D1 DB 8 DUP(?) ;正数存放单元 D2 DB 8 DUP(?) ;负数存放单元 DATA ENDS

STACK1 SEGMENT STACK DW 100 DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START:

MOV AX,DATA MOV DS,AX

MOV BX,OFFSET BUF MOV CX,COUNT MOV ZHENG,0 MOV FU,0

MOV SI,OFFSET D1 ;正数存放单元的首地址送SI MOV DI,OFFSET D2 ;负数存放单元的首地址送DI LOP: MOV AL,[BX]

CMP AL,0 ;比较[BX]和零

JGE LOP1 ;大于零跳转到LOP1 JLE LOP2 ;小于零跳转到LOP2 LOP1:INC ZHENG MOV AL,[BX] MOV [SI],AL

INC SI ;指向下一个数据 INC BX DEC CX JNZ LOP JMP OK LOP2:INC FU

MOV AL,[BX] MOV [DI],AL INC DI INC BX …… 此处隐藏:4432字,全部文档内容请下载后查看。喜欢就下载吧 ……

微机原理研讨-汇编语言及其程序设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219