微机原理实验指导书

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理实验学生实验指导书

微机原理实验学生实验指导书

微型计算机原理实验指导书河北大学电子信息工程学院2017年10月目录实验一系统认识及编程初步实验 (1)实验二输入输出程序设计实验 (7)实验三8255并行接口实验 (9)实验四8259中断控制实验 (13)实验五8254定时/计数器应用实验 (19)实验六综合实验 (24)实验一系统认识及编程初步实验一、实验目的1. 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

2. 掌握使用运算类指令编程及调试方法。

3. 学习使用软件监视变量的方法。

二、实验设备PC机一台,TD-PITE实验装置一套。

三、实验内容(一)基础实验1. 系统认识实验编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

2. 运算编程实验80X86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1-1所示的数据类型进行算术运算。

本实验以二进制双精度加法运算为例,计算X+Y=Z,将结果Z存入某存储单元。

表1-1 数据类型算术运算表(二)提高实验1. 在系统认识实验中,编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。

通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。

2. 在运算编程实验中,求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H。

四、实验步骤(一)系统认识实验1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1-1、图1-2所示。

设置选择后,下次再启动软件,语言环境保持这次的修改不变。

图1-1 语言环境设置界面图1-2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-3所示。

微机原理实验指导书 何小海 严华

微机原理实验指导书 何小海 严华

实验一数据传送一、实验目的熟悉星研集成环境软件的使用方法。

熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中。

三、程序流程图(学生根据实验内容设计)四、实验步骤在DS段内3000H~30FFH中输入数据;使用单步、断点方式等调试程序,检测DS段内6000H ~60FFH中的内容。

熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

五、程序清单(参考)本实例的源程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DX,2000HSTART1: MOV AL,[SI]OUT DX,ALINC SIINC DXLOOP START1MOV DI,6000HMOV DX,2000HMOV CX,100HSTART2: IN DX,ALMOV [DI],ALINC DIINC DXLOOP START2SJMP $Move ENDPEND START六、思考题编写一个程序,将数据段中2000H~20FFH单元的内容传送给数据段的6000H~60FFH中。

实验内容:1、用所学过的寻址方式编程实现将存储单元DS:1000H单元的内容送到DS:2020H单元。

2、设各寄存器及存储单元的内容如下:(DS)=0500H,(BX)=0010H,(SI)=0001H,(05010)=12H,(05011)=34H,(05012)=56H,(05013)=78H,(05120)=ABH,(05121)=CDH,(05122)=EFH,说明下列各条指令执行完后AX寄存器中的内容。

微机原理实验指导书

微机原理实验指导书

实验一 DOS命令与汇编源程序输入、汇编、连接、运行一、实验目的掌握在计算机上运行汇编语言程序的整个操作过程。

学会将自己编制的汇编语言源程序用EDIT编辑程序输入计算机并存盘;学会用MASM 宏汇编程序对汇编语言源程序进行汇编形成二进制目标文件;学会用LINK连接程序对二进制目标文件连接形成可执行文件;学会运行经汇编和连接后形成的可执行文件;学会用DEBUG调试程序运行和调试可执行文件。

二、实验设备1、PC系列不低于80286档次的微型机;2、DOS3.3以上版本的操作系统;3、EDIT,MASM,LINK,DEBUG执行程序。

三、实验步骤1、用EDIT编辑汇编源程序(1)MS-DOS Editor的启动与退出Editor是在DOS系统提示符下启动,其命令格式为:C:EDIT [Path] [filename]在编辑完成后,选择屏幕菜单的File命令(按“ALT+F”键)中的Exit项即可退出Editor。

(2)建立文本文件在MS-DOS Editor的屏幕菜单栏中File命令就是对文本文件的建立、存储和打印的操作。

A.建立文件(New)打开屏幕菜单栏中File下拉菜单,选择New项。

B.编辑文件将写好的汇编语言源程序输入到编辑文本区。

输入时,一行结束后按回车键(Enter)换行。

C.保存文件(Save)打开屏幕菜单栏中File下拉菜单,选择Save项在弹出的对话框中键入文件名。

如果要把文件保存到非默认路径下,则在键入文件名的同时键入路径。

D.打开文件(Open)打开屏幕菜单栏中File下拉菜单,选择Open项。

该窗口中有三个区可以选择要打开的文件:文件名区:可以直接键入要打开的文件名;文件表区:文件表中列出要打开的所有文件名,供用户选择;目录/磁盘区:键入的文件名是哪个磁盘目录中的,在该区中选择。

在Open对话框中用“Tab”或“Shift+Tab”键选择各区。

选完后按“OK”确定。

