微机原理分支结构实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理实验报告
实验二分支程序的设计
一、实验目的
1.学习提示信息的显示及键盘输入字符的方法。
2.掌握分支程序的设计方法。
二、实验内容
在提示信息下,从键盘上输入原码表示的二位十六进制有符号数。
当此数大于0时,屏幕上显示此数为正数。
当此数等于0时,屏幕上显示此数为零。
当此数小于0时,屏幕上显示此数为负数。
三、实验原理
分支程序是程序通过判断和比较形成不同的逻辑框并产生相应的分支程序。
它的结构有两种:一种是二分支,一中是多分支。
它们的共同特点是:运行方向总是向前的,在某种确定条件下,只能执行多个分支中的一个分支。
四、程序流程
CRLF MACRO
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
ENDM
DATA SEGMENT
MESS1 DB'INPUT DATA',0DH,0AH,'$'
MESS2 DB'THIS DATA IS +',0DH,0AH,'$'
MESS3 DB'THIS DATA IS -',0DH,0AH,'$'
MESS4 DB'THIS DATA IS 0',0DH,0AH,'$'
DATABUF DB 3
ACTLEN DB ?
STRING DB 3 DUP(?)
DATA ENDS
SSEG SEGMENT PARA STACK'STACK'
DB 50 DUP(0)
SSEG ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:SSEG,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,SSEG
MOV SS,AX
MOV DX,OFFSET MESS1
MOV AH,09H
INT 21H
MOV AH,0AH
MOV DX,OFFSET DATABUF
INT 21H
CRLF
MOV AL,STRING
CMP AL,38H
JAE CIRA
MOV AL,STRING+1
CMP AL,30H
JNE CIRB
MOV DX,OFFSET MESS4
MOV AH,09H
INT 21H
JMP BOT
CIRA:
MOV DX,OFFSET MESS3
MOV AH,09H
INT 21H
JMP BOT
CIRB:
MOV DX,OFFSET MESS2
MOV AH,09H
INT 21H
JMP BOT
BOT:
MOV AX,4C00H
INT 21H
CODE ENDS
END START
五、程序调试
查看结果:
DEBUG调试
调试结果图上图,程序顺利运行,结果正确。改变数值依旧运算正确。