微机原理实验

微机原理实验
微机原理实验

实验一、DEBUG应用

一、DEBUG的作用和实验目的

专门调试8086上用汇编语言编写的程序。调试的对象:扩展名为.Com和.Exe的文件。扩展名为.Com的文件地址丛0100H开始存放,扩展名为.Exe的文件地址从0000H 开始存放。

DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。

实验目的:

1、熟悉DEBUG有关命令的使用方法;

2、利用DEBUG掌握有关命令的功能;

3、利用DEBUG运行简单的程序段。

二、调试内容(程序)

课后4-6、4-10

三、步骤

四、调试过程(错误排除)

五、收获体会

调试对象:扩展名为.com(地址0100开始存放) .EXE的文件(0000开始存放)

专门调试8086上用汇编语言编写的程序

启动与退出

(DOS提示符)〉DEBUG 文件名.co m ↙

或DEBUG ↙

-Q 退出

修改寄存器:—R 寄存器名↙修改指定的寄存器

—R↙列出所有寄存器的内容观察

显示存储器(CPU外部)

-D n1,n2↙列出第n1~n2单元的内容观察

-D n↙列出第n单元开始显示存储器内容

-D ↙接着上一个D命令显示存储器内容

修改存储器

-E 地址↙功能:显示原值,输入新值

若按空格键就显示下一个单元原值,若按“-”[减号]键就显示上一个单元原值,若按回车就退出E命令再装入调试文件:-N文件名.扩展名↙

-L

编码程序:在DOS提示符

〉DEBUG 文件名.com ↙

-A↙此时显示****:0100地址,可以开始编写了

语句1

语句2

编完后直接回车或ctrl-c结束A命令

-H 最后一行下面的行号 0100↙计算出两地址之差

-R CX↙写上计算出的差值。若没起文件名可在这-N 文件名.com

-W↙存盘

-Q↙退出

DEBUG只认十六进制数并且不能加H。 DEBDG不认识标号。

反汇编–U 地址↙

-U ↙

-U ↙伪地址 n1,n2↙

执行程序–G 结束地址↙

-G↙

-T↙

例(1)进行DEBUG并用A命令直接写入并汇编一个程序

该程序将对两个压缩BCD码,分别存放在0120H和0122H单元(其中[0120H]=0708H,[0122H]=0809H),进行求和运算,结果存放在0124H单元,即结果[0124H]=11H,[0125H]=0FH 〉debug

MOV AL,[0120] ;不能使用变量名,在DEBUG中只能使用直接地址

ADD AL,[0122]

DAA

MOV BY[0124], AL ;BY就是BYTE PIR

MOV AL,[0121]

ADC AL,[0123]

DAA

MOV BY[0125], AL ;用BY修改存储单元字节操作数类型

INT 20

回车,或ctrl+c或ctrl+Break组合键

(2)-D 120 125 指定要显示的结果所在段的偏移地址段地址默认

-E 120 修改存储器

(3) -G 执行该程序

(4) -D 120 125 用于显示计算结果

(5)用U命令反汇编程序

(6)保存 -R

-W

(7) Q ↙

-N 文件名.com 再装入调试文件

-L

实验二、MASM的应用

一、实验目的:

通过对汇编语言程序的设计和调试,使学生掌握一般程序设计的方法进一步加深对汇编语言的理解。

二、标准汇编程序上机方法

A.建立ASM文件,用EDIT .COM全屏幕编辑文件或其他编辑文件建立扩展名为ASM的源程序.

B.用MASM(或ASM)产生扩展名为OBJ目标文件。

C.用LINK产生扩展名为EXE可执行文件。

D.在DEBUG下,把文件调入内存,调试程序。

E.在DOS下可直接执行扩展名为EXE的文件。

三、实验步骤

A.首先进入https://www.360docs.net/doc/4c7466166.html,编辑器,输入源程序,检查正确后,用MASM汇编成目标文件,用LINK连接成可运行文件,若正确无误,则用DEBUG调入内存,进行调试.

B.调试与运行程序:用单步,断点,连续等方法调试与运行程,根据存储器,寄存器与标志位的内容与变化,如:SP,IP,CF,SF,ZF,OF等,检查指令结果,程序中间结果及程序运行最后结果是否正确,排除软件错误,直到达到本实验目的为止。

C.记录程序入口参数与出口参数,重要的指令结果,程序中间结果及程序运行最后结果。

四、实验报告(实验心得及有意义的建议)

下图为汇编和链接的截图:

实验三、RAM扩展实验

一、实验目的

1.掌握PC机外存的扩展方法

2.掌握6264芯片的连线方法

3.掌握8086十六位数据的存储方法

二、实验内容

向2000H~2100H单元的偶地址送AAH,奇地址送55H。

三、实验原理图

电路包括数据线、地址线和控制线的连接,两个6264芯片的数据线、地址线连接方法相同。其中两片6264的CS1,连在区分偶地址库和奇地址库的信号线上,实验板分别称为CSA和CSB。

四、实验步骤

1.连线(本实验内部已接好)

2.编写程序并调试

3.运行实验程序,可单步、设断点,观察存储单元内容的变化。

4.记录实验结果,编写实验报告。

五、实验说明

本实验使用的RAM区地址在0~3FFFH之间,编程时可设段地址为100H,段内偏移量为1000H,则物理地址正好为2000H。若用字节写入,则AL要交替的为AAH和55H,若用字写入,则AX应为55AAH。

