微机原理与接口技术实验二

合集下载

微机原理与接口技术实验二 建立90H个无符号数

微机原理与接口技术实验二  建立90H个无符号数

电子信息专业实验报告课程微机原理与接口技术实验实验题目建立90H个无符号数学生姓名lz评分学号班级同实验者实验时间地点电子信息学院专业实验中心一、实验目的1、掌握循环程序设计与调试方法2、在指定内存区域存放数据3、掌握“单步执行T”、“分段执行G=起始地址停止地址”、“连续执行G=起始地址”的调试方法二、实验内容(含技术指标)1、在指定单元建立90H个无符号数,使用基本指令编写循环程序实现2、用DEBUG调试执行文件3、在指定的内存单元检查数据4、按照要求执行程序,记录并分析数据三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等)1、联想笔记本电脑Windows系统2、Masm for Windows集成实验环境2015四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等)1、以偏移地址1000H为起点,初始值为00H,每次增加1H,依次建立90H个无符号数2、数据位置:数据段地址DS:3000H偏移地址(起始)1000H初始数据:第一个数00H偏移地址(起始)1000H总数90H个寄存器安排:AL:需存的数(第一个00H)SI:存入的地址(第一个1000H)3、本次实验用到了条件转移指令JNZ,JNZ全称jump if not zero,在本实验中当CL 结果不为零则转移L1循环。

4、操作指令分段执行操作G=起始地址停止地址;连续执行操作G=起始地5、实现原理框图:(经实验指导老师签字认可的原始数据记录纸或添加页粘贴处)五、实验步骤(实验关键操作步骤,仪器、电路及器件选择使用,原程序及关键指令注释等)1、编写循环程序DATAS SEGMENT MOV DS,AXDATAS ENDS MOV CL,90HSTACKS SEGMENT L1:MOV[SI],ALSTACKS ENDS INC SICODES SEGMENT INC ALASSUME CS:CODES,DS:DATAS,SS:STACKS DEC CLSTART:JNZ L1MOV AL,00H INT3HMOV SI,1000H CODES ENDSMOV AX,3000H END START2、单步执行调试使用DEBUG,将执行文件调入内存;—U检查程序;—R检查、设置所需寄存器;—T从程序的第一条指令开始,单步执行每执行一条指令,检查并记录要求的数据;连续执行20个单步3、用分段执行方式调试程序重新使用DEBUG,将执行文件调入内存;—U检查程序;—R检查、设置所需寄存器;执行第1次循环:G停止地址(判断CL=0指令的偏移地址);从程序第1条指令开始(含初始化指令)到循环体的最后一条指令处停止;检查、记录指定的寄存器内容执行第2次循环:—T先执行一个单步;第一次循环未执行判断指令(—T,执行判断);CL不为零,转移到前面,循环存入第二个数;—G停止地址(判断CL=0指令的偏移地址)(执行第2次循环,不包含初始化指令)检查、记录指定寄存器内容执行第3次循环:同第2次循环的操作共执行10次循环;每次都需检查、记录指定寄存器内容4、连续执行(将所有循环执行完毕)—G=0000从程序的第1条指令开始执行,遇INT3H停止检查存放数据的区域(31000H开始的90H个单元)D3000:10001090记录数据六、实验数据(测量数据波形曲线或数据列表,标明单位及测量数据的有效位数)单步执行检查记录表分步执行检查记录表连续执行数据记录七、实验数据分析(对实验结果的评价,误差分析,出现故障原因及排除方法,回答思考题等)数据分析:1、在单步执行检查中,AL,CL,SI,IP的数据与理论结果一致,没有出现错误。

微机原理及接口技术实验报告

微机原理及接口技术实验报告

《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。

2. 继续熟悉实验操作软件的环境及使用方法。

二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。

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

四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。

(2) 编译连接无误后,进入调试环境,进行程序的调试。

按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。

如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。

图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。

数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。

继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。

图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。

如图1-3所示。

图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。

2. 掌握运算类指令对各状态标志位的影响及测试方法。

微机原理与接口技术-拆字程序

微机原理与接口技术-拆字程序

《微机原理与接口技术》课程实验报告
一、实验目的和要求
实验目的:掌握汇编语言设计和调试方式。

实验要求:通过本实验,掌握8051汇编程序设计以及仿真实验的流程及方法。

二、实验环境
DVCC单片机仿真实验系统独立工作以及连PC机。

