哈工程微机原理实验3

合集下载

微机原理实验三实验报告

微机原理实验三实验报告

实验3. 循环程序设计一、实验目的⒈掌握移位指令的使用方法。

⒉学会循环结构程序的编程方法。

⒊利用DEBUG调试程序查看循环程序循环过程中CS和IP的变化情况。

二、实验要求⒈编写程序并上机调试,记录运行结果。

⒉用DEBUG调试程序调试所编程序,查看并记录每条指令内存单元地址及执行结果(包括F标志寄存各位值。

)⒊注意观察并记录每条指令执行后CS和IP寄存器值变化情况,以加深对循环程序的概念的理解。

三、实验内容⒉编写统计15个学生数学学习成绩程序。

要求:分别统计出低于60分,60-69分,70-79分,80-89分,90-100分的人数,并存放到S5,S6,S7,S8,S9,S10对应内存单元中。

源程序代码;DATA SEGMENTDATA1 DB 55,60,65,88,67,70,75,80,77,85,90,66,95,53,100DATA2 DB 5 DUP(?)DATA ENDS;CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,15LEA SI,DATA1LEA DI,DATA2AGAIN:MOV AL,[SI]CMP AL,90JB NEXT1INC BYTE PTR[DI]JMP NEXT0NEXT1:CMP AL,80JB NEXT2INC BYTE PTR[DI+1]JMP NEXT0NEXT2:CMP AL,70JB NEXT3INC BYTE PTR[DI+2]JMP NEXT0NEXT3:CMP AL,60JB NEXT4INC BYTE PTR[DI+3]JMP NEXT0NEXT4:INC BYTE PTR[DI+4]NEXT0:INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START程序运行结果截图:四、实验总结本次实验掌握移位指令的使用方法。

哈尔滨理工大学 电技 微机原理实验报告

哈尔滨理工大学 电技 微机原理实验报告
学生姓名:
学号:
指导教师:薛萍
实验一
课程名称
微机原理与接口
时间:2014.10
实验名称
DEBUG命令
地点:B302
姓名
学号
班级:电技12-2
成绩评定:
一.实验目的
● 学习使用DEBUG命令R、D、E、F、M及A、U、G、T
● 综合使用DEBUG命令调试程序
二.实验内容
(1)按照规定的格式练习使用DEBUG命令, 观察命令执行的情况,
PUSH BX
POP AX
POP BX
INT3
3.2算术运算指令的实验步骤
MOV AX,1234
MOV BX,5678
ADD AX,BX
SUB AX,5678
ADD AL,BL
DAA
XCHG AL,AH
ADC AL,BH
DAA
XCHG AL,AH
INT3
四.仿真结果及分析
3.1.1
A命令
3.1.2
3.2
xor eax,eax
mov ebx,eax
again:movzx edx,array[ebx*(type array)]
add eax,edx
inc ebx
loop again
mov sum,eax
以上程序完成数组求和。要求用CV调试运行该程序。
●程序ex1_3_4. asm
.code
.startup
mov esi,offset string
xor ebx,ebx;EBX
again:mov al,[esi]
cmp al,0
jz done
cmp al,20h
jne next

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

哈工程微机原理3-6

哈工程微机原理3-6
3.2.4 串操作指令
串操作指令就是用一条指令实现对存储器中一串字符或 数据的操作。8086指令系统提供了5条基本的串操作指 令和相应的重复前缀指令。
字符串传送MOVS(Move byte or word string) 字符串读取LODS(Load byte or word string) 字符串存储STOS(Store byte or word string) 字符串比较CMPS(Compare byte or word string) 字符串扫描(搜索)SCAS(Scan byte or word string) 无条件重复前缀指令REP (repeat) 条件重复前缀指令REPE/REPZ(repeat while equal/zero) 条件重复前缀指令REPNE/REPNZ (repeat whilenot equal/not zero)
REPNZ/REPNE前缀可以理解为:当数据串 没有结束(CX≠0),并且串不相等(ZF= 0),则继续比较;总结当不相等/不为零时重 复串操作,串相等(非正常退出时ZF=1)或串 结束(正常退出时ZF=0)时退出。
使用串指令的程序段结构如下: ... 设置源串指针(DS,SI) 设置目的串指针(ES,DI) 设置重复操作次数(CX)--仅执行1次时可省略 设置操作方向(DF) 重复前缀(REP/REPZ/REPNZ)--仅执行1次时可省略 串操作指令(MOVS/CMPS/SCAS/LODS/STOS)
DF=0,(SI)增量;DF=1, (SI)减量。 不影响FR寄存器的值。
演示
1.基本串操作指令
(3)存串指令 把AL或AX数据存储至目的地址ES:[DI]中,主要 用于赋相同初值。
演示
STOSB STOSW

哈尔滨工程大学微机原理课后题答案

哈尔滨工程大学微机原理课后题答案