六、程序流程图

七、程序清单

code segment

assume cs:code

org 0100h

start: mov ax,0100h ;设定数据段段地址

mov ds,ax

mov es,ax

mov si,1000h ;设定数据段内偏移地址

mov cx,0100h ;设定计数初值256

mov al,0

intram: mov [si],al

inc si

loop intram ;256个字节清成0

mov si,1000h

mov cx,100h

mov ax,55aah

fil: mov [si],ax

inc si

inc si

loop fil ;写入256个字

nop

jmp start

code ends ;end of code segment end start ;end assembly

实验四8259A中断控制器实验

一、实验目的

1.掌握8259A的工作原理

2.掌握编写中断服务程序的方法

3.掌握初始化中断向量的方法

二、实验内容

用单脉冲发生器的输出做中断源,每按一次产生一次中断申请,在中断服务程序中将AX的值修改为0055H,如果不产生中断,则AX的值始终为0。

三、实验原理图

四、实验步骤

推荐两种方法

1.利用已开发好的DMA实验板;

(1)将DMA中断控制实验板插入实验箱右上角DMA 插槽中,单脉冲发生器(PLU 键处)输出口(P0)与DMA中断实验板的IR0相连,C59与CS7相连。

(2)编辑程序并调试,注意断点设置要在中断发生条件之后。

2.利用普通面包板扩展实验

(1)将8259芯片插在面包板上,对照原理图将8259芯片的引脚与CPU板PI插座的对应信号相连,

PI插座定义如下:

(2)单脉冲发生器输出CZ35(P0)

与8259A的IR0相连;CS7与8259A的CS相连;将8259A的A0与P1的A1相连;其他信号线按原理图标注连接。

(3)P1插座的OC接VCC;

(4)编辑程序并调试,注意断点设置要在中断发生条件之后。

五、实验说明

中断向量在内存中的位置应是N乘以4,中断向量的高5位从8259A读出,低3位由IR编码决定,其中IR0的编码为000。

六、程序流程图

设ICW1—13H 设ICW2—80H 设IW4—01

打开中断屏蔽OCW1

设DS=0

设中断向量位置SI=200H

将中断服务程序的偏移

量—200H

将中断服务程序的段地

址—202H

清AX ,开中断

开始返回关中断

AX< - - 55AAH

中断服务程序

判AX=55H NOP 空操作

结束Y

N

七、参考程序

(T8.ASM)

assume cs:code

code segment public

org 100h

start: mov dx,3f0h

mov ax,13h ;设ICW1

out dx,ax

mov dx,3f2h

mov ax,80h

out dx,ax ;设ICW2为80H

mov ax,01

out dx,ax ;设ICW4为01H

mov ax,0h

out dx,ax ;写OCW1,即打开屏蔽

mov ax,0

mov ds,ax

mov si,200h ;中断向量位置0+200h

mov ax,offset hint

mov ds:[si],ax

add si,2

mov ds:[si],0100h;填入中断向量表

mov ax,0 ;清AX

sti ;开中断

wati: cmp ax,55h

jne wait

nop

jmp start

hint: mov ax,55h

nop

cli ;关中断

iret

code ends

end start

实验五CPU并行口扩展实验

一、实验目的

利用8255A实现并行接口扩展

二、实验内容

1.掌握8255A的编程原理

2.熟悉计算机的并行接口使用方法

三、实验原理图

四、实验步骤

1.连线:

8255A(IC37)的PA0~PA7分别与逻辑电平开关电路的K1~K8相连;

8255A 的PB0~PB7 分别与发光二极管电路的L1~L8相连;

从CS0~CS7中任选一根与8255A 的片选CS8255端相连。

其他线路在内部均以连好。

2.编辑程序,单步运行,调试程序。

3.调试通过后,全速运行,观察运行结果。

4.编写实验报告。

五、实验说明

逻辑电平开关向上拨时为5V,向下拨时为0V;

发光二极管输入为1时亮,为0时灭,拨动开关观察二极管的变化。

本实验中8255A的A端口地址为04A0H

B端口地址为04A2H

控制端口地址为04A6H

8255A工作在基本输入输出方式,即方式0;

六、程序流程图

七、参考程序(T2.ASM) assume cs:code

code segment public

org 100h

start: mov dx,04a6h

mov ax,90h

out dx,ax

start1: mov dx,04a0h

in ax,dx

mov dx,04a2h

out dx,ax

jmp start1

code ends

end start

实验六8253定时/计数器的应用

一、实验目的

掌握8253定时/计数器的工作原理,利用示波器或A/D、D/A卡观察不同工作方式下的输出波形。

二、实验内容

编程将计数器0、1、2设置为方式2(分频方式),观察其输出波形。

三、实验原理图

四、实验步骤

1.连线:

从CS0~CS7中任选一根(如CS0)与8253的片选信号CS8253端相连;

将8253的OUT0与CLK2相连;

将OUT2与发光管L1相连;

OUT1接示波器,其他信号均已在内部接好。

若有A/D、D/A卡,则不需要接示波器。但需要将A/D、D/A卡的输出与实验箱的j2(8253芯片旁边靠内侧的接口)相连。

在软件DB86中打开波形观察窗口可观察波形。

2.编辑并调试程序。

3.调试通过后,全速运行,观察运行结果。

4.编写实验报告。

五、实验说明

