微机原理上机汇编语言程序

合集下载

微机原理与汇编语言第5章汇编语言程序设计

微机原理与汇编语言第5章汇编语言程序设计
(2) 约定段寄存器和段的关系(即物理段和逻辑 段的关系,使用一个或多个ASSUME语句实现)
(3) 装填段寄存器(只装填数据型段寄存器)
(4) 设置返回DOS的方法
例如:
MYDARA SEGMENT ……
MYDATA ENDS MYCODE SEGMENT
ASSUME CS:MYCODE,DS:MYDATA START:
无法正常连接
有算法错误
LINK .EXE文件
(1) 编辑程序
DOS 环境下用 EDIT 编辑器
WINDOWS 环境下用 记事本
(2)汇编源程序
宏汇编程序 MASM.EXE 或小汇编程序 汇编程序主要有以下功能:
① 检查源程序中语法错误,给出错误提示信息 ② 产生目标文件(.OBJ)、列表文件(.LST)及 交叉引用文件(.CRF) ③ 展开宏指令
end start
汇编后的目 标文件只有 208字节
汇编语言源程序的格式
例二 编程实现多字节加法,如 S=3B74AC60F8H+20D59E36C1H
DATA1
F8H 60H ACH 74H 3BH
……
被加数、和
DATA2
C1H 36H 9EH D5H 20H
加数
DATA SEGMENT
DATA1 DB 0F8H, 60H, 0ACH, 74H, 3BH
(3) 操作数
操作数即为操作的对象。在指令语句中,可能有 单操作数或双操作数,也可能无操作数或隐含操作数; 而在伪指令中可能有更多个操作数。当操作数不止一个 时,相互之间应该用逗号隔开。
可以作为操作数的有:常数、寄存器、标号、变量 和表达式等。
1) 常量:是指令在中出现的哪些固定值, 可以分为数值常数和字符串常数两类。

微机原理与接口技术汇编语言程序教案

微机原理与接口技术汇编语言程序教案

微机原理与接口技术汇编语言程序教案第一章:汇编语言概述1.1 汇编语言的概念让学生了解汇编语言的定义、特点和作用。

让学生掌握汇编语言的基本组成元素,如指令、寄存器、操作数等。

1.2 汇编语言的表示方法让学生了解汇编语言的指令格式和操作数表示方法。

让学生掌握汇编语言的助记符及其含义。

1.3 汇编语言与机器代码的关系让学生了解汇编语言与机器代码的转换过程。

让学生掌握汇编语言指令与机器代码之间的对应关系。

第二章:汇编语言的语法规则2.1 指令语句的语法结构让学生了解指令语句的构成,包括操作码、寄存器、操作数等。

让学生掌握不同类型指令的语法规则,如数据传输指令、算术运算指令等。

2.2 伪指令和宏指令让学生了解伪指令和宏指令的概念及其作用。

让学生掌握伪指令和宏指令的语法规则和使用方法。

2.3 汇编语言的程序结构让学生了解汇编语言程序的组成部分,如数据段、代码段、堆栈段等。

让学生掌握汇编语言程序的格式和编写规范。

第三章:汇编语言的编程技巧3.1 寄存器的使用让学生了解寄存器的作用和分类,如AX、BX、CX、DX等。

让学生掌握寄存器在汇编语言编程中的应用技巧。

3.2 数据传输指令让学生了解数据传输指令的用法,如MOV、PUSH、POP等。

让学生掌握数据传输指令在汇编语言编程中的应用技巧。

3.3 算术运算指令让学生了解算术运算指令的用法,如ADD、SUB、MUL、DIV等。

让学生掌握算术运算指令在汇编语言编程中的应用技巧。

第四章:汇编语言程序设计实例4.1 实例一:计算两个数的和让学生了解程序设计的基本步骤,如编写算法、选择寄存器等。

让学生掌握汇编语言编程的基本技巧,如数据传输、算术运算等。

4.2 实例二:排序算法(冒泡排序)让学生了解排序算法的原理和实现方法。

让学生掌握汇编语言编程中循环结构和条件判断的使用技巧。

4.3 实例三:字符串操作让学生了解字符串的基本操作,如字符串长度计算、字符串复制等。

让学生掌握汇编语言编程中字符串操作的相关指令和技巧。

微机原理与接口技术汇编语言程序教案

微机原理与接口技术汇编语言程序教案