第一章1题(1)110=6EH=01101110B (2)1039=40FH =010*********B(3)0.75D=0.11B=0.CH (4)0.15625D=0.00101000B=0.28H2题(1)129 (0001 0010 1001)BCD注:在计算机汇编程序中BCD码只能用16进制数表示,形式为129H(2) 5678 (0101 0110 0111 1000) BCD(3) 0.984 (0.1001 1000 0100) BCD(4) 93.745 (1001 0011.011101000101) BCD3题(1) 10101010B=0AAH=170D (2)10000000B=80H=128D(3) 11000011.01B=0C3.4H=195.25 (4) 01111110B=7EH=126D4题(1)8E6H=100011100110B=2278 (2)0A42H=101001000010B=2626(3)7E.C5H=01111110.11000101B=126.769(4)0F19.1DH=111100011001.00011101B=3865.113285题(1)1011011.101B=91.625D BCD为(10010001.011000100101) BCD(2)1010110.001B=86.125D BCD为(10000110.000100100101) BCD6题(0010 0111 0011) BCD 表示的十进制数为273 二进制数为100010001B(1001 0111.0010 0101) BCD 表示的十进制数为97.25 二进制数为01100001.01B7题(1) (2) (3) (4)1001.11B 1101.01B 1000.011B 1111B+ 11.11B - 0110.11B - 1001.101B - 1101B1101.10B 0110.10B 0110.110B 0010B8题6AH AB1 FH 12ADH 117H+ A6H + 0 E FCH - 01DEH - 0ABH110H B A 1B H 10C F H 06 CH9题(1)无符号数X=01H =01D Y=0FFH=255(2)符号数X=01H =01D Y=0FFH= -1注:对于同一个数到底是符号数还是无符号数是由程序设计者根据数据实际的意义决定的,一旦定下来,在程序中采用不同的指令来区分符号数和无符号数,即算数运算指令会有符号数和无符号两套指令。

微机接口原理实验3

微机接口原理实验3

实验3 汇编语言程序上机过程1.汇编,连接及调试时产生的错误,其原因及解决办法。

DATA SEGMENT ;数据段定义伪指令(段名 segment [定位类型][组合类型][‘类别’]…………段名 ends源程序的每个逻辑段由segment开始,到ends结束)MESSAGE DB 'THIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAY' ;数据定义伪指令DB 0DH,0AH,'PLEASE STRIKE THE KEY!',0DH,0AH,'$' ;定义要显示的字符串,'$'为插入串结束符DATA ENDS ;数据段结束STACK SEGMENT ;堆栈段定义伪指令DB 50 DUP(?) ;重复操作符STACK ENDS ;堆栈段结束CODE SEGMENT ;代码段定义伪指令ASSUME CS:CODE,DS:DATA,SS:STACK ;设定段寄存器伪指令START: MOV AX,DATAMOV DS,AX ;将数据段的新生儿湿疹段地址送入DS,即初始化DSMOV DX,OFFSET MESSAGE ;取偏移地址送入DXMOV AH,9INT 21H ;DOS功能的9号功能,在显示器上显示字符串AGAIN: MOV AH,1INT 21H ;DOS功能的1功能,在键盘输入的内容同时也显示在显示器上CMP AL,1BH ;比较键入的是否是“ESC”JE EXIT ;键入字符是“ESC”则转至EXIT语句处CMP AL,61H ;比较键入的字符与小写字母“a”的ASCⅡ码大小JC ND ;键入字符小于“a”则转至ND处CMP AL,7AH ;比较键入的字符与小写字母“z“的ASCⅡ码大小JA ND ;输入字符大于“z”则转至ND处AND AL,11011111B ;使小写字母变成大写字母ND: MOV DL,ALMOV AH,2INT 21H ;DOS功能的2功能,在显示器上显示字符JMP AGAIN ;无条件转移到AGAIN语句EXIT: MOV AH,4CHINT 21H ;返回DOSCODE ENDS ;代码段结束END START汇编调试时出现如下错误:(5) zero prefix must be added to a HEX value, for example: 0Ch数字”0”和大写英文字母”O”相似,但16进制最大只有F,所以编译系统不知道”O”是什么,所以出错。

哈工程微机原理实验

哈工程微机原理实验