8253的时钟端CLK0、CLK1均为1M/8,CLK2的时钟由OUT来控制;设计数器0的初值为0F424H(十进制的62500)时,输出方波的周期为0.5秒,在计数器2中设置不同的初值2n时,可得nx0.5s,n的最大值为7FFFH(十进制的32767)时,周期最长为16383.5s (4小时33分3.5秒)。

六、程序流程图

七、参考程序(T3.ASM)

assume cs:code

code segment public

org 100h

start: mov dx,04a6h;

mov ax,36h ;计数器0方式

out dx,ax

mov dx,04a0h;

mov ax,24h ;计数器0初值低位

out dx,ax

mov ax,0f4h ;计数器0初值高位

out dx,ax

mov dx,04a6h;

mov ax,76h ;计数器1方式

out dx,ax

mov dx,04a2h;

mov ax,0ah ;计数器1初值低位

out dx,ax

mov ax,0 ;计数器1初值高位

out dx,ax

mov dx,04a6h

mov ax,0b6h ;计数器2方式

out dx,ax

mov dx,04a4h;

mov ax,04h ;计数器2初值低位

out dx,ax

mov ax,0 ;计数器2初值高位

out dx,ax

next: nop

jmp next

code ends

end start

课程设计部分

A / D 实验

一、实验目的

熟悉A/D转换的基本原理,掌握ADC 0809的使用方法。

二、实验内容

按查询方式采样三路A/D转换数据,用简单输入口(74LS244)查询EOC信号,每循环一次,0、1、2通道各采样一次,采样结果为:0通道数据放入AX中,1通道数据放入BX中,2通道数据放入CX中,三个寄存器均是低8位有效。

三、实验原理图

四、实验步骤

1.连线:

将可变电位器KB1、KB2、KB3分别与ADC 0809的IN0、IN1、IN2相连,从CS0~CS3中任选一个端子(如CS0 )与0809的片选端(CS0809)相连。将ADC 0809的EOC与IC25(74LS244)的SI0相连,从CS0~CS7中任选一个端(如CS1)与IC25的片选(CSU10)端相连。

2、编写程序并调试。

3、调试通过后,设置断点全速运行,并观察实验结果。

4、编写实验报告。

五、实验说明

实验电路中启动信号START与地址锁存信号相连,所以启

动A/D转换的方法为:

MOV DX,PADC ;PADC是ADC0809的端口地址

OUT DX ,AL ;发片选及IOW信号,这是0通道

;启动1通道时,DX应加1

六、程序流程图

七. 程序

T4.asm

assume cs:code

code segment public

org 100h

start: mov dx,04a0h ;启动0通道转换

mov ax,34h ;随便送出一个数

out dx,ax

mov bp,1000h ;软件延时

lay1: dec bp

cmp bp,0

jne lay1

mov dx,04b0h

wait1: in ax,dx

and ax,1

cmp ax,1

jne wait1 ;判转换结束

mov dx,04a0h

in ax,dx

and ax,0ffh

mov cx,ax ;存0通道转换值

mov dx,04a2h ;启动1通道转换

mov ax,34h

out dx,ax

mov bp,1000h ;软件延时

lay2: dec bp

cmp bp,0

jne lay2

mov dx,04b0h

wait2: in ax,dx

and ax,1

cmp ax,1

jne wait2 ;判转换结束

mov dx,04a2h

in ax,dx

and ax,0ffh

mov bx,ax ;存1通道转换值

mov dx,04a4h ;启动2通道转换

mov ax,34h

out dx,ax

mov bp,1000h ;软件延时

lay3: dec bp

cmp bp,0

jne lay3

mov dx,04b0h

wait3: in ax,dx

and ax,1

cmp ax,1

jne wait3 ;判转换结束

mov dx,04a4h

in ax, dx

and ax,0ffh ;存2通道转换值

nop

jmp start

code ends

end start

D / A 实验

一、实验目的

熟悉数模转换的基本原理,掌握DAC 0832的使用方法。

二、实验内容

看懂接口电路后连好硬件线路,并编写程序以产生以下两种波形并用示波器或A/D、D/A卡观察。

1、锯齿波形

2、三角波

三、实验原理图

四、实验步骤

1、连线:从CS0~CS7中任选一个端子(如CS0 )与DAC 0832的片选端(CS0832)相连。将将示波器接至DAC0832的输出端OUT。有A/D、D/A卡可以不接示被器,但需要将A/D、D/A 卡的输出与实验箱的j2(8253芯片旁边靠内侧的接口)相连。

2、编写程序并调试。

3、调试通过后,全速运行,产生不同波形。

4、观察实验结果,编写实验报告。

五、实验说明

KB6调节参考电压VREF,KB5调节D/A的零点,KB4调节D/A的满偏,DAC 0832工作在双缓冲接口方式下。当A1=0时可锁存输入数据,当A1=1时,可起动转换输出。所以要进行D/A转换,。需分二步进行。

六、程序流程图

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 2011年10月10日