三、实验内容及实施
【实验内容】把7000H的内容拆开,高位送7001H低位,低位送7002H低位。

7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区使用。

【源程序】
【实验步骤】
(1)先用存储器读写方法将7000H单元置成34H。

(2)用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输人0050H后按STEP为单步,按EXEC为连续)。

(3)按MON键或RESET键退出。

(4)检查7001H和7002H单元中的内容应为03H和04H
四、实验结果
五、实验讨论
用断点方式调试本程序的方法:把光标指向语句左边,然后单击,会出现一个符号。

同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。

通过本次实验,对单片机的RAM和ROM的使用有了更加透彻的理解,熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用,并且逐步掌握汇编语言设计和调试方式。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。

实验一,微机原理。

在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。

通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。

同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。

实验二,接口技术。

在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。

我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。

实验三,实验综合。

在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。

通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。

总结。

通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。

微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。

希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。

以上就是本次实验的实验报告,希望对大家有所帮助。

感谢大家的阅读!。

微机原理与接口技术实验报告二

微机原理与接口技术实验报告二

微机原理与接口技术实验报告(二)1、实验内容一:实验目的:(1) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。

2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。

如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。

运行后程序正常, 调试完毕。

如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。

STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。

实验二算术逻辑运算及移位操作微机原理与接口技术

实验二算术逻辑运算及移位操作微机原理与接口技术

计算内存单元中的这三个数之和,和存放在0013H 单元中,再求出这三个数之积,乘积存放在0014单元中。

试编写完成此功能的汇编语言程序段并上机验证结果(将结果截图)。

MOV BX,0010H MOV [BX],10H MOV [BX+1],04H MOV [BX+2],30H MOV AX,0000H ADD AL,[BX] ADD AL,[BX+1] ADD AL,[BX+2]MOV DS:[0013H],AL MOV AL,[BX]MUL byte ptr [BX+1] MUL byte ptr [BX+2] MOV DS:[0014],AX3.请编写完成下述功能的汇编语言程序段。

上机验证结果,程序运行的最后结果(AX)=?(将结果截图)。

(1) 传送15H 到AL 寄存器;(2) 再将AL 的内容乘以2;(3) 接着传送15H 到BL 寄存器; (4) 最后把AL 的内容乘以BL 的内容。

(1)mov al,15h (2)mov dx,2 mul dx (3)mov bl,15h (4)mul bl实 验 内容 与 实验 结 果4.用移位指令实现将AL寄存器中的无符号数乘以10。

试编写汇编语言程序段,并上机验证结果(将结果截图)。

xor ah,ahshl ax,1mov bx,axshl ax,1shl ax,1add ax,bx5.请编写完成下述功能的汇编语言程序段。

上机验证结果,程序运行后的商=?(将结果截图)。

(1) 传送数据2058H 到DS:1000H 单元中,数据12H 到DS:1002H 单元中; (2) 把DS:1000H 单元中的数据传送到AX 寄存器; (3) 把AX 寄存器的内容算术右移二位;(4) 再把AX 寄存器的内容除以DS:1002H 字节单元中的数; (5) 最后把商存入字节单元DS:1003H 中。

MOV WORD PTR[1000H],2058H MOV BYTE PTR[1002H],12H MOV AX,[1000H] MOV BX,[1002H] SAR AX,1 SAR AX,1 DIV BXMOV [1003H],AX实 验 内容 与 实验 结 果实验内容与实验结果。

微机原理与接口技术实验报告(2)

微机原理与接口技术实验报告(2)

JMP NEXTLESS: MOV MIN, AL ;小数->MINNEXT: INC BXLOOP LASTNOP ;实验时程序执行到此,通过D命令查看数据段结果lea dx, pkeymov ah, 9int 21h ; output string at ds:dx; wait for any key....mov ah, 1int 21hmov ax, 4c00h ; exit to operating system.int 21hendsend start ; set entry point and stop the assembler.实验截图:4、实验总结本次实验的目的是为了让同学们掌握汇编基本运算指令,了解指令功能及其在汇编语言和机器语言之间差异。

本实验中运用传送指令,跳转指令,循环指令,算术逻辑指令,读懂此程序,就是要重点了解MOVE,INC,LOOP,LEA等重要指令,特别是此次试验的LOOP指令来计算循环次数时一定要注意。

OFFSET指令和LEA指令都是寻地址的指令,在两者互换是一定要注意其区别。