微机原理与接口技术汇编语言程序教案第一章:汇编语言基础1.1 汇编语言简介汇编语言的定义与发展历程汇编语言与机器语言的关系汇编语言的优势与局限性1.2 汇编语言的组成指令、操作码和操作数寄存器、标志寄存器及指令集1.3 汇编语言的语法规则指令格式与操作数寻址方式指令间的符号命名规则数据声明与宏定义第二章:汇编语言编程步骤与实例2.1 汇编语言编程步骤分析需求、确定算法选择合适的寄存器和寻址方式编写汇编代码调试与优化2.2 汇编语言编程实例编写一个简单的加法程序实现一个字符串的逆序输出第三章:微机原理概述3.1 微机的硬件系统结构中央处理器(CPU)存储器输入输出设备3.2 微机的工作过程指令的获取、解码与执行数据的传输与处理3.3 微机的性能指标频率、缓存与内存容量处理速度与功耗第四章:接口技术基础4.1 接口的概念与分类硬件接口与软件接口并行接口与串行接口4.2 接口的技术参数数据宽度、传输速率与协议接口的电气特性与物理形态4.3 接口的设计与实现接口电路的设计方法接口芯片的选择与应用第五章:汇编语言与接口技术的结合5.1 汇编语言与接口编程汇编语言控制接口的方法接口指令与中断处理5.2 实例:汇编语言实现串口通信串口通信的基本原理编写汇编代码实现串口收发数据5.3 实例:汇编语言控制打印机打印机接口的原理与驱动方法编写汇编代码实现打印机控制第六章:汇编语言与中断系统6.1 中断系统概述中断的概念与分类中断处理程序的执行过程6.2 中断向量与中断服务程序中断向量的定义与寻址中断服务程序的编写与调用6.3 汇编语言中断指令与中断编程INT指令的使用方法非屏蔽中断与可屏蔽中断中断编程实例第七章:汇编语言与DMA传输7.1 DMA传输原理DMA的概念与作用DMA与CPU的协同工作方式7.2 DMA控制器与DMA编程DMA控制器的功能与接口DMA编程步骤与指令集7.3 汇编语言实现DMA传输编写DMA服务程序DMA传输过程的监控与调试第八章:汇编语言与A/D转换8.1 A/D转换原理A/D转换器的工作原理与性能指标A/D转换的过程与数据类型8.2 A/D转换器的接口与驱动A/D转换器的接口电路设计A/D转换器的驱动程序编写8.3 汇编语言实现A/D转换编写A/D转换服务程序A/D转换在实际应用中的实现第九章:汇编语言与I/O控制9.1 I/O控制概念与方法I/O控制的概念与分类I/O控制的编程方法与接口9.2 汇编语言I/O指令与编程I/O指令的使用方法与限制端口地址与I/O编程实例9.3 汇编语言实现I/O控制编写I/O服务程序I/O控制应用实例第十章:汇编语言程序设计实践10.1 汇编语言程序设计流程需求分析与算法设计寄存器分配与指令选择代码编写与调试10.2 汇编语言与操作系统应用汇编语言编写系统调用程序汇编语言实现进程管理与同步10.3 汇编语言与设备驱动程序开发设备驱动程序的概念与作用汇编语言编写设备驱动程序的方法与步骤10.4 综合实例:汇编语言实现一个小型的操作系统设计目标与功能需求主要模块与实现方法系统测试与优化第十一章:汇编语言与故障诊断计算机系统故障的类型与等级故障诊断的重要性与挑战11.2 汇编语言在故障诊断中的应用汇编语言诊断程序的特点与优势故障诊断程序的编写方法与步骤11.3 常见故障诊断实例处理器故障的诊断与处理存储器故障的诊断与处理输入输出设备故障的诊断与处理第十二章:汇编语言与性能分析12.1 性能分析的基本概念计算机系统性能的评价指标性能分析的方法与工具12.2 汇编语言程序的性能优化指令选择与优化数据访问与缓存利用程序结构的优化12.3 性能分析实例汇编语言程序性能分析的方法性能瓶颈的识别与改进策略第十三章:汇编语言与安全编程计算机系统安全的重要性常见安全威胁与防护措施13.2 汇编语言程序的安全性汇编语言程序的脆弱性安全编程的最佳实践13.3 安全编程实例汇编语言程序的漏洞分析安全漏洞的修复与防护措施第十四章:汇编语言与嵌入式系统14.1 嵌入式系统的基本概念嵌入式系统的定义与特点嵌入式系统的应用领域14.2 汇编语言在嵌入式系统中的应用嵌入式系统编程的特殊性汇编语言与硬件的紧密耦合14.3 嵌入式系统实例汇编语言编写嵌入式系统程序的方法嵌入式系统程序的调试与优化第十五章:汇编语言与现代计算机体系结构15.1 现代计算机体系结构的发展流水线技术、超标量和超流水线多核处理器与并行计算15.2 汇编语言与现代计算机体系结构的适配汇编语言在多核处理器上的编程汇编语言与向量处理器的接口15.3 现代计算机体系结构下的汇编语言编程汇编语言程序在现代计算机上的优化面向现代计算机体系结构的汇编语言编程实例重点和难点解析本文主要介绍了汇编语言程序设计、微机原理与接口技术的相关知识。

微机原理实验汇编程序上机过程

微机原理实验汇编程序上机过程

第一节汇编程序的开发过程本节主要介绍了汇编语言源程序的编辑、汇编、连接的方法,DEBUG调试命令及其使用方法。

一、简介汇编语言源程序:用汇编语句编写的解决应用问题的程序。

汇编程序:将汇编语言源程序翻译成机器语言程序的系统。

汇编:将汇编语言程序翻译成机器语言程序的过程。

在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。

(1)编辑软件行编辑软件:全屏编辑软件:WPS、、、WORD、PE等。

当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。

(2)汇编程序有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。

TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。

(3)连接程序用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。

(4)辅助工具程序(.EXE)进行汇编语言程序调试和文件格式转换的程序有: 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序编辑、汇编、连接、调试过程如下图所示。

TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。

二、汇编源程序用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ文件。