实验1 基本操作实验 1. 实验目的 (1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 (2) 掌握使用运算类指令编程及调试方法; (3) 掌握运算类指令对各状态标志位的影响及其测试方法; (4) 学习使用软件监视变量的方法。 2. 实验设备 PC机一台,TD-PITC 实验装置一套。 3. 实验内容及步骤 通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会: ●如何设置断点; ●如何单步运行程序; ●如何连续运行程序; ●怎样查看寄存器的内容; ●怎样修改寄存器的内容; ●怎样查看存储器的内容; ●怎样修改存储器的内容。 3.1 实验内容1――――BCD码转换为二进制数 实验内容: 将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。 参考实验程序清单如下: SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H A1: MOV AL, [SI] ADD AL, AL MOV BL, AL

ADD AL, AL ADD AL, AL ADD AL, BL INC SI ADD AL, [SI] MOV [DI], AL INC SI INC DI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤: 1)运行Wmd86 软件,进入Wmd86 集成开发环境。 2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1 语言环境选择界面 3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。默认文件名为Wmd861。 图1-2 新建文件界面 4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

微机原理实验指导书

微型计算机原理与应用实验指导书 上海大学通信学院

2010 年4 月 PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 要求:在PC机上完成下列程序的调试运行,并写出运行结果。二、1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F 调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的内容: -R回车 看到什么 (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W ”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 2 1 MOV DL, 4E INT 21 MOV DL, 44 INT 2 1 MOV DL, 4F INT 2 1 MOV DL, 57 INT 2 1 MOV DL, 53 INT 2 1 INT 3 ;功能是产生一个断点,不要省略 (4)输入U 命令反汇编上面的程序: -U 100 问:这里100代表什么 (5)输入G命令连续运行上面的程序,记录运行结果:

-G=100 ,57,53依次分别改为574F4E57 (6)输入E命令把上面程序中的数据,49,,44,,45:,,45,4C43,4F4D,-E 103 回车(以下同) -E 107 10B-E -E 10F 113-E 117-E 11B-E (7)输入D命令查看程序机器码的存放情况: -D 100 11E ;看从100开始到11E的机器码 (8)输入G命令再连续运行程序,并记录运行结果: -G=100 (9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各 命令的运行结果: -T=100 回车 -G=100 106 回车 -G=100 10A 回车 -G=100 10E 回车 -G=100 11E 回车 注意: 下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改: 例如:CS:0100 B300 MOV BL,0 0102 53 PUSH BX 0103 B220 LP1: MOV DL,20 要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作: -A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。 如果要查看0100以后的指令及相应的机器代码,可以 -U 0100 回车,能够看到CS:0100开始的指令及相应的机器代码。“-U ”是反汇编 若发现有误用,用“-A XXXX 回车”,重打这条指令即可 2.编制一个能在CRT上连续显示A,B,C,D······Z大写英文字符的源程序,并在源程序下汇编调试机运行。

微机原理实验指导

微机原理实验一简单I/O口扩展实验 一、实验目的 1. 熟悉74LS273、74LS244的应用接口方法。 2. 掌握用锁存器、三态门扩展简单并行输入输出口的方法。 二、实验内容 用逻辑电平开关作为74LS244(U10)的输入,用发光二极管作为74LS273的输 出,编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。 三、实验器材 微机、EL型微机教学实验箱 四、实验原理图 4LS273 4 4LS02 S O S I C S U 1 R K1-K8是开关的输出插孔,L1-L8是发光二极管的输入插孔,SI0-SI7是74LS244 的输入插孔,SO0-SO7是74LS273的输出插孔,CSU10\是74LS244的地址译码输入插孔,CSU8\是74LS273译码输入插孔,以上插孔实验时均需连线,原理图中其它已注的和未标注的引脚均以连好或实验不需要。 74LS244

五、实验步骤 1.连线:将74LS244的输入SI0-SI7分别与逻辑电平开关电路的 K1-K8相连,从I/O地址片选信号 CS0\~CS7\中任选一个与 U10的片选信号相连(例如CS0\)。将74LS273(U8或U9)的输出(CS0\~CS7\)分别与发光二极管电路的 L1~L8相连,从I/O地址片选信号CS0\~CS7\中任选一个与U8或U9的片选信号相连。(如CS1\)2.编辑程序,单步运行,调试程序 3.调试通过后,全速运行,观察实验结果 4.编写实验报告 六、编程提示 逻辑电平开关拨上时为5V,拨下时为0V,发光二极管输入‘1’为亮,‘0’为灭。从U10读入的数据后从输出口输出。 七、程序框图

微机原理综合实验-交通灯

华北科技学院计算机系综合性实验 实验报告 课程名称微机原理与接口技术 实验学期2011至2012学年第二学期学生所在系部电子信息工程学院 年级09级专业班级自动化B091班学生姓名戴子昱学号15 任课教师王德志 实验成绩 计算机系制

实验报告须知 1、学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。 2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、 内容、结果及分析等。 3、教师应该填写的内容包括:实验成绩、教师评价等。 4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合 性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。 5、未尽事宜,请参考该课程的实验大纲和教学大纲。

《微机原理与接口技术》课程综合性实验报告 开课实验室:接口实验室2012年06月12日 实验题目 交通信号灯的控制 一、实验目的 (1)通过8255并行接口来控制LED发光二极管的亮灭,并精确延时。 (2)实现黄灯闪烁。 (3)通过8255并口控制,人工进行交通灯的转换。 二、设备与环境 PC机(windows XP) 实验箱(TPC-386EM) 8255A、8253 三、实验内容 1需要完成的基本控制要求概览: (1)南北路口的绿灯、东西路口的红灯同时亮5秒。 (2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。 (3)南北路口的红灯、东西路口的绿灯同时亮5秒。 (4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。 (5)转(1)重复。 (6)紧急情况可以手动控制红绿灯的变换。一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。 (7)黄灯闪烁时扬声器发声,提醒。 2交通红绿的设计基本端口规划 8255A口作为灯控制输出,PA0-PA5分别对应东西红黄绿,南北红黄绿,P6与P7口不用;8253B口作为输入,PB0-PB3分别对应启动,停止,东西方向交通管制,南北方向交通管制(高电平有效)。 8253C口最低位作为输入,接入8253通道1的产生的。1s方波上下降沿来定时;8253通道0输入时钟为1Mhz,通道0用来分频,通道1用来产生1s方波,通道2不用。接线图1所示

微机原理上机实验(一)实验报告数据传输传送实验

微机原理上机实验(一)实验报告 主题:数据传送 一、实验目的 熟悉星研集成环境软件的使用方法。熟悉Borland公司的TASM编译器 熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。 二、实验内容 1、熟悉星研集成环境软件。 2、编写程序,实现数据段的传送、校验。 三、实验代码 _STACK SEGMENT STACK DW 100 DUP() _STACK ENDS DATA SEGMENT DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, DS:DATA, SS:_STACK MOV AX, DATA ;将数据段的地址存入AX寄存器。AX=004DH MOV DS,AX ;对DS段寄存器赋值。DS=004DH MOV ES,AX ;对ES段寄存器赋值。ES=004DH NOP ;空指令

MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CALL Move ;调用Move子程序 MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CLD ;将DF标志位置0。设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出 ;若ZF=0或CX=0不成立,则继续比较。SI和DI持续递增 1 JNE ERROR ;若ZF=0,跳到ERROR子程序 TRUE: JMP $ ;跳到目前地址 ERROR: JMP $ ;跳到目前地址 Move PROC NEAR ;Move子程序 CLD ;将DF标志位置0。设置SI、DI为递增移动。DF=0 CMP SI,DI ;比较SI、DICF=SF=PF=1,仅有该三个标志位变化JZ Return ;如果相等,跳到Return JNB Move1 ;如果SI大于等于DI,跳到Move1 ADD SI,CX ;SI=SI+CX。SI=3100H DEC SI ;SI减1。SI=30FFH

微机原理及接口技术习题解答与实验指导

第一部分学习指导与习题解答 (3) 第1章计算机基础 (3) 1.1 学习指导 (3) 1.2 单项选择题 (3) 1.3 判断题 (6) 1.4填空题 (6) 1.5 简答题 (7) 第2章微处理器 (9) 2.1 学习指导 (9) 2.2单项选择题 (11) 2.3判断题 (15) 2.4填空题 (17) 2.5 简答题 (19) 第3章80x86指令系统 (22) 3.1学习指导 (22) 3.2单项选择题 (23) 3.3 判断题 (29) 3.4 填空题 (30) 3.5 简答题、 (34) 3.6. 分析程序题 (40) 3.7 编程题 (43) 第四章 (45) 4.3 判断题 (52) 4.4 填空题 (54) 4.5 简答题 (64) 4.6 分析程序题 (76) 4.7 编程题 (85) 第5章半导体存储器及其接口技术 (118) 5.1 学习指导 (118) 5.2单项选择题 (118) 5.3判断题 (121) 5.4填空题 (122) 5.5简答题 (123) 5.6应用题 (126) 第6章微型计算机接口技术 (134) 6.1 学习指导 (134) 6.2单项选择题 (135) 6.3判断题 (138) 6.4填空题 (139) 6.4填空题 (141) 6.5简答题 (141) 第7章,简单接口电路设计 (148) 7.1 学习指导 (148) 7.2单项选择题 (149) 7.3判断题 (149) 7.5应用题 (150)

第8章可编程接口技术 (156) 8.1可编程计数器8253/8254 (156) 8.1.1学习指导 (156) 8.1.2单项选择题 (157) 8.1.3判断题 (159) 8.1.4填空题 (159) 8. 1 . 5 简答题 (160) 8.1.6 应用题 (160) 8.2 并行通信接口8255A (163) 8.2.1 学习指导 (163) 8.2.2 单选题 (163) 8.2.3 判断题 (164) 8.2.4 填空题 (165) 8.2.5应用题 (165) 8.3串行通信接口8250/8251 (170) 8.3.2 单项选择题 (172) 8.3.3判断题 (172) 8.4可编程中断控制器8259A (178) 8.4.1 学习指导 (178) 8.4.2单选题 (178) 8.4.3 判断题 (180) 8.4.4 填空题 (181) 8.4.5 简答题 (182) 8.4.6 应用题 (184) 第9章自检试卷 (187) 9.1 自检试题一 (187) 自检试题二 (192)

微机原理实验

微型计算机原理实验报告 学号 姓名海米提。热合木江班级测控0902班

实验一显示程序实验 一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能 调用(INT 21H)。 流程图

2.试验程序 DA TA SEGMENT MES DB 'Show a as hex:', 0AH,0DH,'$' SD DB 'a' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES MOV AH, 09H INT 21H MOV DI, OFFSET SD MOV AL, DS:[DI] AND AL, 0F0H SHR AL,4 CMP AL, 0AH JB C2 ADD AL, 07H C2: ADD AL, 30H MOV DL, AL MOV AH, 02H INT 21H MOV AL, DS:[DI] AND AL, 0FH CMP AL, 0AH JB C3 ADD AL, 07H C3: ADD AL, 30H MOV DL, AL MOV AH, 02H INT 21H MOV AX, 4C00H INT 21H CODE ENDS END START

实验二数据传送实验 三、实验内容 将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上 1.试验程序 DA TA SEGMENT MSR DB "HELLO,WORLD!$" LEN EQU $- MSR DDATA ENDS EXDA SEGMENT MSD DB LEN DUP() EXDA ENDS MYSTACK SEGMENT STACK DW 20 DUP() MYSTACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DDA TA, ES:EXDA START: MOV AX, DDATA MOV DS, AX MOV AX, EXDA MOV ES,AX MOV SI, OFFSET MSR MOV DI, OFFSET MSD MOV CX, LEN NEXT: MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI DEC CX JNZ NEXT PUSH ES POP DS MOV DX, OFFSET MSD MOV AH, 9 INT 21H MOV AX, 4C00H

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

微机原理实验指导

实验一 MASM For Windows 的使用及顺序程序设计 一、实验目的 1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。 2、熟悉masm for windows调试环境及DEBUG常用命令的使用 二、实验内容 1.DEBUG常用命令(U、R、D、E、F、T、G、Q)的操作使用 2.编程实现两个16位无符号数的加、减、乘、除运算。 有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。 三、实验设备 PC机一台、masm for windows 汇编语言集成环境 四、实验准备 1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。 2) 画出流程图。 3) 写出源程序。 4) 对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。 五、实验步骤 1) 输入源程序。 2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。 六、学生实验报告的要求 1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。 2) 说明程序中各部分所用的算法。