2.MASM宏汇编程序的使用方法(1)命令格式和功能命令格式:MASM文件名功能:对汇编语言源程序进行汇编形成二进制目标文件(2)操作过程在DOS下,将目录切换到汇编语言所在目录下,然后调入MASM宏汇编程序。

微机原理实验指导书

微机原理实验指导书

前言《微型计算机原理及应用》是一门实践性很强的专业技术基础课,因此,必须在课堂教学的基础上配以足够的实验或实践性教学环节,以便理论联系实际,使学生能深入理解课堂教学内容,加强学生动手能力,以加深对理论学习的理解和掌握,提高学生分析问题﹑解决问题的能力。

本实验指导书是《微型计算机原理及应用》一书的配套教材。

该实验指导书紧密结合教材内容,使用复旦大学科教仪器厂生产的FD-SJ8088A微机实验系统,合理安排了微机实验。

全书共分二部分。

第一部分汇编语言上机操作及程序调试方法及软件部分实验第二部分FD-SJ8088A微机实验系统介绍及硬件部分实验对于每一个实验都给出了实验目的﹑实验内容﹑预习要求﹑报告要求﹑实验提示﹑思考题。

实验提示部分我们仅给出部分文字提示和参考流程图,以作为学生自己编程时的参考。

我们主张学生在做实验前,必须要充分预习,充分准备,要依靠自己在实验前编出的程序,经过实验调试改正程序,得出正确的结果。

这样做实验,才能真正有收获,才能真正提高分析问题和解决问题的能力。

本实验指导书在编写的过程中,得到了本系的领导和老师的支持﹑指导和帮助,在此表示衷心的谢意。

由于编者水平有限,书中不妥或错误之处在所难免,欢迎大家在使用中提出宝贵意见。

编者2005年8月目录实验须知 (3)第一部分汇编语言上机操作及软件部分实验实验一汇编语言上机环境的熟悉和命令使用 (4)实验二利用D E B U G命令调试程序 (7)实验三利用中断指令进行输入输出程序设计 (9)实验四汇编语言综合编程实验 (11)第二部分硬件部分实验FD88调试软件 (12)实验五简单I/O接口控制实验 (21)实验六 8255 接口控制实验 (21)实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的、内容和实验任务。

2.每次实验前做好充分的预习,对所需预备知识做到心中有数。

3.实验前应编好源程序,并对调试过程、实验结果进行预测。

微机原理实验指导书

微机原理实验指导书

实验1 数据传送实验目的掌握8086指令系统的数据传送指令及8086的寻址方式利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统的数据传送指令及8086的寻址方式学习TD.EXE的使用方法实验内容1:通过下面的程序段输入和执行来熟悉TD.EXE的使用,通过显示屏观察程序的执行情况。

练习程序段如下:MOV BL, 88HMOV CL, BLMOV AX, 9999HMOV DS:[0002H], AX操作步骤:1、启动TD.EXE方法1 直接打开BIN文件夹下TD.EXE文件,方法2 把BIN 文件夹放在根目录下,如在:D:\BIN,打开“开始—附件—命令提示符”用CD命令使当前目录为D:\BIN 然后输入TD 或TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和内存单元DS:[0002H]的内容变化情况实验内容2:MOV AX, 1111HMOV BX, 2222HMOV CX, 3333H第一种出栈方式PUSH AXPUSH BXPUSH CX第二种出栈方式PUSH BXPUSH CXPUSH AX第三种出栈方式PUSH CXPUSH BXPUSH AX操作步骤:1、启动TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和内存单元DS:[0002H]的内容变化情况实验报告要求:1、写明本次实验的执行结果,填好表1-12、设置各寄存器及存储单元的内容如下BX=0010H , SI=0001HDS:[0010H]=12H, DS:[0011H]=34H, DS:[0012H]=56H, DS:[0013H]=78H, DS:[0014H]=9AH, DS:[0015H]=0ABH, DS:[0016H]=0BCH说明下列各条指令执行完后AX寄存器中的内容,上机验证(观察寄存器和TD数据区—在窗口的左下角)并填好表1-2(注:输入下列指令前应先用MOV指令把各寄存器和在存储单元的内容设置好)(1)MOV AX, 1200H(2)MOV AX, BX(3)MOV AX, [0010H](4)MOV AX, [BX](5)MOV AX, 0006H[BX](6)MOV AX, [BX][SI](7)MOV AX, 0003H[BX][SI]实验2 算术逻辑运算及移位操作实验目的熟悉算术逻辑运算指令和移位指令的功能了解标志寄存器的各标志位的意义和指令执行对它的影响利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统中的算术逻辑类指令和移位指令按照题目要求在实验前编写好实验中的程序段实验内容1:打开TD.EXE输入下面的程序段,观察标志寄存器区的标志位的变化,说明执行下列哪些指令时标志位变化了,哪些指令标志位没有变化(标志位变化时亮白显示),大家也可以用这操作步骤:1、启动TD.EXE2、输入程序段3、把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段4、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和各标志位的变化情况实验报告要求:1、填好表2-12、说明ADD SUB AND OR NOT 指令对标志位的影响实验3 程序设计、调试和DOS功能调用实验目的熟悉在PC上汇编程序的建立、汇编、连接、执行、调试的全过程学习提示信息的显示和传送指令、加减1指令和串操作指令的用法。