为此,需键入:C:>MASM <源文件名>↘或C:>MASM↘按前一种格式键入,屏幕上显示:Microsoft(R) Macro assemble Version 5.00Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reservedOBJ filename[<file>.obj]:Source listing[nul.lst]:Cross-reference[nul.crf]:以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。

微机原理上机 汇编语言程序

微机原理上机  汇编语言程序

上机作业四一.实验目的1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法.2.熟练掌握常用功能的调用方法.二.试验仪器586微机一台三.实验内容编写如下程序,并在机器上调试成功。

程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为:(1)按下“1”键,完成字符串小写字母变成大写字母。

用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。

用户按任一键,重做,按键,返回主菜单。

(2)按下“2”键,完成找最大值(二选一)。

a.接收用户输入的可显示字符串(以回车结束),程序将其中码值最大的字符显示出来;b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按键,返回主菜单。

(3)按下“3”键,完成排序(二选一)。

a.接收用户输入的可显示字符串,以回车结束。

程序按码值大小由大到小排序并输出显示;b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按键,返回主菜单。

(4)按下“4”键,显示时间。

首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为:(时): (分): (秒)最好定点显示。

用户按任一键,重新对时,按键,返回主菜单。

(5)按下“5”键,结束程序运行,返回系统提示符。

四.程序代码256 (?)G1, G2, G3, G4, G51 '1. ;', 0, 0, '$'2 '2. ;', 0, 0, '$'3 '3. ;', 0, 0, '$'4 '4. ;', 0, 0, '$'5 '5. .', 0, 0, '$'' (1-5) : $'' ( & , 60 ) :', 0, 0, '$'' : $'' : $'' $'' $'' (0 - 255, 20 ) : ', 0, 0, '$'' : ', 0, 0, '$'' () : $'' , ; !$'61?61 (?)?20 (?), ,:,,,,,: ; 设置显示器:, 2, 0 ; 页号, 41 ; 列号, 10 ; 行号10H ; 光标位置设置, 121HAL, '1'AL, '5'AL, '1' ; 1, 1 ; (1)*2; >,,[]G1:, 821HAL, 1MAING1G2:, 821HAL, 1MAING2G3:, 821HAL, 1MAING3G4:, 821HAL, 1MAING4G5:, 421H; 显示主界面;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 光标位置设置, 921H, 2, 5 ; 列号, 6 ; 行号10H ; 光标位置设置, 9, 221H, 2, 5 ; 列号, 7 ; 行号10H ; 光标位置设置, 9, 321H, 2, 5 ; 列号, 8 ; 行号10H ; 光标位置设置, 9, 421H, 2, 5 ; 列号, 9 ; 行号10H ; 光标位置设置, 9, 521H, 2, 5 ; 列号, 10 ; 行号10H ; 光标位置设置, 9,21H; 将输入字符串中小写字母便换成大写字母:;设置显示器方式, 0AL, 310H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H ; 输入字符串提示, 2, 5 ; 列号, 6 ; 行号10H ; 输入字符串光标位置设置, 0,21H ; 输入字符串+ 1, 0; 判断输入字符串是否为空串, + 2, + 1,,[], '$' ; 在输入字符串尾加结束标志$, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 源字符串提示光标位置设置, 9,21H ; 输出源字符串提示, 9, + 221H ; 输出源字符串, + 2:[], 61H[], 0:; 将字符串中小写字母转换成大写字母, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 新字符串提示光标位置设置, 9,21H ; 输出新字符串提示, 9, + 221H ; 输出新字符串, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 在输入字符串中找出最大值:;设置显示器方式, 0AL, 3, 010H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H ; 输入字符串提示, 2, 5 ; 列号, 6 ; 行号10H ; 输入字符串光标位置设置, 0,21H ; 输入字符串+ 1, 0; 判断输入字符串是否为空串, + 2, + 1,,[], '$' ; 在输入字符串位加结束标志$, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 源字符串提示光标位置设置, 9,21H ; 输出字符串提示, 9, + 221H ; 输出字符串, 2, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 新字符串提示光标位置设置, 9,21H ; 输出字符串中最大值提示, 0, + 2:[],, []:; 找出字符串中最大字符,放入, 221H ; 输出字符串中最大字符, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 对输入数据组排序:;设置显示器方式, 0AL, 3, 010H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H, 2, 5 ; 列号, 6 ; 行号10H ; 输入数据组光标位置设置, 0,21H ; 输入数据组字符串; 字符串转换成数据串AL, 0; 判断数据串是否有错, 0; 判断数据串是否为空, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 输出提示光标位置设置, 9,21H ; 输出数据串提示, 2, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 输出数据组光标位置设置; 数据组排序; 数据组的输出, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 读入整型数; 入口参数:无; 出口参数为:(有无错误标志,0为有,1为无), + 1, + 2, 0 ; 数据组数据个数置0, 10, 0 ; 当前数据0, 0 ; 有无数据标志置0,即无数据:[], ' '; 判断当前字符是否为空格[], '0'[], '9'; 判断当前字符是否在'0'-'9'之间, 1 ; 有无数据标志置1,即有数据,, [],, '0' ; 计算出当前数据x, 0; 判断x是否越界:, 1; 判断是否有数据; 数据组数据个数加1, 0, 0 ; 清零:, 0; 依次检查各字符, 1; 判断是否有未加入的数据:, ; 置数据组数据个数, 1 ; 输入数据无错误:, 0 ; 输入数据有错误:; 增加新数; 入口参数:(数据组数据个数)、(当前数据x); 出口参数:无,,,[],; 数据组排序,, 1; 若只有一个元素,停止排序,, ; 指向数据组首地址, ; 指向数据组末地址; 外循环次数1: ; 外循环开始, 0 ; 交换标志置02: ; 内循环开始, [], [ - 1], [ - 1] ; 交换操作[],, 1 ; 交换标志置1:LOOP 2, 1; 判断交换标志LOOP 1; 输出数据组,,, 10H, + 1:, [], 2, ' '21HLOOP; 将十进制数以十六进制输出; 入口参数:(待转换的数据),(转换进制数16); 出口参数:无, 0, 10, 7,AL, 0:, 221H; 设定并显示时间;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 6 ; 行号10H ; 设置提示光标位置设置, 9,21H ; 时间串提示, 0,21H ; 输入时间串, 10, + 2AL, '0', + 3AL, '0'AL, 0AL, 24; 判断时有效性, AL, + 5, + 6AL, '0'AL, 0AL, 60; 判断分有效性,, + 8AL, '0', + 9AL, '0'AL, 0AL, 60; 判断秒有效性,, 0, 221H ; 置系统时间:; 显示时间子程序;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 10 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息1:, 2, 0 ; 页号, 72 ; 列号, 0 ; 行号10H ; 提示光标位置设置, 2 ; 取系统时间分别存放时/分/秒21H, ; 显示时, 2, ':'21H, ; 显示分, 2, ':'21H, ; 显示: 秒,02H ; 设置光标位置,090,010H,0018H: ,0 ; 延时: LOOP, 0 ; 或, 01H21H ; 16H, 0 ; 11 ; 检查键盘状态; 把中的数字以十进制输出; 入口参数:(待显示的数据); 出口参数:无, 10, '0',, '0', 2, AL21H,21H五.实验体会实验中遇到的问题以及解决方法:在这几次的编程实验中,我遇到了许多问题。