3) 说明主要符号和所用到寄存器的功能。 4) 上机调试过程中遇到的问题是如何解决的。 5) 对调试源程序的结果进行分析。 4) 说明标志位CF、SF和OF的意义。 DEBUG的常用命令 1、R 显示或修改寄存器的内容命令格式:-R 2、 D 显示存储单元的内容命令格式:-D[地址1, 地址2] 3、E修改存储单元的内容 命令格式:-E[地址1, 地址2] 4、U反汇编 命令格式:-U[地址1, 地址2] 5、T单步执行 命令格式:-T 6、G连续执行 命令格式:-G[=起始地址, 结束地址] A小汇编 命令格式:-A 7、Q退出DEBUG,返回DOS 实验一源程序 EXAM1-2 .ASM DATA SEGMENT A D B 34H,18H,2 DUP(0),’$’ B DB 56H,83H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A MOV BL,B ADD AL,BL

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0~65535)进行+、-、×运算,计算结果限制在范围-65535~65535,超过范围在数码管最低位显示E; 2)16个按键的分配可以自行指定; 【扩展要求】 1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535~999999时,显示E; 2)增加÷的功能,有小数显示; 【实验程序】 ;该程序实现了基本要求及扩展要求的2) DSEG SEGMENT BUFF DB 6 DUP(?) LED_7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7C H,39H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 COUNT DB 0 FLAG DB 0 ;是否有键按下的标志 NEGTI DB 0 ;是否为负数的标志 NUM DW 0 NUM1 DW 0 NUM2 DW 0 TAG DB 0 ;运算种类标志 POINT DB 0 ;除法结果添加小数点标志 RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV DX,300CH ;8255初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV CX,6 NEXT: MOV BYTE PTR[SI],16 INC SI LOOP NEXT CALL SHOW ;将显示缓冲区中内容在LED上一次显示出来 MOV COUNT,0 ;记按下了几位数 NEXT2: CALL SHOW CALL SCAN ;判断是否有按键按下 CMP FLAG,1 JZ OK JMP NEXT2 OK: MOV FLAG,0 MOV POINT,0 MOV DX,3000H ;判断是哪一个键被按下 MOV AL,0FFH OUT DX,AL MOV CH,-1 ;CH用于保存当前被扫描的列号MOV CL,07FH XL: ROL CL,1 INC CH MOV DX,3000H MOV AL,CL .