微机原理实验指导书

微机原理实验指导书

实验一数据传送一、实验目的1、熟悉SH51仿真器的使用方法。

2、练习设计简单的程序。

3、掌握8031片内RAM和片外RAM的数据传送的方法,从而了解这两部分存储器的特点二、实验设备和器件PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

三、实验内容将8031内容RAM40H—4FH置初值00H—0FH,然后将40H—4FH 的内容传送到外RAM4800H—480FH,再将4800H—480FH传回到内部RAM50H—5FH。

设置断点B1、B2、B3,每运行到断点时检查相应的CPU现场和存储单元的内容。

四、实验步骤1、向机器输入程序2、运行程序至第一个断点B1,检查内容RAM40H—4FH单元的内容及累加器A 的内容;3、运行程序至第二个断点B2,检查RAM4800H—480FH单元的内容及累加器A、数据指针DPTR的内容;4、运行程序至第三个断点B3,检查内容RAM50H—5FH单元的内容及累加器A、数据指针DPTR的内容;五、实验程序ORG 0000HSTART: LJMP MAINORG 0040HMAIN: MOV R0, #40HMOV R2, #10HCLR AA1: MOV @R0, AINC R0INC ADJNZ R2, A1 B1: MOV R0, #40HMOV DPTR, #4800HMOV R2, #10HA2: MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R2, A2B2: MOV R0, #50HMOV DPTR, #4800HMOV R2, #10HA3: MOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R2, A3B3: SJMP $END实验二并行口一、实验目的:通过实验了解8031并口输入方式和输出方式的工作原理和编程方法。

二、实验设备及器件:PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

微机原理实验指导书(修改1023)

微机原理实验指导书(修改1023)

微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。

⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。

⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。

2.启动调试程序(Debug)。

3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。

