刘坎杰—142867—软件141—汇编第一次作业.docxVIP

  • 19
  • 0
  • 约2.71千字
  • 约 13页
  • 2017-07-05 发布于天津
  • 举报

刘坎杰—142867—软件141—汇编第一次作业.docx

刘坎杰—142867—软件141—汇编第一次作业.docx

汇编语言程序设计实验 姓名: 刘坎杰 学号: 142867 班级: 软件141 3.1实验一 顺序与分支程序设计 一 、实验目的 掌握顺序程序设计方法。 掌握分支程序的结构及分支程序的设计,调试方法。 2) 学习数据传送及算术和逻辑运算指令的用法。 3) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。 二、实验内容 6) 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。 7) 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的一个字符,按下列要求计算。 当输入字符为A,则计算X+Y,并以十六进制形式显示出来 当输入字符为B,则计算|X-Y|,并以十六进制形式显示出来 当输入字符为C,则计算X*Y,并以十六进制形式显示出来 当输入字符为D,则计算X/Y,并以十六进制形式显示出来 三、程序流程图 6) 7) 四、程序源代码 6) DATA SEGMENT X DB ? Y DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA S:MOV AX,DATA MOV DS,AX L0:MOV AH,2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H MOV AH,1 INT 21H SUB AL,30H MOV X,AL MOV AL,X CMP X,3 JZ L1 CMP X,4 JZ L2 CMP X,5 JZ L3 CMP X,6 JZ L4 CMP X,0 JZ L6 JMP L0 L1:MUL X ADD AL,X MOV Y,AL JMP L5 L2:MUL X SUB AL,X SUB AL,X MOV Y,AL JMP L5 L3:MUL X MOV Y,AL JMP L5 L4:MUL X MOV BL,2 DIV BL MOV Y,AL L5:MOV AH,2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H MOV DL,Y MOV CL,4 SHR DL,CL CMP DL,9 JLE L7 ADD DL,7 L7:ADD DL,30H MOV AH,2 INT 21H MOV DL,Y AND DL,0FH CMP DL,9 JLE L8 ADD DL,7 L8:ADD DL,30H MOV AH,2 INT 21H JMP L0 L6:MOV AH,4CH INT 21H CODE ENDS END S 7) DATA SEGMENT TIP1 DB PLEASE INTUP THE FIRST HEXADECIMAL NUMBER,0AH,0DH,$ TIP2 DB 0AH,0DH,PLEASE INTUP THE SECOND HEXADECIMAL NUMBER,0AH,0DH,$ TIP3 DB 0AH,0DH,PLEASE INPUT A,B,C,D,0AH,0DH,$ X DB 0 Y DB 0 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,TIP1 MOV AH,9 INT 21H MOV AH,1 INT 21H CMP AL,0 JB F1 CMP AL,9 JA NEXT1 SUB AL,30H MOV X,AL JMP NEXT NEXT1:CMP AL,A JB F1 CMP AL,F JA NEXT2 SUB AL,37H MOV X,AL JMP NEXT NEXT2:CMP AL,a JB F1 CMP AL,f JA F1 SUB AL,57H MOV X,AL NEXT:LEA DX,TIP2 MOV AH,9 INT 21H MOV AH,1 INT 21H CMP AL,0 JB F1 CMP AL,9 JA NEXT11 SUB AL,30H MOV Y,AL JMP NEXTR F1:MOV AH,4CH INT 21H NEXT11:CMP AL,A JB F2 CMP AL,F JA NEXT22 SUB AL,37H

文档评论(0)

1亿VIP精品文档

相关文档