文档详情

匯编实验报告-软121-蔡钺-122573.docx

发布:2017-01-13约1.07万字共30页下载文档
文本预览下载声明
第三章 汇编语言程序设计实验3.1实验一顺序与分支程序设计一 、实验目的 掌握顺序程序设计方法。掌握分支程序的结构及分支程序的设计,调试方法。2) 学习数据传送及算术和逻辑运算指令的用法。3) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。二、实验内容3) 在BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将其中最大数存入MAX单元,并在屏幕上显示。题目分析:①BUF、BUF+1、BUF+2分别跳转到不同的分支程序上②需要对BUF、BUF+1、BUF+2的内容进行比较流程图:源代码:DATA SEGMENT TABLE DW L1,L2,L3,L4,L5 BUF DB 32H,20H,12H NUM DB 04HDATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV BL,BUF MOV BH,BUF+1 MOV CL,BUF+2 CMP BL,BH JA L1 CMP BH,CL JA L2 JMP L3 L1:CMP BL,CL JA L4 JMP L3 L2:MOV DL,BUF+1 AND DL,0F0H SAR DL,1 ; SAR DL,1 SAR DL,1 SAR DL,1 ADD DL,30H MOV AH,02H INT 21H MOV DL,BUF+1 AND DL,0FH ADD DL,30H MOV AH,02H INT 21H JMP L5 L3:MOV DL,BUF+2 AND DL,0F0H SAR DL,1 SAR DL,1 SAR DL,1 SAR DL,1 ADD DL,30H MOV AH,02H INT 21H MOV DL,BUF+2 AND DL,0FH ADD DL,30H MOV AH,02H INT 21H JMP L5 L4:MOV DL,BUF AND DL,0F0H SAR DL,1 SAR DL,1 SAR DL,1 SAR DL,1 ADD DL,30H MOV AH,02H INT 21H MOV DL,BUF AND DL,0FH ADD DL,30H MOV AH,02H INT 21H JMP L5 L5:MOV AH,4CH INT 21HCODE ENDSEND START结果截图:遇到的问题:SAR DL,4报错6) 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。题目分析:①根据X不同,Y的运算方式不同,需要TABLE进行JMP到对应的分支程序上②AL-取输入数、BX-跳转选择(TABLE上对应地址)、BH(其他)-另外存放结果、CL(其他)-存放10(0AH)以得到(DIV R)AL中结果的十位数③由于程序段较长(L1到L6的距离超过128行),需要设置中间的跳转点(L5)流程图:代码如下:DATA SEGMENT TABLE DW L1,L2,L3,L4,L5,L6DATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV AH,01H ;键盘输入字符 INT 21H CMP AL,33H ;比较字符与’3’’7’的大小关系 JB L5 CMP AL,37H JAE L5 AND AL,0FH XOR AH,AH MOV DL,AL SUB AL,03H SHL AL,1 MOV BX,OFFSET TABLE ADD BX,AX ;获得字
显示全部
相似文档