微机原理与接口技术_ 第7章 微型计算机汇编语言及汇编程序

微机原理与接口技术_ 第7章 微型计算机汇编语言及汇编程序

2.常用的系统功能调用:
(1)键盘输入单字符
这是1号系统功能调用,使用格式如下所示: MOV AH,1 INT 21H 它没有入口参数,执行1号系统功能调用时,系统等待键盘输入,待程序员按 下任何一键,系统先检查是否Ctrl-Break键,如果是则退出,否则将键入字 符的ASCII码置入AL寄存器中,并在屏幕上显示该字符。
9号系统功能调用的使用格式如下所示:
…… BUF DB ′good bye $′ …… MOV DX,OFFSET BUF MOV AH,9 INT 21H …… 执行9号系统功能调用时,将内存缓冲区BUF中存放的字 符串(以‚$‛字符为结束)送屏幕显示输出(或送打印 机打印输出)。
2.常用的系统功能调用: (5)无回显键盘输入单字符
汇编运算符的优先级:
见表7.2(见书第160页)所示。
7.2 伪指令
1.符号定义伪指令(赋值语句):
(1)<名字> EQU <表达式> (2)<名字> = <表达式> 该语句把表达式的值赋给符号名,在同一程序中,用EQU语句 赋值的符号名不能被重新赋值,但被‚=”赋值的符号名可以 被重新赋值。
7.2 伪指令
(5) 10字节定义伪指令 [名字]DT〈表达式或数据项表〉
3.段定义伪指令
存储器在逻辑上是分段的,各段的定义由伪指令实现。 格式:〈段名〉SEGMENT[定位方式][连接方式][‘类别 名’] … 〈段名〉ENDS 段定义伪指令为程序的汇编和连接说明了段名、分段的各种属性 以及分段的开始和结束。段名是自定义符,开始的段名与结束的 段名必须相同。段的长度不超过64KB。SEGMENT后面的参数是可 选项。
6.模块开始伪指令

微机原理与汇编语言实验指导书

微机原理与汇编语言实验指导书

实验一显示程序[实验目的]1.掌握汇编语言程序上机的实验过程2.掌握显示程序的基本设计方法。

[实验原理]汇编语言上机过程1、建立汇编源程序(建立文件名.asm)(1)通过MD-DOS自带的EDIT.EXE文本编辑器进行输入和其它的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。

2、编译目标文件(即:编译为.obj .lst .crf文件)将正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。

如果此时程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,可根据提示去逐一修改。

3、连接为可执行文件(即:连接为.exe 或.com文件)在DOS提示符下: LINK filename 回车4、运行编译好的可执行文件当4通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按你所想象那样得出结果。

在试运行期间,要尽量试一些临界状态,看程序是否运行稳定、结果是否正确,进行5。

5、用调试工具调试,重新修改(逻辑错误)用DOS中自带的调试程序DEBUG.EXE来进行程序调试、检查错误。

6.有关显示DOS基本命令1)单个字符显示命令将要显示的字符的ASCII码送给DL寄存器中断功能号2送AH寄存器,中断类型21H.如显示“3” MOV DL,33H 或 MOV DL, ‘3’如显示‘A’ MOV AH,‘A’MOV AH,2 MOV AH,2 MOV AH,2INT 21H INT 21H INT 21H 2)字符串显示命令将要显示的字符串所在存储区的首地址送给DX寄存器中断功能号9送AH寄存器,中断类型21H.如显示字符串“HELLO”存储区定义为 T DB“HELLO”,10,13,24H LEA DX,TMOV AH,9[实验方法及步骤] INT 21H1、编写实验程序。

