实验四-分支结构程序设计实验-张鹏

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

实验四分支结构程序设计实验_张鹏

一、实验目的

1.掌握分支结构程序设计的基本设计方法;

2.掌握条件转移指令和无条件转移指令的使用方法;

3.掌握指令对标志寄存器中各标志位的影响情况;

4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。

二、实验要求

1.学会使用DEBUG的T命令,跟踪检查指令对标志位的影响情况;

2.学会使用DEBUG中的P命令,对INT指令的跟踪方法;

3.学会利用设置断点调试程序的方法;

4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。

三、实验内容

1.编写程序,已知在DATA开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。

2.编写程序,已知在DATA开始的内存单元中,连续存放着三个带符号数据,判断三个数是否同号,若同时为正,则在屏幕上显示“+”号,若同时为负,则在屏幕上显示“-”号,否则显示“*”号。

3.编写程序,从键盘接收字符,判断该字符是否为字母、数字或非字母也非数字类字符。若为字母,则在屏幕上显示“L”;若为数字,则在屏幕上显示“D”;若为非字母也非数字,则在屏幕上显示“O”。

4.编写程序,已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接收加(+)、减(-)、乘(*)或除(/)号,完成相应运算,结果在屏幕上显示出来。

⑴当输入“+”号时,计算X+Y,并以十六进制形式显示出来;

⑵当输入“-”号时,计算X-Y,并以十六进制形式显示出来;

⑶当输入“*”号时,计算X*Y,并以十六进制形式显示出来;

⑷当输入“/”号时,计算X/Y,并以十六进制形式显示出来;

5.编写程序,从键盘输入若干个任意字符,如果是小写字母a~z之间的字符,

请将它们转换成相应的大写字母,若为其它字符,则保持不变,将转换后的新字符保存在指定的存储单元中。

四、源程序

4.1:

DSEG SEGMENT

HTAB DB '0123456789ABCDEF'

MIN DB 0

MAX DB 0

DATA00 DB 37H

DATA DB 3AH

DATA1 DB 0

DATA2 DB 0

DATA3 DB 0

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV AX,DSEG

MOV DS,AX

MOV AH,01H ;第1个数

INT 21H

CMP AL,DATA

JA CASE00

SUB AL,30H

JMP CASE000

CASE00: SUB AL,DATA00

CASE000:MOV DATA1,AL

MOV DL,','

MOV AH,02H

INT 21H

MOV AH,01H ;第2个数 INT 21H

CMP AL,DATA

JA CASE01

SUB AL,30H

JMP CASE011

CASE01: SUB AL,DATA00 CASE011:MOV DATA2,AL

MOV DL,','

MOV AH,02H

INT 21H

MOV AH,01H ;第3个数 INT 21H

CMP AL,DATA

JA CASE02

SUB AL,30H

JMP CASE022

CASE02: SUB AL,DATA00 CASE022:MOV DATA3,AL

MOV DL,';'

MOV AH,02H

INT 21H

MOV CL,DATA1

MOV CH,DATA2

CMP CL,CH

JBE CASE1 ;DATA1小于等于DATA2

JA CASE2 ;DATA1大于DATA2

CASE1: MOV DH,DATA3

CMP CL,DH

JBE CASE11 ;DATA1小于等于DATA3

JA CASE12 ;DATA1大于DATA3

CASE11: MOV MIN,CL

CMP CH,DH

JBE CASE111 ;DATA2小于等于DATA3

JA CASE112 ;DATA2大于DATA3

CASE12: MOV MIN,DH

MOV MAX,CH

JMP SHOW

CASE111:MOV MAX,DH

JMP SHOW

CASE112:MOV MAX,CH

JMP SHOW

CASE2: CMP CH,DH

JBE CASE21 ;DATA2小于等于DATA3

JA CASE22 ;DATA2大于DATA3

CASE21: MOV MIN,CH

CMP CL,DH

JBE CASE211 ;DATA1小于等于DATA3 JA CASE212 ;DATA1大于DATA3

CASE22: MOV MIN,DH

MOV MAX,CL

JMP SHOW

CASE211:MOV MAX,DH JMP SHOW

CASE212:MOV MAX,CL JMP SHOW SHOW: MOV CH,MIN MOV DH,MAX

AND DH,0FH MOV AL,DH

LEA BX,HTAB

XLAT

MOV DL,AL

MOV AH,02H

INT 21H

MOV DL,','

MOV AH,02H

INT 21H

AND CH,0FH

MOV AL,CH

XLAT

MOV DL,AL

MOV AH,02H

INT 21H

MOV AH,4CH INT 21H CSEG ENDS

相关文档
最新文档