原程序CODE SEGMENT ;H8255-2.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;8255 控制口IOAPT EQU 0FF28H ;PA 口IOBPT EQU 0FF29H ;PB 口IOCPT EQU 0FF2AH ;PC 口ORG 11e0HSTART: MOV AL,82H ;PB 输入,PA,PC 输出MOV DX,IOCONPTOUT DX,AL ;写命令字MOV DX,IOBPT ;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL ;保存PB 口数据MOV DX,IOCONPT ;8255 控制口MOV AL,80HOUT DX,AL ;写命令字, PA,PB,PC 输出MOV DX,IOBPT ;MOV AL,DS:[0601H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY1 ;延时IOLED0: MOV AL,10100101BMOV DX,IOCPTOUT DX,AL ;南北绿灯亮,东西红灯亮CALL DELAY1 ;延时CALL DELAY1 ;延时OR AL,0F0HOUT DX,AL ;南北绿灯灭MOV CX,8HIOLED1: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL ;南北黄灯亮CALL DELAY2 ;延时OR AL,01010000BOUT DX,AL ;南北黄灯灭CALL DELAY2 ;延时LOOP IOLED1 ;南北黄灯闪烁8 次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2 ;延时MOV AL,01011010BOUT DX,AL ;东西绿灯亮CALL DELAY1 ;延时CALL DELAY1OR AL,0F0HOUT DX,AL ;东西绿灯灭MOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL ;东西黄灯亮CALL DELAY2 ;延时OR AL,10100000BOUT DX,AL ;东西黄灯灭CALL DELAY2 ;延时LOOP IOLED2 ;东西黄灯闪烁8 次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2JMP IOLED0 ;循环继续DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START修改程序CODE SEGMENT ;H8255-2.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;8255 控制口IOAPT EQU 0FF28H ;PA 口IOBPT EQU 0FF29H ;PB 口IOCPT EQU 0FF2AH ;PC 口ORG 11e0HSTART: MOV AL,82H ;PB 输入,PA,PC 输出MOV DX,IOCONPTOUT DX,AL ;写命令字MOV DX,IOBPT ;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL ;保存PB 口数据MOV DX,IOCONPT ;8255 控制口MOV AL,80HOUT DX,AL ;写命令字, PA,PB,PC 输出MOV DX,IOBPT ;MOV AL,DS:[0601H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY1 ;延时IOLED0: MOV AL,10100101BMOV DX,IOCPTOUT DX,AL;CALL DELAY1 ;延时CALL DELAY1 ;延时CALL DELAY1 ;延时CALL DELAY1 ;延时OR AL,0F0HOUT DX,AL ;东西绿灯灭MOV CX,4HIOLED1: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL ;黄灯亮CALL DELAY2 ;延时OR AL,01010000BOUT DX,AL ;黄灯灭CALL DELAY2 ;延时LOOP IOLED1 ;东西黄灯闪烁4 次MOV AL,10100101BOUT DX,ALCALL DELAY1 ;延时CALL DELAY1 ;延时OR AL,0F0HOUT DX,AL ;东西绿灯灭MOV CX,4HIOLED3: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL ;东西黄灯亮CALL DELAY2 ;延时OR AL,01010000BOUT DX,AL ;东西黄灯灭CALL DELAY2 ;延时LOOP IOLED3 ;东西黄灯闪烁4 次MOV AL,10101111B;OUT DX,AL;CALL DELAY1;OR AL,01010000B;OUT DX,AL;MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2 ;延时MOV AL,01011010BOUT DX,AL ;绿灯亮CALL DELAY1 ;延时CALL DELAY1CALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,AL ;绿灯灭MOV CX,4HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL ;黄灯亮CALL DELAY2 ;延时OR AL,10100000BOUT DX,AL ;黄灯灭CALL DELAY2 ;延时LOOP IOLED2 ;黄灯闪烁4 次MOV AL,01011010BOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,4HIOLED4: MOV DX,IOBPT MOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL ;黄灯亮CALL DELAY2 ;延时OR AL,10100000BOUT DX,AL ;黄灯灭CALL DELAY2 ;延时LOOP IOLED4 ;黄灯闪烁4 次MOV AL,01011111B;OUT DX,AL;CALL DELAY1;OR AL,10100000B;OUT DX,AL;MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2JMP IOLED0 ;循环继续DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND STARTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2 ;延时MOV AL,01011010BOUT DX,AL ;绿灯亮CALL DELAY1 ;延时CALL DELAY1OR AL,0F0HOUT DX,AL ;绿灯灭MOV CX,8HIOLED2: MOV DX,IOBPT MOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL ;黄灯亮CALL DELAY2 ;延时OR AL,10100000BOUT DX,AL ;黄灯灭CALL DELAY2 ;延时LOOP IOLED2 ;灯闪烁8 次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2JMP IOLED0 ;循环继续DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2 LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,4000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START。

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

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

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

1. 实验目的。

本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。

3. 实验步骤。

(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。

(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。

(3)了解存储器与I/O接口的基本概念和工作原理。

(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。

通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。

实验二,接口技术实验。

1. 实验目的。

本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。

3. 实验步骤。

(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。

(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。

(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。

(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。

通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。

总结。

通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。

希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。

微机原理_中断实验报告(3篇)

微机原理_中断实验报告(3篇)

第1篇一、实验目的1. 理解中断系统的基本概念和工作原理。

2. 掌握中断源、中断向量、中断服务程序等基本概念。

3. 学习使用Keil软件进行中断程序的编写和调试。

4. 熟悉中断在微机系统中的应用。

二、实验原理中断系统是微机系统中重要的组成部分,它允许CPU在执行程序的过程中,响应外部事件或内部事件,从而实现多任务处理。

中断系统主要包括以下几个部分:1. 中断源:产生中断请求的设备或事件,如外部设备、定时器、软件中断等。

2. 中断向量:中断服务程序的入口地址,用于CPU在响应中断时找到相应的服务程序。

3. 中断服务程序:处理中断请求的程序,完成中断处理任务。

4. 中断优先级:不同中断源的优先级不同,用于确定中断响应的顺序。

三、实验设备与软件1. 实验设备:单片机实验板、计算机、Keil软件、Proteus仿真软件。

2. 实验软件:Keil uVision4、Proteus 8.0。

四、实验内容1. 外部中断实验(1)使用外部中断0(INT0)实现按键控制LED灯的亮灭。

(2)使用外部中断1(INT1)实现按键控制LED灯的闪烁。

2. 定时器中断实验(1)使用定时器0产生1秒的定时中断,实现LED灯的闪烁。

(2)使用定时器1产生1秒的定时中断,实现按键输入的计数。

3. 软件中断实验(1)使用软件中断实现按键输入的字符显示。

(2)使用软件中断实现按键输入的字符加密显示。

五、实验步骤1. 在Keil软件中创建一个新项目,选择合适的单片机型号。

2. 根据实验要求,编写中断服务程序,设置中断向量。

3. 在Proteus软件中搭建实验电路,包括单片机、按键、LED灯等。

4. 将Keil软件编译后的程序下载到单片机中。

5. 在Proteus软件中运行仿真,观察实验结果。

六、实验结果与分析1. 外部中断实验(1)按键按下时,LED灯亮;按键松开时,LED灯灭。

(2)按键按下时,LED灯闪烁;按键松开时,LED灯停止闪烁。

大学微机原理实验报告(3篇)

大学微机原理实验报告(3篇)

第1篇实验名称:微机原理实验实验日期:2023年10月25日实验地点:计算机实验室实验教师:[教师姓名]实验学生:[学生姓名]班级:[班级名称]一、实验目的1. 理解微机原理的基本概念和组成结构。

2. 掌握微机硬件的基本操作和调试方法。

3. 熟悉汇编语言编程和程序调试技巧。

4. 通过实验加深对微机原理课程的理解,提高动手能力。

二、实验内容本次实验主要分为以下几个部分:1. 微机硬件系统结构认识:了解微机硬件系统的组成,包括CPU、内存、I/O接口等,熟悉各部件的功能和相互关系。

2. 汇编语言编程:学习汇编语言的基本语法和指令系统,编写简单的汇编程序,实现特定功能。

3. 程序调试:使用调试工具(如DEBUG)对汇编程序进行调试,查找并修正错误。

4. 微机原理实验:完成以下实验任务:1. 编写程序实现两个多位十进制数的相加。

2. 编写程序实现字符串比较功能。

3. 编写程序实现乘除法运算。

三、实验步骤1. 微机硬件系统结构认识:- 观察实验室中的微机硬件系统,了解各部件的连接方式和功能。

- 使用示波器检测实验装置的信号是否正常。

2. 汇编语言编程:- 学习汇编语言的基本语法和指令系统。

- 编写程序实现两个多位十进制数的相加,程序如下:```;加数DATA1 DB 3,4,5,6,7;被加数DATA2 DB 2,3,4,5,6;结果SUM DB 5 DUP(0);程序开始MOV CX, 5 ;循环次数MOV AL, 0 ;结果初始化为0MOV SI, OFFSET DATA1 ;加数地址MOV DI, OFFSET DATA2 ;被加数地址ADD_LOOP:ADD AL, [SI] ;加数加到AL寄存器ADC AL, [DI] ;进位加到AL寄存器MOV [DI], AL ;结果存回DI寄存器ADD SI, 1 ;加数地址加1ADD DI, 1 ;被加数地址加1LOOP ADD_LOOP ;循环;程序结束```- 编写程序实现字符串比较功能,程序如下:```;字符串1STRING1 DB 'Hello';字符串2STRING2 DB 'World';比较结果RESULT DB 0;程序开始MOV SI, OFFSET STRING1 ;字符串1地址MOV DI, OFFSET STRING2 ;字符串2地址CMP_LOOP:MOV AL, [SI] ;读取字符串1的当前字符CMP AL, [DI] ;与字符串2的当前字符比较 JNE NOT_EQUAL ;不相等则跳转到NOT_EQUAL INC SI ;字符串1地址加1INC DI ;字符串2地址加1LOOP CMP_LOOP ;循环MOV RESULT, 1 ;相等则将结果设置为1JMP END ;跳转到ENDNOT_EQUAL:MOV RESULT, 0 ;不相等则将结果设置为0END:;程序结束```- 编写程序实现乘除法运算,程序如下:```;被乘数DATA1 DB 10;乘数DATA2 DB 5;结果PRODUCT DB 0;程序开始MOV AL, [DATA1] ;被乘数加载到AL寄存器MUL [DATA2] ;乘数乘到AL寄存器MOV [PRODUCT], AL ;结果存回PRODUCT;程序结束```3. 程序调试:- 使用DEBUG工具对汇编程序进行调试,查找并修正错误。

微机原理实验

微机原理实验

微机原理实验一、实验目的。

本实验旨在通过实际操作,加深对微机原理的理解,掌握微机原理的实验技能,提高实际动手能力。

二、实验仪器与设备。

1. PC机一台。

2. 数字示波器一台。

3. 信号发生器一台。

4. 示波器探头若干。

三、实验原理。

微机原理实验是通过对微机原理相关知识的实际操作,来加深对微机原理的理解。

包括微处理器的工作原理、总线的结构和工作原理、存储器的结构和工作原理等内容。

四、实验内容。

1. 实验一,微处理器的工作原理。

通过实际操作,观察微处理器在不同工作状态下的运行情况,了解微处理器的工作原理及其内部结构。

2. 实验二,总线的结构和工作原理。

利用数字示波器和信号发生器,对总线进行测试,观察总线的工作情况,了解总线的结构和工作原理。

3. 实验三,存储器的结构和工作原理。

通过对存储器进行读写操作,观察存储器的存取过程,了解存储器的结构和工作原理。

五、实验步骤。

1. 实验一,微处理器的工作原理。

(1)将微处理器插入主板插槽,并连接电源。

(2)通过示波器观察微处理器在不同工作状态下的波形变化。

(3)记录观察结果并进行分析。

2. 实验二,总线的结构和工作原理。

(1)连接信号发生器和示波器到总线上。

(2)调节信号发生器的频率和幅度,观察示波器上的波形变化。

(3)记录观察结果并进行分析。

3. 实验三,存储器的结构和工作原理。

(1)利用存储器进行读写操作,观察存储器的存取过程。

(2)记录观察结果并进行分析。

六、实验结果与分析。

通过实验操作,得出了微处理器的工作原理、总线的结构和工作原理、存储器的结构和工作原理等方面的实验结果,并进行了相应的分析。

七、实验总结。

通过本次实验,加深了对微机原理相关知识的理解,掌握了微机原理的实验技能,提高了实际动手能力,为今后的学习和工作打下了良好的基础。

八、实验心得。

通过本次实验,我深刻体会到了实际操作的重要性,只有亲自动手去做,才能真正理解和掌握微机原理相关知识。

同时,也感受到了微机原理实验的乐趣,希望通过不断地实验操作,能够进一步提高自己的实验技能和动手能力。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。

实验一,微机系统组成及工作原理。

1.1 微机系统的组成。

微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。

其中,CPU是微机系统的核心部件,负责控制整个系统的运行。

1.2 微机系统的工作原理。

微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。

CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。

实验二,微机系统的组装和调试。

2.1 微机系统的组装。

在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。

组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。

2.2 微机系统的调试。

组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。

通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。

实验三,微机系统的应用。

3.1 微机系统的应用领域。

微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。

在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。

3.2 微机系统的发展趋势。

随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。

未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。

结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。

这对我今后的学习和工作将有很大的帮助。

微机原理中断实验报告(3篇)

微机原理中断实验报告(3篇)

第1篇一、实验目的1. 理解中断的概念和作用;2. 掌握中断系统的组成和基本工作原理;3. 熟悉中断向量表、中断服务程序和中断处理过程;4. 通过实验验证中断系统的正确性和可靠性。

二、实验原理1. 中断的概念:中断是CPU在执行程序过程中,由于某些事件的发生,暂时停止当前程序的执行,转而执行相应的事件处理程序的过程。

2. 中断系统的组成:中断系统主要由中断控制器、中断源、中断向量表、中断服务程序和CPU等组成。

3. 中断向量表:中断向量表是存储中断服务程序入口地址的表格,其中每个中断向量对应一个中断服务程序。

4. 中断服务程序:中断服务程序是处理中断事件的核心程序,用于完成中断事件的处理任务。

5. 中断处理过程:当中断事件发生时,CPU会根据中断向量表找到对应的中断服务程序入口地址,并跳转到该地址执行中断服务程序。

三、实验仪器与设备1. 实验台:微机原理实验台2. 电脑:一台3. 软件环境:Keil uVision、emu8086等四、实验步骤1. 启动实验台,打开微机原理实验台软件。

2. 在软件中设置实验参数,如中断源、中断向量等。

3. 编写中断服务程序,实现中断事件的处理任务。

4. 编写主程序,调用中断服务程序。

5. 运行实验程序,观察中断系统的运行情况。

五、实验内容1. 实验一:单级中断系统(1)设置一个外部中断源,如按键中断。

(2)编写中断服务程序,实现按键按下时的处理任务。

(3)在主程序中调用中断服务程序。

2. 实验二:多级中断系统(1)设置两个外部中断源,如按键中断和定时器中断。

(2)编写中断服务程序,实现按键中断和定时器中断的处理任务。

(3)设置中断优先级,实现多级中断。

(4)在主程序中调用中断服务程序。

3. 实验三:中断嵌套(1)设置两个外部中断源,如按键中断和定时器中断。

(2)编写中断服务程序,实现按键中断和定时器中断的处理任务。

(3)实现中断嵌套,即在定时器中断服务程序中再次触发按键中断。

哈工程微机原理实验4

哈工程微机原理实验4

实验五字符串匹配程序一、实验目的掌握显示提示信息的方法及接收键盘输入信息的方法。

二、实验内容编写程序, 实现两个字符串比较。

如相同, 则显示”MATCH”,否则, 显示“NO MATCH”。

四、实验程序及实验现象crlf m acromov dl,0dhmov ah,02hint 21hmov ah,02hmov dl,0ahint 21hendmdata segmentmess1 db 'match',0dh,0ah,'$'mess2 db 'nomatch',0dh,0ah,'$'mess3 db 'inputstring1:',0dh,0ah,'$'mess4 db 'inputstring2:',0dh,0ah,'$'maxlen1 db 81actlen1 db ?string1 db 81 dup(?) maxlen2 db 81actlen2 db ?string2 db 81 dup(?)data endsstack segment sta db 50 dup (?)top equ length stastack endscode segmentassumecs:code,ds:data,es:data,s s:stackstart: m ov ax,datamov ds,axmov es,axmov ax,stackmov ss,axmov sp,topmov ah,09hmov dx,offset mess3int 21hmov ah,0ahmov dx,offset maxlen1int 21hcrlfmov ah,09hmov dx,offset mess4int 21hmov ah,0ahmov dx,offset maxlen2int 21hcrlfcldmov si,offset string1mov cl,[si-1]mov ch,00hkkk: mov di,offset string2push cxmov cl,[di-1]mov ch,00hmov al,[si]mov dx,direpnz scasb jz ggginc sipop cxloop kkkmov ah,09hmov dx,offset mess2int 21hjmp pppggg: mov ah,09hmov dx,offset mess1int 21hppp: mov ax,4c00hint 21hcode endsend start输入字符串1和字符串2, 比较, 若有相同字符则显示“match”, 没有则显示“no match”(下图有和没有两种情况)五、修改后的程序及实验现象crlf macromov dl,0dhmov ah,02hint 21hmov ah,02hmov dl,0ahint 21hendmdata segmentdata1 db 5 dup (?)mess1 db 'match',0dh,0ah,'$'mess2 db 'nomatch',0dh,0ah,'$'mess3 db 'inputstring1:',0dh,0ah,'$' mess4 db 'inputstring2:',0dh,0ah,'$' maxlen1 db 81 actlen1 db ?string1 db 81 dup(?) maxlen2 db 81 actlen2 db ?string2 db 81 dup(?) data endsstack segmentsta db 50 dup (?)top equ length sta stack endscodesegmentassumecs:code,ds:data,es:data,ss:stackstart: m ov ax,datamov ds,axmov es,axmov ax,stackmov ss,axmov sp,topmov ah,09hmov dx,offset mess3 •int 21hmov ah,0ahmov dx,offset maxlen1int 21hcrlfmov ah,09hmov dx,offset mess4int 21hmov ah,0ahmov dx,offset maxlen2int 21hcrlfcldmov si,offsetstring1mov cl,[si-1]mov ch,00h mov bh,0kkk: mov di,offsetstring2push cxmov bl,30hmov cl,[di-1]mov ch,00hmov al,[si]mov dx,dilp1: scasbjz founddec cxjnz lp1test bl,0fhjnz ggglp2: inc sipop cxloop kkktest bh,4fhjnz pppmov ah,09hmov dx,offset mess2int 21hjmp pppfound: add bl,01add bh,01dec cxjnz lp1ggg: mov ah,09h mov dx,offset mess1int 21hmov dl,[si] mov ah,02h int 21h crlfmov dl,bl • int 21h crlf jmp lp2 ppp: mov ax,4c00h int 21h code ends end start输入字符串1和字符串2, 比较, 若有相同字符则显示“match ”, 没有则显示“no match ”, 且要显示出匹配的字符和次数。

哈工程微机原理3-5

哈工程微机原理3-5

第3章
循环移位指令对标志的影响
按照指令功能设置进位标志CF 不影响SF、ZF、PF、AF 如果进行一位移动,则按照操作数的
最高符号位是否改变,相应设置溢出 标志 OF:如果移位前的操作数最高位 与移位后操作数的最高位不同(有变 化),则OF = 1;否则OF = 0。当移 位次数大于1时,OF不确定
若最高位和CF不同, OF=1
溢出移位前后符
号位不同
若最高位和CF相同, OF=0
无溢出,移位前
后符号位没有改变 24
算术移位——把操作数看做有符号数; 逻辑移位——把操作数看做无符号数。 移位位数放在CL寄存器中,可以直接写在指令中。例 如: MOV CL,4 SHR AL,CL ;AL中的内容右移4位 影响CF,PF,SF,ZF,OF标志。 结果未溢出时: 左移1位≡操作数*2 右移1位≡操作数/2
1.逻辑运算指令
【例】将AL寄存器中第3位和第7位置1。 MOV AL,0 OR AL,88H
作用:通常对某些位置1。
1.逻辑运算指令
5)逻辑异或指令XOR 语句格式: XOR DEST,SRC 功能:目的操作数与源操作数做逻辑异或运算,结 果送入原目的操作数的存放地方。 即(DEST)⊕(SRC) → (DEST) 。 说明:逻辑异或的运算法则为;1⊕1=0,1⊕0=1, 确定某一个 操作数是否与另一个操作数相等。 除了AF 影响其他五位且 OF=CF=0
3.2.3 逻辑运算与移位指令
逻辑运算与移位指令包括逻辑运算指令,移位指令, 循环移位指令。 逻辑运算指令以每一位为基本单位进行数据的操作; 移位指令注意移动方向和移进移出数据。 注意这些指令对标志位的影响。 1、逻辑运算指令 AND OR XOR NOT TEST 2、移位指令 SHL SHR SAL SAR 3、循环移位指令 ROL ROR RCL RCR

微机原理仿真实验3and4

微机原理仿真实验3and4

实验三微机距离保护算法(1)一、实验目的1.熟悉MATLAB桌面和命令窗口;2.通过编写滤波程序、阻抗计算程序以及距离保护动作判据程序,了解微机保护工作原理。

3.定性分析各种算法的优缺点。

二、基础知识及MATLAB函数Matlab是一款具有非常强大的矩阵处理能力的数学软件,点击工具栏上的图标,进入编程界面,如图1所示。

图 1 matlab编程界面相关函数:(1)load:该函数的作用是将外部数据导入,调用格式为:load(‘E:/文件名’);(2)plot:该函数的作用是将数据绘成图形,调用格式为:plot(t,y),t为横坐标的数据,y为纵坐标数据;三、实验原理1、微机保护算法四、实验内容1、用“load”函数导入I_DATA_3.txt短路电流数据和U_DATA_3.txt短路电压数据,对其进行滤波处理,要求滤除直流分量和二次谐波分量。

注意观察数据的特征,数据第一列为时间,第二列为A相值,第三列为B相值,第三列为C相值。

观察滤波前后的波形。

2、编写微机保护算法程序,包括短路阻抗算法和动作判据算法(判据为相间距离保护判据),阻抗继电器的动作特性采用方向圆特性。

并利用该程序对步骤1处理后的数据进行计算,观察保护的动作情况。

距离保护的整定值为:Z set=1.08+j24.92 。

五、实验报告1、绘制滤波前后的电流、电压波形,并进行对比分析;3. 设计编写保护算法程序,绘制阻抗幅值变化的波形,并分析保护的动作情况。

六、预习要求1.熟悉各种滤波算法和保护算法;2.预习MATLAB的基本使用方法。

实验四微机距离保护算法(2)一、实验目的1.熟练掌握matlab/simulink的使用方法;2.通过matlab/simulink输电网络模型与上次实验所编写的继电保护算法程序联合仿真,熟悉继电保护仿真研究的基本方法。

二、实验步骤MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。

哈工程微机原理3-4

哈工程微机原理3-4

(2)组合BCD码调整指令
1) 组合BCD码的加法调整指令 格式:DAA 调整方法:DAA指令要分别考虑AL的高4位和低4位。
功能:将AL的内容调整为压缩BCD码(两位组合型的十进制数)。
如果AL的低4位大于9或AF=1,则AL的内容加6,并将AF置1; 如果AL 的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。 DAA指令对OF标志无定义,按结果影响其他标志位,例如CF 反映压缩BCD码相加或减的进位或借位状态。
分成压缩BCD码和非压缩BCD码调整。
压缩BCD码就是通常 的8421码;它用4个二 进制位表示一个十进 制位,一个字节可以 表示两个十进制位, 即00~99 非压缩BCD码用8个 二进制位表示一个十 进制位,只用低4个 二进制位表示一个十 进制位0~9,高4位 任意,通常默认为0
8086支持压缩BCD码和非压缩BCD码的调整 运算。 真值 8 64 二进制编码 08H 40H 压缩BCD码 08H 64H 非压缩BCD码 08H 0604H
(4)非组合乘法调整指令
例3-34 两个非组合BCD码的乘法运算。 MOV AL,,06H ;AL←06H MOV BL,07H ;BL←07H MUL BL ;AX←002AH AAM ;AX←0402H
(4)非组合BCD码乘法调整指令
AAM指令跟在字节乘MUL之后(非压缩BCD码看
多字节数据相加减,每进行一次字节加减都要使用AL保存结果 进行调整。
(2)组合BCD码十进制调整指令
1) 组合BCD码的加法调整指令 例3-25 两个组合BCD码的加法运算 MOV AL,37 H ;(AL)←37 MOV BL,35 H ;(BL)←35 ADD AL,BL ;(AL)=6CH,AF=0,CF=0 DAA ;因为AL中的低4位大于9, 所以 (AL)←(AL)+06, 结果(AL)=72,AF=1,CF=0

哈工程微机原理习题课

哈工程微机原理习题课

哈工程微机原理习题课习题课1. 设8253三个计数器的端口地址为201H 、202H 、203H ,控制寄存器端口地址200H 。

试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX 。

答:MOV AL ,80H MOV DX ,200H OUT DX ,AL MOV DX ,203HIN AL ,DX MOV BL ,AL INAL ,DX ,MOV BH ,AL MOV AX ,BX2. 设8253三个计数器的端口地址为21H 、22H 、23H ,控制寄存器端口地址20H 。

输入时钟为2MHz ,让1号通道周期性的发出脉冲,其脉冲周期为1ms ,试编写初化程序段。

答:要输出脉冲周期为1ms ,输出脉冲的频率是331110110-=??,当输入时钟频率为2MHz时,计数器初值是6332102102000110=?=? 使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H 。

设控制口的地址是20H ,计数器0的地址是22H 。

程序段如下: MOV DX,20H MOV AL,76H OUT DX,,AL MOV DX,22H MOV AX ,2000 OUT DX ,ALMOV AL ,AH OUT DX ,AL3. 设8253计数器的时钟输入频率为1.91MHz ,为产生25KHz 的方波输出信号,应向计数器装入的计数初值为多少?答: Z1.91MHz25KH = 76.4应向计数器装入的初值是76。

4. 设8253的计数器1,工作在方式2,计数初值为3000H ;计数器2,工作在方式3,计数初值为1000H 。

如果两个计数器的GA TE 都接高电平,三个计数器的CLK 都接2MHz 时钟信号,试画出OUT1、OUT2的输出波形。

答:计数器1工作在方式2,即分频器的方式。

输出波形的频率f=clk f N = 2MHz 3000=666.7H Z ,其周期为1.5m s ,输出负脉冲的宽度等于CLK 的周期为0.5μs 。

哈工程微机原理3.1

哈工程微机原理3.1

基址变址寻址的功能
0D00
MOV AX,[BX] [SI]
7、 基址变址相对寻址
操作数的有效地址是一个基址寄存器内容和一个变址 寄存器的内容和8位或16位偏移量相加之加,其物理 地址为:
(DS)×16+(BX)+(SI/DI)+8位或16位偏移量
(SS)×16+(BP)+(SI/DI)+8位或16位偏移量
有效地址是寄存器内容与有符号8位或16位位移 量之和,寄存器可以是BX、BP或SI、DI。
有效地址=(BX/BP/SI/DI)+8位/16位偏移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP 寄存器默认是SS;可用段超越前缀改变。 常用于表格处理。寄存器内容为指针, 8位/16
位偏移量为偏移量。
5 、寄存器相对寻址
例3-7 假定(DS)=2000H,(SS)=3000H,(SI)=3600H, (BP)=1100H,COUNT=10H,(23620H)=8A76H, (31110H)=4567H MOV AX ,[SI+20H] MOV BX ,[BP+COUNT] 指令MOV BX,[BP+COUNT]书写有下面的等效形式: MOV BX,[BP]+COUNT MOV BX,COUNT[BP] 这种寻址方式可用于表格的处理,通过位移量来设置表格的首地 址;利用修改基址寄存器或变址寄存器的内容来获得表项的值。
多种表达形式
同一寻址方式可以写成不同的形式:
MOV AX,[BX][SI] ;等同于 MOV AX,[BX+SI] MOV AX,COUNT[SI] ;等同于 MOV AX,[SI+COUNT] MOV AX,WNUM[BX][SI] ;等同于 MOV AX,WNUM[BX+SI] ;等同于 MOV AX,[BX+SI+WNUM]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三字符匹配程序
一、实验目的
掌握汇编语言中串操作指令的使用方法。

二、实验内容
用串操作指令设计程序,实现在存储区(长度为100H)中寻找空格字符(20H)。

退出时给出是否找的信息。

四、实验程序及实验现象
CRLF MACRO
MOV DL,0DH
MOV AH,02H
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
ENDM
DATA SEGMENT
MESS1 DB 'INPUT THE SEGMENT ADDR :$'
MESS2 DB 'INPUT THE OFFSET ADDR:$'
MESS3 DB 'OK! HAS FOUND!',0DH,0AH,'$'
MESS4 DB 'NO SPACE CHARACTER!',0DH,0AH,'$'
ERROR DB 'INPUT ERROR!',0DH,0AH,'$'
DATA ENDS
STACK SEGMENT
STA DW 32 DUP(?)
TOP DW ?
STACK ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA,ES:DATA,SS: STACK
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,09H
MOV
DX,OFFSET MESS1
INT 21H
CALL GETNUM
MOV ES,DX
MOV AH,09H
MOV
DX,OFFSET MESS2
INT 21H
CALL GETNUM
MOV DI,DX
CLD
MOV
CX,0100H
MOV AL,20H
REPNZ SCASB
JNZ AAA
MOV AH,09H
MOV
DX,OFFSET MESS3
INT 21H
JMP BBB
AAA: MOV AH,09H
MOV DX,OFFSET MESS4
INT 21H BBB: MOV AX,4C00H INT 21H GETNUM PROC NEAR
PUSH CX
XOR DX,DX GGG: MOV AH,01H INT 21H
CMP AL,0DH JZ PPP
CMP AL,20H JZ PPP
SUB AL,30H JB KKK
CMP AL,0AH JB GETS
CMP AL,11H
JB KKK
SUB AL,07H
CMP AL,0FH
JBE GETS
CMP AL,2AH
JB KKK
CMP AL,2FH
JA KKK
SUB AL,20H
GETS: MOV CL,04
SHL DX,CL
XOR AH,AH
ADD DX,AX
JMP GGG
KKK: MOV AH,09H
MOV DX,OFFSET ERROR
INT 21H
PPP: PUSH DX
CRLF
POP DX
POP CX
RET
GETNUM ENDP
CODE ENDS
END START
输入基址地址1000和偏移地址3050,查找空格字符,找到了
五、修改后的实验程序及现象
RLF MACRO
MOV DL,0DH
MOV AH,02H
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
ENDM
DATA SEGMENT
MESS1 DB 'INPUT THE SEGMENT ADDR :$'
MESS2 DB 'INPUT THE OFFSET ADDR:$'
MESS3 DB 'OK! HAS FOUND!',0DH,0AH,'$'
MESS4 DB 'NO SPACE CHARACTER!',0DH,0AH,'$'
MESS5 DB 'INPUT WHAT YOU WANT TO FIND:$'
ERROR DB 'INPUT ERROR!',0DH,0AH,'$'
DATA ENDS
STACK SEGMENT
STA DW 32 DUP(?)
TOP DW ?
STACK ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA,ES:DATA,SS: STACK
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,09H
MOV
DX,OFFSET MESS1
INT 21H
CALL GETNUM
MOV ES,DX
MOV AH,09H
MOV
DX,OFFSET MESS2
INT 21H
CALL GETNUM
MOV DI,DX
MOV AH,09H
MOV
DX,OFFSET MESS5
INT 21H
CALL GETNUM CLD
输入基址地址1000和偏移地址3050,输入所要查找的6c字符,找到了输入基址地址80和偏移地址30,输入所要查找的05字符,没有找到
六、实验结论
输入实验程序并进入DOS环境下运行,实现了实验所要求的功能,即实现输入基址地址和偏移地址,查找空格字符,显示是否找到,对程序进
行改进,并运行程序,实现输入基址地址、偏移地址,输入所要查找字符,并显示没有找到。

相关文档
最新文档