2、编译。

3、运行(单步,跟踪),检查结果。

微机原理汇编语言的上机过程 实验报告

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序❖用文本编辑软件创建、编辑汇编源程序。

常用编辑工具有:、记事本、Word等。

❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

❖汇编过程如下:❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。

如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

❖如此进行,直至汇编无错误,得到目标文件为止。

3.连接❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。

汇编语言上机指导及例示(川大微机原理实验资料和内容以及MASM使用方法)

汇编语言上机指导及例示(川大微机原理实验资料和内容以及MASM使用方法)

汇编语言上机指导及例示、习题从如何建立源文件到进行调试作下简要的介绍,并配例题说明。

由于本人水平有限,在下文在如有错误及可以进一步修改的地方请大家指出汇编语言上机过程:一、上机前的软件准备:MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等)文本编辑器(如: , TURBO.EXE , TC.EXE , C.EXE 等)汇编程序(如:MASM.EXE , ASM.EXE 等)连接程序(如:LINK.EXE 等)调试程序(如:DEBUG.EXE 等)二、汇编程序建立过程:a.建立汇编源程序─通过───→b.编译为目标文件─↓┬─→d.连接为可执行文件↑│ c.不通过,重新修改(语句错误)↓├──────────────────────┘↓↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓└────────────────────────────←e运行↓正确g.完成三、现在对(二)的每一个标有字母的过程(PROCEDURE)进行详细说明PROCEDURE a:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。

将源程序代码录入计算机的方法很多,下面将介绍具体方法。

1.通过MD-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。

存盘后在DOS下可用DOS命令DIR来查看,如果看到了所存的文件存在,就可以进行进程b。

2.如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。

实验二 汇编语言程序上机过程及调试

实验二    汇编语言程序上机过程及调试

实验报告二课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名实验日期:2014 年 3 月10 日报告退发(订正、重做)一、实验目的学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。

二、实验内容1、学习使用全屏幕文本编辑软件EDIT。

用EDIT输入一段给定的源程序。

2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到EDIT进行修改。

3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE)4、在DOS提示符下运行该可执行文件。

[汇编语言程序的编写格式]汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。

任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。

段的定义有两种格式,分述如下:1,完整的段定义格式:一个段由段头,段体,段尾组成,形式如下:段名SEGMENT[定位类型][组合类型][‘类别’]……段名ENDS其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。

2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下:DOSSEG.MODEL 存储类型;“存储类型”可选择为SMALL。

.STACK[大小];堆栈段,“大小”指定堆栈的字节数。

.DATA;数据段。

.CODE[名字];代码段;一般只有一个代码段,名字可缺少……例1:用完整的段定义编写一源程序。

NAME EXAM1;可以省略DATA SEGMENT;定义数据段,以下是数据段的内容STR1 DB “HELLO,WELCOME!”,13,10,‘$’STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’STR3 DB “NICE!”,13,10,‘$’STR4 DB “SORRY!”,13,10,‘$’STR5 DB “UNKNOW,ANSWER AGAIN!(Y/N)”,DB 13,10,‘$’STR6 DB “SEE YOU NEXT TIME!”,13,10,‘$’DA TA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSUME CS:CODE;DS:DATA;以下是代码段内容START:MOV AX,DA TA;给数据段寄存器赋值MOV DS,AXMOV AH,9;显示一字符串的功能号MOV DX,OFFSET STR1;显示字符串STR1的偏址INT 21H;DOS功能调用ASK :MOV DX,OFFFSET STR2;显示字符串STR2INT 21HMOV AH,1;键盘输入一字符的功能号INT 21H;键入的字符ASCⅡ码在ALNOT AL;求反TEST AL,‘Y’;是否按下‘Y’或‘y’键JE NEXT1TEST AL,‘y’JE NEXT1TEST AL,‘N’;是否按下‘N’键或‘y’键JE NEXT2TEST AL, ‘n’JE NEXT2MOV DX,OFFSET STR5;不是按上述键MOV AH,9INT 21HJMP ASK;再返回ASKNEXT1:MOV DX,OFFSET STR3;是按下‘Y’或‘y’键MOV AH,9INT 21HJMP BYENEXT2:MOV DX,OFFSET STR4;是按下‘N’或‘n’键MOV AH,9INT 21HBYE:MOV DX,OFFSET STR6INT 21HMOV DL,7;喇叭响的ASCⅡ码MOV AH,2INT 21HMOV AH,4CH;退回DOSINT 21HCODE ENDS;代码段结束END START;源程序结束注:源程序中的每一行注释语句前一定要加分号‘;’,下同。

微机原理汇编实验-汇编语言程序上机操作方法实验

微机原理汇编实验-汇编语言程序上机操作方法实验

学生实验报告实验课程名称:微机原理汇编实验开课实验室:年月日年级、专业、班学号姓名成绩实验项目名称汇编语言程序上机操作方法实验指导教师教师评语一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。

二、实验原理使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。

三、实验仪器、材料1.软件MASM5.02.PC微机一台四、实验步骤1.建立asm文件在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。

