东华大学微机实验报告答案(软件)

2020-02-21 12:49

目 录

实验一 DEBUG的启动及其基本命令的使用 实验二 内存操作数及寻址方法 实验三 汇编语言程序的调试与运行 实验四 查表程序设计 实验五 系统功能调用 实验六 分支程序设计 实验七 循环程序设计 实验八 子程序设计 实验九 综合程序设计 实验心得体会 参考文献

实验一 DEBUG的启动及其基本命令的使用

源程序:(指导书中给出)

DATA SEGMENT

STRING1 DB 'Move the cursor backward' STRING2 DB 'Move the cursor backward' MESS1 DB 'Match.',13,10,'$' MESS2 DB 'No Match.',13,10,'$' DATA ENDS

STACK SEGMENT STACK DB 40 DUP (?) STACK ENDS

PROGNAM SEGMENT

ASSUME CS:PROGNAM,DS:DATA,ES:DATA,SS:STACK

MAIN PROC FAR START: PUSH DS XOR AX,AX PUSH AX

MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX

LEA SI,STRING1 LEA DI,STRING2 CLD

MOV CX,25 REPZ CMPSB JZ MATCH

LEA DX,MESS2 JMP SHORT DISP MATCH: LEA DX,MESS1 DISP: MOV AH,09h INT 21H RET

MAIN ENDP PROGNAM ENDS END START

运行结果:

用DEBUG调试将输出字符串改为‘No Match’

用E指令修改“backward”为“forward”

再次用d命令查看修改结果。

用g命令运行程序

实验二 内存操作数及寻址方法

1、(1)程序说明:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用字处理程序编辑程序。

(2)调试说明:对SP的地址分配不到2000,计算机自动分配为0000,此时我就人为的把堆栈的首地址定义为2000。 (3)写出源程序清单和执行结果:

源程序:

STACK SEGMENT STACK DW 100 DUP(0) STACK ENDS CODE SEGMENT

ASSUME SS:STACK,CS:CODE START:MOV AX,3000H MOV BX,5000H MOV SP,2000H

PUSH AX ;将AX中的内容压栈 MOV AX,BX ;BX中的内容给AX POP BX

MOV AH,4CH INT 21H CODE ENDS

END START

用debug调试结果:

2、程序说明:用masm和link 对以下程序进行汇编和连接,调试程序在DEBUG调试程序状态下进行。用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

源程序:

DATA SEGMENT ORG 0300H

A DB 12H,23H,34H,45H,56H,67H,78H,89H,9AH DATA ENDS

PROGNAM SEGMENT

ASSUME CS:PROGNAM,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,0300H

MOV AX,0300H ;立即数寻址

MOV AX,[0300H] ;存储器寻址方式中的直接寻址方式 MOV AX,[BX] ;寄存器间接寻址 MOV SI,2

MOV AX,0001[BX] ;基址寻址 MOV AX,[BX][SI] ;基址加变址

MOV AX,0001[BX][SI] ;带偏移量的基址加变址 MOV AH,4CH INT 21H PROGNAM ENDS END START

用debug调试结果:


东华大学微机实验报告答案(软件).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2022年中国粉丝经济市场发展态势及未来前景分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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