微机原理实验指导书

微型计算机原理与应用 实验指导书 上海大学通信学院 2010 年 4 月

PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 二、要求:在PC机上完成下列程序的调试运行,并写出运行结果。1.DEBUG的基本操作:(详细容请参阅教材“4.5程序的调试,P173”和“附 录F调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的容: -R回车 看到什么? (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 21 MOV DL, 4E INT 21 MOV DL, 44 INT 21 MOV DL, 4F INT 21 MOV DL, 57 INT 21 MOV DL, 53 INT 21 INT 3 ;功能是产生一个断点,不要省略 (4)输入U命令反汇编上面的程序: -U 100 问:这里100代表什么? (5)输入G命令连续运行上面的程序,记录运行结果: -G=100 (6)输入E命令把上面程序中的数据57,49,4E,44,4F,57,53依次分别改为57,45,4C,43,4F,4D,45: -E 103 回车(以下同) -E 107 -E 10B

微机原理与接口技术综合性实验指导书

微机原理与接口技术实验 电子发声系统设计 【实验目的】 (1). 掌握8254接口电路的连接方法,懂得分频数据对发生频率的影响。 (2). 掌握应用汇编语言控制8254使扬声器发声的程序设计的方法步骤。【实验仪器】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 连接电子发声电路,根据实验提供的音乐频率表和时间表,编程控制8254,使其输出并驱动扬声器发出相应的乐曲。编程演奏《友谊地久天长》。 (1) 确认实验系统与PC机的连线已接通。 (2) 设计连接实验电路。 (3)运用PIT端口资源工具(CHECK程序),查看I/O片选端口始地址。 (4)编程并编译、链接。 运行程序,听扬声器发音是否正确。 【程序的数据处理】 DATA SEGMENT FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624 DW 624,495,556,495,556,624,495,416,416,371 DW 495,833,742,624,624,495,556,495,556,833 DW 742,624,624,742,833,990,742,624,624,495 DW 556,495,556,624,495,416,416,371,495,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12 DATA ENDS 【上机实验报告】 ⒈上机实验所用的设备(型号或规格),实验环境条件。 ⒉简述实验原理,说明操作过程,及数据要求,给出程序的音频及延时输入数据值。 ⒊你设计的电路图是什么。

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

微机原理实验一 两个多位十进制数相加实验试做报告

实验一两个多位十进制数相加实验试做报告 【实验目的】 1.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。 2.熟悉和掌握用DEBUG调试程序的方法。 【实验性质】 验证性实验(学时数:3H)。 【实验内容】 将两个多位十制数相加,要求加数和被加数均以ASCII码形式各自顺序存放在以DATAl 和DATA2为首的5个内存单元中(低位在前),结果送回DATAl处。 【实验说明】 汇编语言没有十进制加法指令,ADD/ADC加法指令的运算对象是二进制数,如果要进行BCD码数的加法,需要对结果进行修正。组合BCD码的加法调整指令为DAA,它针对AL寄存器中的组合BCD码数之和进行修正。对于未组合BCD码的加法调整指令为AAA(加法的ASCII 码调整指令),它将存于AL寄存器中的一位ASCII码数加法运算的结果调整为一位拆开型十进制数,仍保留在AL中,如果向高位有进位(AF=1),则进到AH中。 对于多字节的ASCII码相加,只能从最低位开始逐个字节地进行加法操作,并随即进行调整。 参考程序清单(WJSY0.ASM): DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H DATA2 DB 36H,35H,30H,38H,32H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,5 ;计数 MOV SI,0 ;做指针用,因从DATA1的第一个数取数,故SI=0 CLC NEXT: MOV AL,DATA1[SI] ;取被加数给AL ADC AL,DATA2[SI] ;取加数和AL相加 AAA ;未组合十进制数加法调整指令 MOV DATA1[SI],AL ;结果回送至DATA1处 INC SI ;修改SI指向下一位数 LOOP NEXT MOV SI,5 ;因显示是从高位到低位,故SI=5 L: ADD DATA1[SI-1],30H ;还原成ASCII码 MOV DL,DATA1[SI-1] MOV AH,02 ;送显示 INT 21H DEC SI

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室

实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结 果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次 后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如 果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列 了。则可以退出循环,结束程序。 程序结构框图和程序代码如下:

微机原理实验指导书(2008-11-11)

《微机原理及应用》实验指导书 张群英编写 桂林工学院电子与计算机系 2008-11-11

目录 汇编语言程序设计的实验环境及上机步骤 (3) 实验一汇编语言程序上机过程与调试 (17) 实验二顺序程序设计 (21) 实验三分支程序设计 (22) 实验四循环程序设计 (24) 实验五子程序设计 (25) 实验六显示程序设计 (26) 实验七系统认识实验 (29) 实验九中断特性及8259应用编程实验 (33) 实验十8255并行接口应用实验 (45) 实验十一8253定时/计数器应用实验 (50)

第一部分:汇编语言程序设计的实验环境及上机步骤 1.1汇编语言程序设计的实验环境 汇编语言程序设计的实验环境为:80x86系列微型计算机一台机进行汇编语言程序设计所必需的编程工具一套。目前被广泛使用的编程工具分别来自Microsoft和Borland两家公司。 1.1.1 Microsoft公司的汇编语言程序设计工具 ◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM) ◆小汇编程序ASM.EXE或宏汇编程序MASM.ESE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件,即目标文件(*.OBJ) ◆连接程序LINK.EXE——用于将目标文件连接生成可执行文件(*.EXE) ◆调试程序DEBUG.EXE——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。 1.1.2 Borland公司的Turbo系列汇编语言程序设计工具 ◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM) ◆汇编程序TASM.EXE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ) ◆连接程序TLINK.EXE——用于将目标文件连接生成可执行文件(*.EXE) ◆调试程序TD.EXE (Turbo Debugger) ——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。 可以看出,进行汇编语言程序设计时需要的编程工具有:文本编辑器、汇编程序、连接程序以及调试程序,下面分别对它们进行简要介绍。 1.文本编辑器(Text Editor) 在文本编辑器中,用户可以通过键盘输入汇编语言源程序,并可以对源程序进行编辑、修改以及存盘等操作。不论使用哪一种文本编辑器,都应该把汇编语言源程序保存为*.ASM文件,即源程序的扩展名必须为“ASM”,否则,汇编程序将无法对其进行汇编。 2.汇编程序(Assembler) 汇编程序用于将用户编写的汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ),其主要功能可以概括为以下三点: (1)检查源程序中的语法错误,并给出错误信息。 (2)产生目标文件(*.OBJ) (3)展开宏指令(Microsoft公司的小汇编程序ASM.EXE无此功能)

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