注意保存的源文件以asm为后缀。

2.用汇编程序MASM对源文件汇编产生目标程序.OBJ。

3.用连接程序LINK产生可执行文件.EXE。

4.执行程序。

5.程序调试五、实验源代码;------------------------------------------------- ;程序名:Lab101;功能:把NUM数组中的最大值取出并显示输出;-------------------------------------------------DATA SEGMENTNUM DB 12,52,36,14,25,32,14,126 COUNT EQU ($-NUM)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX,COUNT ;初始化循环次数MOV SI,OFFSET NUMMOV AL,[SI]MOV DL,ALINC SIAGAIN:MOV AL,[SI]INC SICMP DL,ALJL SWAPLOOP AGAINJMP FINISHSWAP:MOV DL,ALLOOP AGAINJMP FINISH;--------------------------------;子程序名:TRANNUM;功能:将数字转换为字符串;入口参数:AL;出口参数:无;--------------------------------TRANNUM PROC NEARMOV AL,DLXOR AH,AHMOV CX,3MOV DL,10TRAN1:DIV DLXCHG AH,ALADD AL,'0'PUSH AXXCHG AH,ALMOV AH,0LOOP TRAN1MOV CX,3TRAN2:POP DXCALL DISPLAYLOOP TRAN2RETTRANNUM ENDP;--------------------------------;子程序名:DISPLAY;功能:将单个字符显示输出;入口参数:DL;出口参数:无;--------------------------------DISPLAY PROC NEARMOV AH,02HINT 21HRETDISPLAY ENDPFINISH:CALL TRANNUMMOV AH,4CH ;程序结束返回DOSINT 21HMAIN ENDPCODE ENDSEND START六、实验过程原始记录(数据图表、计算等)1、打开命令提示符:输入cmd2、输入:cd G:/asm/tos3、输入:G:4、输入:masm lab1015、输入:link lab1016、输入:lab101七、实验结果分析从程序代码分析,所给数值中最大值为126,运行程序后输出结果为126,说明程序能够实现其功能。

微机原理汇编语言的上机过程 实验报告

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序用文本编辑软件创建、编辑汇编源程序。

常用编辑工具有:、记事本、Word等。

无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

汇编过程如下:在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。

如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

如此进行,直至汇编无错误,得到目标文件为止。

3.连接汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。

微机原理与汇编语言程序设计实验一

微机原理与汇编语言程序设计实验一

实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、实验内容1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSSTACK SEGMENT STACK ’STACK’STA DB 10 DUP(?)TOP EQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.AS M程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

微机原理80868088汇编语言上机基本操作指

微机原理80868088汇编语言上机基本操作指

8086/8088汇编语言,是在DOS环境下运行的编程语言,汇编语言是针对8086/8088 CPU的,凡兼容80X86指令系统的CPU ,都可以正常运行调试。

如目前使用的Windows 2000 / Windows 2003 / Windows XP等系统下都可以编辑、调试汇编语言程序。

一、进入编辑调试环境1.开始→运行,在运行框输入CMD而后回车,即进入DOS环境。

2.开始→程序→附件→C:命令提示符,也可进入DOS 环境。

二、使用到的软件程序1.源程序编辑软件:EDIT.EXE,也可用其他任意编辑软件,如Windows 环境下记事本,但最后扩展名要改为.ASM,否则无法汇编。

2.汇编程序(MASM.EXE或TASM.EXE),将编辑好的.ASM源程序汇编成目标文件.OBJ。

OBJ是程序编译后的二进制文件,在通过链接器和资源文件链接就成exe文件,OBJ只给出了程序的相对地址,而EXE是绝对地址。

3.连接程序(LINK.EXE或TLINK.EXE),LINK又称链接器,把一个或多个目标文件(.obj)链接成可执行(.exe)文件。

4.调试程序(DEBUG.EXE或TD.EXE),DEBUG,俗称“抓臭虫”,DOS 系统有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。

要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段。

需要说明的是,EDIT、MASM、LINK、DEBUG是微软操作系统推出的汇编连接调试工具。

在一般教学上使用就足够了。

而TASM、TLINK、TD是Borland公司推出的。

到目前为止,TASM的最后一个版本是5.0版,这个版本支持WIN32编程,并单独为WIN32编程附带有一整套32位程序:32位的编译器TASM32.EXE、连接器TLINK32.EXE和资源编译器BRC32.EXE。

微型计算机原理-第5章(2)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第5章(2)微机原理与接口技术(第三版)(王忠民)

DS、
INT
ES
数2…0据H
PSP(256 字节)
附段加
CSS:SPSIP定义了代 堆段段段堆码栈栈段的用程用序户
户程序装入情况
第5章 汇编语言程序设计
DSEG SEGMENT STRING1 DB 1,2,3,4,5
DSEG ENDS ESEG SEGMENT
STRING2 DB 5 DUP(?) ESEG ENDS SSEG SEGMENT
CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备
上机过程
第5章 汇编语言程序设计
编辑程序 编辑
汇编程序 汇编
连接程序 连接
手写程序
EDIT .ASM文件
MASM .OBJ文件
LINK .EXE文件
有语法错误 无法正常连接 有算法错误
第5章 汇编语言程序设计
用户程序的装入
完成以下操作: 确定内存可用部分 以便存放要执行的 .exe 文
INC
BX
ADD AL,[BX]
MOV SUM,AL
RET
ENDP CODE END
MAIN
ENDS START
第5章 汇编语言程序设计 第二讲结束
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
STACK‘STACK’ DW 10 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG ASSUME ES:ESEG,SS:SSEG
START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX
LEA SI, STRING1