在跳转指令中分为无条件跳转和有条件跳转,这次实验使用比较指令和有条件跳转指令来寻找最大最小值,是我们对汇编有了更加深入的逻辑了解。

总之,本次实验成功完成,在运行调试后能够得到正确答案。

2. 代码转换实验实验内容:;从键盘输入2个十进制数组合成压缩BCD码存入DL;再将压缩BCD码转换成ASCII码送CRT显示。

data segment; add your data here!pkeydb "press any key...$"endsstack segmentdw 128 dup(0)endscode segmentstart:; set segment registers:mov ax, datamov ds, axmoves, ax; add your code hereMOV AH, 01HINT 21HMOV CL, 4SHL AL, CLMOV DL, ALMOV AH, 01HINT 21Hpush dxpush axmov dl,0dhMOV AH, 02HINT 21Hmov dl,0ahMOV AH, 02HINT 21Hpop axpop dxAND AL, 0FHOR DL, ALMOV BL, DLSHR DL, CLOR DL, 30HMOV AH, 02HINT 21HMOV DL, BLAND DL, 0FHOR DL, 30HMOV AH, 02HINT 21Hmov dl,0dhMOV AH, 02HINT 21Hmov dl,0ahMOV AH, 02HINT 21Hlea dx, pkeymov ah, 9int 21h ; output string at ds:dx; wait for any key....mov ah, 1int 21hmov ax, 4c00h ; exit to operating system.int 21hendsend start ; set entry point and stop the assembler. 实验截图。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

《微机原理与接口技术》实验报告系部:指导教师:学号:姓名:实验一 8255A并行口实验A一、实验目的⑴掌握8255A和微机接口方法。

⑵掌握8255A的工作方式和编程原理。

二、实验内容用8255 PA作开关量输入口,PB作输出口。

三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、思考题1.该实验证明了8255A的什么特点?实验二 8255A并行口实验B一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0, MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALP30: MOV AL,75H MOV DX,PA OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DXMOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31MOV AL,0AEH OUT DX,AL INC DXMOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DXMOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DXMOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32JMP P30DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3六、思考题1.改变延时常数,使发光二极管闪亮时间改变。

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

命令名 D R Q T U G
实验二 debug使用和顺序程序设计 使用和顺序程序设计 2. 使用Debug工具查看 工具查看hello程序的每次执行的寄存器变 使用 工具查看 程序的每次执行的寄存器变 化 在命令栏输入: 在命令栏输入:debug hello.exe 然后输入t 然后输入 逐条查看指令的执行对寄存器的影响 标志位 OF DF IF SF ZF AF PF CF 数值 0 0 0 0 0 0 0 0 字符 NV UP DI PL NZ NA PO NC 含义 未溢出 向上 关中断 正数 非零 无辅进 奇数 无进位 数值 1 1 1 1 1 1 1 1 字符 OV DN EI NG ZR AC PE CY 含义 溢出 向下 开中断 负数 为零 有辅进 偶数 有进位
实验二 debug使用和顺序程序设计 使用和顺序程序设计
实验二: 实验二:debug使用和简单程序设计 使用和简单程序设计 实验目的: 实验目的: 1. 熟悉 熟悉debug工具的使用 工具的使用
2. 3. 熟悉传送指令和算术运算指令 熟悉顺序结构程序的设计方法
实验内容: 1. 学习 实验内容: 学习debug工具的使用 工具的使用
2. 3. 4. 使用debug工具调试实验一的 工具调试实验一的hello 使用 工具调试实验一的 程序 设计程序计算
(5
2
+ 82 / 4
)
使用debug工具查看结果 工具查看结果 使用
实验二 debug使用和顺序程序设计 使用和顺序程序设计
实验步骤: 实验步骤:
1. Debug工具的使用:在命令行输入debug 工具的使用:在命令行输入 工具的使用
含义 显示存储单元内容 检查修改寄存器内 容 退出debug 退出 跟踪 反汇编 执行到固定的位置 格式 -D address -R -Q -T -U -G address 功能 按指定地址显示存储单元内容 显示所有寄存器内容 退出debug 退出 逐条指令跟踪 按指定地址反汇编 程序执行到指定位置
实验二 debug使用和顺序程序设计 使用和顺序程序设计
3. 设计程序计算
(5
2
+8 /4
2
)
在hello.ASM 程序基础上修改 4. 使用 使用debug工具查
相关文档
最新文档