昆明理工大学微机原理及程序设计 实验指导书 段绍米编 昆明理工大学信息工程与自动化学院 自动化系 2013年10月

微机原理实验实验要求及运行环境 1、实验要求与注意事项: 交纸质版实验报告,实验要求: 2、实验运行环境 在电脑中装ASM Masm for windows 集成实验环境2008。双击图标打开ASM MasM for windows 集成实验环境运行工作界面,输入实验程序代码,调试、改错、保存、运行、查看结果,进行记录。

运行结果显示:

实验一两个多位十进制数相加的实验 一、实验目的 1、学习数据传送和算术运算指令的用法。 2、熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加。要求被加数均以ASCII码形式各自顺序存放在以DA TA1和DA TA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图

四、程序清单 CRLF MACRO ;宏定义,宏名:CRLF MOV DL, 0DH ;把0DH给DL MOV AH, 02H ; 把02H给AH INT 21H ;系统功能调用——实现回车功能 MOV DL, 0AH ;把0AH给DL MOV AH, 02H ; 把02H给AH INT 21H ;系统功能调用——实现换行功能ENDM ;宏定义结束——本段实现回车换行功能 DATA SEGMENT;数据段定义,段名DATA DATA1 DB 33H, 39H, 31H, 37H, 34H;变量DATA1中装入加数 DATA2 DB 36H, 35H, 30H, 38H, 32H;变量DATA2中装入被加数 DATA ENDS;数据段定义结束——本段实现了两个数据的定义 STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATA START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AX, TOP MOV SP, AX MOV SI, OFFSET DA TA2 MOV BX, 05 CALL DISPL CRLF MOV SI, OFFSET DA TA1 MOV BX, 05 CALL DISPL CRLF MOV DI, OFFSET DATA2 CALL ADDA MOV SI, OFFSET DA TA1 MOV BX, 05 CALL DISPL CRLF MOV AX, 4C00H INT 21H DISPL PROC NEAR