微机原理与应用实验报告-汇编语言程序设计

微机原理与应用实验报告-汇编语言程序设计

实验报告册课程名称:微机原理指导老师:班级:姓名:学号:学期:20 19 —20 20 学年第学期实验目录实验一:汇编语言程序设计实验二:实验三:实验四:实验五:实验六:姓名:成绩:实验一汇编语言程序设计一、实验目的1、学习8088汇编语言程序的基本结构和程序设计的基本方法。

2、熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的全过程。

3、掌握DEBUG基本指令及其使用方法。

二、实验内容编写程序,将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。

三、实验步骤1、进入编程环境,编写、汇编、链接、运行汇编语言源程序。

2、利用DEBUG指令,对程序进行调试。

四、实验程序实验代码如下:;将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。

DATAS SEGMENTDATA DB80H,81H,82H,83H,84H,85H,86H,87H,88H,89H,8AH,8BH,8CH,8DH,8EH,8FH;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV ES,AXMOV SI,OFFSET DATAMOV DI,1000HMOV CX,16CLDREP MOVSB;此处输入代码段代码HLTMOV AH,4CHINT 21HCODES ENDSEND START五、实验结果将80H-8FH送入1000H-1016H内存段的结果:3.实验小结进一步巩固了数据的一般传送以及体会到了数据块传送的便利之处,进一熟悉了MASM软件的操作和DEBUG命令的使用。

微机汇编实验五汇编语言程序上机过程

微机汇编实验五汇编语言程序上机过程

实验时间:2014年4月27日实验成绩评定:姓名:黄涛学号:2012311419实验五汇编语言程序上机过程实验目的:1、掌握常用工具软件EDIT,MASM和LINK的使用。

2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。

3、利用的1号功能实现键盘输入的方法。

4、用INT 21H 4C号功能返回系统的方法。

程序:data segmentmessage db 'This is a sample program of keyboard and disply' db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data endsstack segment para stack 'stack'db 50 dup(?)stack endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov dx,offset messagemov ah,9int 21hagain: mov ah,1int 21hcmp al,1bhje exitcmp al,61hjc ndcmp al,7ahja ndand al,11011111bnd: mov dl,almov ah,2int 21hjmp againexit: mov ah,4chint 21hcode endsend start实验步骤:1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。

2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

实际产生的文件:3、用TYPE命令显示1产生的.LST文件。

4、用LINK将.OBJ文件连接成可执行的.EXE文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上机作业四一.实验目的1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法.2.熟练掌握常用功能的调用方法.二.试验仪器586微机一台三.实验内容编写如下程序,并在机器上调试成功。

程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为:(1)按下“1”键,完成字符串小写字母变成大写字母。

用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。

用户按任一键,重做,按键,返回主菜单。

(2)按下“2”键,完成找最大值(二选一)。

a.接收用户输入的可显示字符串(以回车结束),程序将其中码值最大的字符显示出来;b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按键,返回主菜单。

(3)按下“3”键,完成排序(二选一)。

a.接收用户输入的可显示字符串,以回车结束。

程序按码值大小由大到小排序并输出显示;b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按键,返回主菜单。

(4)按下“4”键,显示时间。

首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为:(时): (分): (秒)最好定点显示。

用户按任一键,重新对时,按键,返回主菜单。

(5)按下“5”键,结束程序运行,返回系统提示符。