(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。

2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。

3.输入不同的字符串,可得到不同的结果。

⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。

⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。

◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。

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

信息工程学院实验指导书系列微机原理及应用实验指导书董洁编北京科技大学信息工程学院自动化系二○○六年九月前言《微机原理及应用》是工科计算机及相关专业学习微型计算机基本知识和应用技能的重要课程。

本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用指令系统和汇编语言进行程序设计;熟悉各种类型的接口及其应用,树立起微型计算机体系结构的基本概念,为后继计算机课程的学习及应用打好基础。

实验教学是本课程的重要组成部分,对学生理解概念、进行程序设计及提高应用技能至关重要。

本课程实验采用的主要设备为西安唐都科教仪器公司研发的TD-PID+实验箱,所有实验内容均针对此实验箱设计。

在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。

书中标(*)的实验可酌情选作。

由于作者水平有限,书中难免存在不足之处,敬请读者批评指正。

编者2006年9月目录前言 (2)目录 (3)第一部分 32位微机原理实验实验一显示程序实验 (6)一、实验目的 (6)二、实验所用设备 (6)三、实验内容 (6)四、实验步骤 (7)五、参考程序清单 (8)六、实验报告内容及要求 (9)实验二数据传送实验 (10)一、实验目的 (10)二、实验所用设备 (10)三、实验内容 (10)四、实验步骤 (11)五、实验报告内容及要求 (11)实验三数码转换程序实验 (12)一、实验目的 (12)二、实验所用设备 (12)三、实验内容 (12)四、实验步骤 (14)五、实验报告内容及要求 (15)实验四运算类程序实验 (16)一、实验目的 (16)二、实验所用设备 (16)三、实验内容 (16)四、实验步骤 (17)五、实验报告内容及要求 (17)实验五分支程序设计实验 (18)一、实验目的 (18)二、实验所用设备 (18)三、实验内容 (18)四、实验步骤 (18)五、实验报告内容及要求 (19)实验六循环程序设计实验 (20)一、实验目的 (20)二、实验所用设备 (20)三、实验内容 (20)四、实验步骤 (20)五、实验报告内容及要求 (21)实验七子程序设计实验* (22)一、实验目的 (22)二、实验所用设备 (22)三、实验内容 (22)四、实验步骤 (24)五、实验报告内容及要求 (24)实验八综合程序设计实验* (25)一、实验目的 (25)二、实验所用设备 (25)三、实验内容 (25)四、实验步骤 (25)五、实验报告内容及要求 (26)第二部分 32位微机接口技术实验实验九基本I/O接口电路设计实验 (27)一、实验目的 (27)二、实验所用设备 (27)三、实验内容 (27)四、实验原理 (27)五、实验说明及步骤 (28)六、思考题 (30)七、实验报告内容及要求 (30)实验十地址译码电路设计实验* (31)一、实验目的 (31)二、实验所用设备 (31)三、实验内容 (31)四、实验原理 (31)五、实验步骤 (32)六、实验报告内容及要求 (33)实验十一8259中断控制器应用实验 (34)一、实验目的 (34)二、实验所用设备 (34)三、实验内容 (34)四、实验原理 (34)五、实验说明及步骤 (37)六、思考题 (39)七、实验报告内容及要求 (39)实验十二8255并口控制器应用实验 (41)一、实验目的 (41)二、实验所用设备 (41)三、实验内容 (41)四、实验原理 (41)五、实验说明及步骤 (43)六、思考题 (45)七、实验报告内容及要求 (45)实验十三16550串口控制器应用实验* (46)一、实验目的 (46)二、实验所用设备 (46)三、实验内容 (46)四、实验原理 (46)五、实验说明及步骤 (51)六、思考题 (55)七、实验报告内容及要求 (55)实验十四8254定时/计数器应用实验 (56)一、实验目的 (56)二、实验所用设备 (56)三、实验内容 (56)四、实验原理 (56)五、实验说明及步骤 (58)六、思考题 (61)七、实验报告内容及要求 (61)实验十五键盘扫描及显示设计实验* (62)一、实验目的 (62)二、实验所用设备 (62)三、实验内容 (62)四、实验说明及步骤 (62)五、思考题 (63)六、实验报告内容及要求 (63)附录一:实验报告格式 (66)实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。

二、实验所用设备1. PC微机一台。

三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。

本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。

实验中可使用DOS功能调用(INT 21H)。

(1) 显示单个字符输出入口:AH=02H调用参数:DL=输出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=输出字符(4) 返回DOS系统入口:AH=4CH调用参数:AL=返回码四、实验步骤1.运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。

图1-1 显示程序实验流程图五、参考程序清单DATA SEGMENTMES DB 'Show a as hex:', 0AH,0DH,'$'SD DB 'a'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MES ;显示提示信息MOV AH, 09HINT 21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0H ;取高4位SHR AL,4CMP AL, 0AH ;是否是A以上的数JB C2ADD AL, 07HC2: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AL, DS:[DI]AND AL, 0FH ;取低4位CMP AL, 0AHJB C3ADD AL, 07HC3: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AX, 4C00H ;返回DOSINT 21HCODE ENDSEND START第 8 页六、实验报告内容及要求写出程序调试过程及运行情况。

第 9 页实验二数据传送实验一、实验目的1. 熟悉Tddebug调试环境和Turbo Debugger的使用;2. 掌握与数据有关的不同寻址方式。

二、实验所用设备1. PC微机一台。

三、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

参考实验程序:DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段DUP(?)LENMSD DBEXDA ENDSMYSTACK SEGMENT STACK ;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE, DS:DDATA, ES:EXDA START: MOV AX, DDATAMOV DS, AX ;装载数据段寄存器MOV AX, EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI, OFFSET MSR ;设置SIMOV DI, OFFSET MSD ;设置DIMOV CX, LENNEXT: MOV AL, [SI] ;开始传输数据第 10 页MOV ES:[DI], ALINC SIINC DIDEC CXJNZ NEXTPUSH ESPOP DS ;将附加段寄存器的段值赋给数据段寄存器MOV DX, OFFSET MSDMOV AH, 9INT 21HMOV AX, 4C00H ;利用DOS功能调用返回DOS状态INT 21HCODE ENDSEND START将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:MOV BX, 0MOV CX, LENNEXT: MOV AL, MSR[BX]MOV ES:MSD[BX], ALINC BXLOOP NEXT四、实验步骤1.运行Tddebug软件,选择Edit菜单编写实验程序;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。

五、实验报告内容及要求写出程序调试过程及运行情况。

第 11 页实验三数码转换程序实验一、实验目的掌握不同进制数及编码相互转换的程序设计方法。

二、实验所用设备PC微机一台。

三、实验内容计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。

因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。

计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。

图3-1 计算机与外设间的数码转换关系1.将ASCII码表示的十进制数转换为二进制数十进制数可以表示为:Dn×10n+Dn-1×10n-1+…+D0×100 =Di×10i 其中Di代表十进制数1、2、3…9、0。

上式可以转换为:ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0 由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结第 12 页果。

相关文档
最新文档