微机原理上机实验报告3

201406 微机原理上机实验报告 实验三 班级:物联网1班 姓名:邓笑游 学号: 01210261y11 成绩:

实验3:8086 典型习题的上机求解实验 一、实验目的 1、了解8086指令的特点。 2、学会用Debug和源程序的上机方法求解作业答案的方法。 二、预习要点 1、习题的现场 2、选用工具的方法 三、实验项目 在DOS下利用Debug调试工具和MASM、LINK工具和模版验证求解典型习题的答案。 四、实验设备环境 PC机1台,DOS操作系统,Debug调试工具 五、实验方法 1.现有数据段如下: DAT1 SEGMENT ORG 0020H A1 DW 12H , 23H A2 DB 11H , 21H A3 EQU 1234H A4 EQU $+8 A5 DW 31H , A2 DAT1 ENDS 该数据段占有多少字节的存储空间?A5的偏移地址是何值?A4的值是多少? 2.若48H和93H是无符号数。 SOUR DB 48H,93H MZ DB ?

MOV AL,SOUR CMP AL,SOUR+1 JA K1 MOV AL,SOUR+1 K1: MOV MZ,AL 试问:①(MZ)=_____________ ②48H和93H是有符号数,JA K1指令应改为什么指令? 3.编程序统计某班100个学生英语考试分数高于等于85分以上的人数,结果存入MN字节中。 六、实验要求 将习题1、2、3改造上机求解答案

实验3报告习题1的上机源程序 习题1的汇编、链接

习题1的代码段 已看到答案,该数据段占有10个字节的存储空间?A5的偏移地址是0026H?A4的值是002EH 习题2的源程序

微机原理实验指导书

实验一数据传送 实验目的: 1. 熟悉8086 指令系统的数据传送指令及8086 的寻址方式。 2. 利用Turbo Debugger 调试工具来调试汇编语言程序。 实验任务: 1.通过下述程序段的输入和执行来熟悉Turbo Debugger 的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下: MOV BL,08H MOV CL,BL MOV AX,03FFH MOV BX,AX MOV DS : [0020H] ,BX 2.用以下程序段将一组数据压入(PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下: MOV AX,0102H MOV BX,0304H MOV CX,0506H MOV DX,0708H PUSH AX PUSH BX PUSH CX PUSH DX 出栈程序段请自行编写(用不同的出栈顺序) 3. 指出下列指令的错误并加以改正,上机验证之

(1) MOV [BX] ,[SI] (2) MOV AH ,BX (3) MOV AX ,[SI][DI] (4) MOV BYTE PTR[BX] ,2000H (5) MOV CS ,AX (6) MOV DS ,2000H 4. 设置各寄存器及存储单元的内容如下: (BX) = 0010H , (SI) = 0001H (10010H) = 12H , (10011H) = 34H , (10012H) = 56H , (10013H) = 78H (10120H) = 0ABH , (10121H) = 0CDH , (10122H) = 0EFH 说明下列各条指令执行完后AX 寄存器中的内容,并上机验证。 (1) MOV AX ,1200H (2) MOV AX ,BX (3) MOV AX ,[0120H] (4) MOV AX ,[BX] (5) MOV AX ,0110H[BX] (6) MOV AX ,[BX][SI] (7) MOV AX ,0110H[BX][SI] 5. 将DS : 1000H 字节存储单元中的内容送到DS : 2020H 单元中存放。试分别用8086 的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。 6. 设AX 寄存器中的内容为1111H ,BX 寄存器中的内容为2222H ,DS : 0010H 单元中的内容为3333H 。将AX 寄存器中的内容与BX 寄存器中的内容交换,然后再将BX 寄存器中的内容与DS : 0010H 单元中的内容进行交换。试编写程序段,并上机验证结果。 7. 设(DS) = 1000H , (ES) = 2000H,有关存储器的内容如图1.5 所示。要求将DS 段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。

相关文档
最新文档