四.程序代码256 (?)G1, G2, G3, G4, G51 '1. ;', 0, 0, '$'2 '2. ;', 0, 0, '$'3 '3. ;', 0, 0, '$'4 '4. ;', 0, 0, '$'5 '5. .', 0, 0, '$'' (1-5) : $'' ( & , 60 ) :', 0, 0, '$'' : $'' : $'' $'' $'' (0 - 255, 20 ) : ', 0, 0, '$'' : ', 0, 0, '$'' () : $'' , ; !$'61?61 (?)?20 (?), ,:,,,,,: ; 设置显示器:, 2, 0 ; 页号, 41 ; 列号, 10 ; 行号10H ; 光标位置设置, 121HAL, '1'AL, '5'AL, '1' ; 1, 1 ; (1)*2; >,,[]G1:, 821HAL, 1MAING1G2:, 821HAL, 1MAING2G3:, 821HAL, 1MAING3G4:, 821HAL, 1MAING4G5:, 421H; 显示主界面;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 光标位置设置, 921H, 2, 5 ; 列号, 6 ; 行号10H ; 光标位置设置, 9, 221H, 2, 5 ; 列号, 7 ; 行号10H ; 光标位置设置, 9, 321H, 2, 5 ; 列号, 8 ; 行号10H ; 光标位置设置, 9, 421H, 2, 5 ; 列号, 9 ; 行号10H ; 光标位置设置, 9, 521H, 2, 5 ; 列号, 10 ; 行号10H ; 光标位置设置, 9,21H; 将输入字符串中小写字母便换成大写字母:;设置显示器方式, 0AL, 310H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H ; 输入字符串提示, 2, 5 ; 列号, 6 ; 行号10H ; 输入字符串光标位置设置, 0,21H ; 输入字符串+ 1, 0; 判断输入字符串是否为空串, + 2, + 1,,[], '$' ; 在输入字符串尾加结束标志$, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 源字符串提示光标位置设置, 9,21H ; 输出源字符串提示, 9, + 221H ; 输出源字符串, + 2:[], 61H[], 0:; 将字符串中小写字母转换成大写字母, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 新字符串提示光标位置设置, 9,21H ; 输出新字符串提示, 9, + 221H ; 输出新字符串, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 在输入字符串中找出最大值:;设置显示器方式, 0AL, 3, 010H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H ; 输入字符串提示, 2, 5 ; 列号, 6 ; 行号10H ; 输入字符串光标位置设置, 0,21H ; 输入字符串+ 1, 0; 判断输入字符串是否为空串, + 2, + 1,,[], '$' ; 在输入字符串位加结束标志$, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 源字符串提示光标位置设置, 9,21H ; 输出字符串提示, 9, + 221H ; 输出字符串, 2, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 新字符串提示光标位置设置, 9,21H ; 输出字符串中最大值提示, 0, + 2:[],, []:; 找出字符串中最大字符,放入, 221H ; 输出字符串中最大字符, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 对输入数据组排序:;设置显示器方式, 0AL, 3, 010H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 5 ; 行号10H ; 输入提示光标位置设置, 9,21H, 2, 5 ; 列号, 6 ; 行号10H ; 输入数据组光标位置设置, 0,21H ; 输入数据组字符串; 字符串转换成数据串AL, 0; 判断数据串是否有错, 0; 判断数据串是否为空, 2, 0 ; 页号, 5 ; 列号, 7 ; 行号10H ; 输出提示光标位置设置, 9,21H ; 输出数据串提示, 2, 0 ; 页号, 5 ; 列号, 8 ; 行号10H ; 输出数据组光标位置设置; 数据组排序; 数据组的输出, 2, 0 ; 页号, 5 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息; 读入整型数; 入口参数:无; 出口参数为:(有无错误标志,0为有,1为无), + 1, + 2, 0 ; 数据组数据个数置0, 10, 0 ; 当前数据0, 0 ; 有无数据标志置0,即无数据:[], ' '; 判断当前字符是否为空格[], '0'[], '9'; 判断当前字符是否在'0'-'9'之间, 1 ; 有无数据标志置1,即有数据,, [],, '0' ; 计算出当前数据x, 0; 判断x是否越界:, 1; 判断是否有数据; 数据组数据个数加1, 0, 0 ; 清零:, 0; 依次检查各字符, 1; 判断是否有未加入的数据:, ; 置数据组数据个数, 1 ; 输入数据无错误:, 0 ; 输入数据有错误:; 增加新数; 入口参数:(数据组数据个数)、(当前数据x); 出口参数:无,,,[],; 数据组排序,, 1; 若只有一个元素,停止排序,, ; 指向数据组首地址, ; 指向数据组末地址; 外循环次数1: ; 外循环开始, 0 ; 交换标志置02: ; 内循环开始, [], [ - 1], [ - 1] ; 交换操作[],, 1 ; 交换标志置1:LOOP 2, 1; 判断交换标志LOOP 1; 输出数据组,,, 10H, + 1:, [], 2, ' '21HLOOP; 将十进制数以十六进制输出; 入口参数:(待转换的数据),(转换进制数16); 出口参数:无, 0, 10, 7,AL, 0:, 221H; 设定并显示时间;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 5 ; 列号, 6 ; 行号10H ; 设置提示光标位置设置, 9,21H ; 时间串提示, 0,21H ; 输入时间串, 10, + 2AL, '0', + 3AL, '0'AL, 0AL, 24; 判断时有效性, AL, + 5, + 6AL, '0'AL, 0AL, 60; 判断分有效性,, + 8AL, '0', + 9AL, '0'AL, 0AL, 60; 判断秒有效性,, 0, 221H ; 置系统时间:; 显示时间子程序;设置显示器方式, 0AL, 3;, 0;10H ; 清屏, 2, 0 ; 页号, 10 ; 列号, 9 ; 行号10H ; 提示信息光标位置设置, 9,21H ; 输出提示信息1:, 2, 0 ; 页号, 72 ; 列号, 0 ; 行号10H ; 提示光标位置设置, 2 ; 取系统时间分别存放时/分/秒21H, ; 显示时, 2, ':'21H, ; 显示分, 2, ':'21H, ; 显示: 秒,02H ; 设置光标位置,090,010H,0018H: ,0 ; 延时: LOOP, 0 ; 或, 01H21H ; 16H, 0 ; 11 ; 检查键盘状态; 把中的数字以十进制输出; 入口参数:(待显示的数据); 出口参数:无, 10, '0',, '0', 2, AL21H,21H五.实验体会实验中遇到的问题以及解决方法:在这几次的编程实验中,我遇到了许多问题。

首先,在最开始的时候,无论怎么输入都显示:‘’不是内部或外部命令,也不是可运行的程序或批处理文件。

后来发现把自己编写的文件放到E盘文件夹里就行了,之后的每一步实验按照要求一步一步做,就都能出来结果。

相关文档
最新文档