汇编实验报告_第1页
汇编实验报告_第2页
汇编实验报告_第3页
汇编实验报告_第4页
汇编实验报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验三 算术运算与代码转换程序设计一、实验目的 1)掌握算术运算程序的设计方法。2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。 4)熟练掌握和使用用DEBUG调试程序。 二、实验内容1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。三、

2、实验设备 PC机一台四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 5) 用D命令检查执行结果。 六、源程序实验一DATA SEGMENT NUM1 DB 22H,33H,44H,55H,66H,77H NUM1L DB 6H NUM2 DB 22H,22H,22H,22H NUM2L DB 4H OUTCOME1 

3、DB 10H DUP(0) OUTCOME2 DB 10H DUP(0) N DB 0H DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA

4、 MOV DS,AX MOV CH,0 MOV SI,OFFSET NUM1 MOV DI,OFFSET NUM2 MOV AH,NUM1L MOV AL,NUM2L CMP AH,AL JAE CHA XCHG SI,DI XCHG AH,AL CHA:SUB AH,AL   MOV CL,AL CLC M

5、OV BX,OFFSET OUTCOME1LOP1:MOV AL,DI PUSH CX MOV CL,SI  ADC CL,AL MOV BX,CL INC BX INC SI INC DI POP CX LOOP LOP1 MOV CL,AH JCXZ LOP3 LOP2:PUSH CX MOV 

6、CL, BYTE PTR SI ADC CL,0 MOV BX,CL POP CX INC BX  INC SI  LOOP LOP2 LOP3:MOV CH,0 MOV SI,OFFSET NUM1 MOV DI,OFFSET NUM2 MOV AH,NUM1L MOV AL,NUM2L CMP&

7、#160;AH,AL JAE CHA1 XCHG SI,DI XCHG AH,AL CHA1:SUB AH,AL  MOV CL,AL CLC MOV BX,OFFSET OUTCOME2 LOP11:MOV AL,DI PUSH CX MOV CL,SI  SBB CL,AL MOV BX,CL INC BX

8、0;INC SI INC DI POP CX LOOP LOP11 MOV CL,AHJCXZ LOP7 LOP21:PUSH CX MOV CL, BYTE PTR SI SBB CL,0 MOV BX,CL POP CX INC BX  INC SI  LOOP LOP21 

9、LOP7:MOV DI,OFFSET OUTCOME1 ADD DI,10H MOV CX,11H LOP4: MOV DL,DI DEC DI CMP N,0H JNE LOP5 CMP DL,0H JE LOP9 LOP5:PUSH DX PUSH CX MOV CL,4H SHR DL,CL POP C

10、X CMP DL,9H JBE LOP6 ADD DL,7H LOP6:ADD DL,30H MOV AH,2 INT 21H MOV N,1H POP DX AND DX,0FH CMP DL,9H JBE LOP8 ADD DL,7H LOP8:ADD DL,30H MOV AH,2 INT 2

11、1H MOV DL,'H' MOV AH,2 INT 21H LOP9:LOOP LOP4 MOV N,0 MOV DI,OFFSET OUTCOME2ADD DI,10H MOV CX,11H LOP14: MOV DL,DI DEC DI CMP N,0H JNE LOP15 CMP DL,0H J

12、E LOP19 LOP15:PUSH DX PUSH CX MOV CL,4H SHR DL,CL POP CX CMP DL,9H JBE LOP16 ADD DL,7H LOP16:ADD DL,30H MOV AH,2 INT 21H MOV N,1H POP DX AND DX,0FH CM

13、P DL,9H JBE LOP18 ADD DL,7H LOP18:ADD DL,30H MOV AH,2 INT 21H MOV DL,'H' MOV AH,2 INT 21H LOP19:LOOP LOP14 MOV AH,4CH INT 21H CODE ENDS END START实验2 DAT

14、A SEGMENT TISHI1 DB 'Please enter the first number:','$' TISHI2 DB 'Please enter the second number:','$' JIA DB '+','$' JIAN DB '-','$&

15、#39; CHENG DB '*','$'CHU DB '/','$' DENG DB '=','$' YU DB '.','$' A DB 10 B DW 10 C DW 10000 F DW 0H NUM1 DW

16、60;0H NUM2 DW 0H N DB 0H N1 DB 4H DATA ENDS STACK1 SEGMENT STACK DW 30H DUP(0) STACK1 ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATA START:MOV AX,DATA  MOV DS,AX

17、60; MOV DX,OFFSET TISHI1  MOV AH,09H  INT 21H LOOP2:MOV AX,NUM1  MUL B MOV BX,AX  MOV AH,1  INT 21H  CMP AL,0DH  JE LOP1  MOV NUM1,BX  

18、MOV AH,0  SUB AL,30H  ADD NUM1,AX  JMP LOOP2  LOP1:MOV DL,0AH          输出换行和回车 MOV AH,2  INT 21H  MOV DL,0DH  MOV AH,2  

19、INT 21HMOV DX,OFFSET TISHI2  MOV AH,09H  INT 21H LOOP1:MOV AX,NUM2MUL B  MOV BX,AX  MOV AH,1  INT 21H  CMP AL,0DH  JE LOP3  MOV NUM2,BX  MOV

20、 AH,0  SUB AL,30H  ADD NUM2,AX  JMP LOOP1 LOP3:MOV DL,0AH          输出换行和回车   MOV AH,2  INT 21H  MOV DL,0DH  MOV AH,2  IN

21、T 21H  MOV N,0  MOV DX,NUM1 MOV F,DX  LOP6:MOV DX,0H   MOV AX,F   DIV B   PUSH DX   INC N   CMP AX,0H   JE LOP7 

22、60; MOV F,AX   JMP LOP6  LOP7:MOV CL,N   MOV CH,0  LOP16:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOP16  MOV DX,NUM2&#

23、160;MOV F,DX MOV N,0 MOV DX,OFFSET JIA  MOV AH,09H  INT 21H  LOOOP6:MOV DX,0H   MOV AX,FDIV B   PUSH DX   INC N CMP AX,0H   JE LOO

24、OP7   MOV F,AX   JMP LOOOP6  LOOOP7:MOV CL,N   MOV CH,0  LOOOP16:POP DX   ADD DX,30H   MOV AH,2   INT 21H LOOP LOOOP16  MOV D

25、X,OFFSET DENG  MOV AH,09H  INT 21H   MOV N,0 LOOP3:MOV AX,NUM1   ADD AX,NUM2   MOV F,AX  LOOP4:MOV DX,0H   MOV AX,F   DIV B   

26、;PUSH DX   INC N CMP AX,0H   JE LOOP5   MOV F,AX   JMP LOOP4  LOOP5:MOV CL,N   MOV CH,0  LOOP0:POP DX   ADD DX,30H   MOV

27、 AH,2   INT 21H   LOOP LOOP0 MOV DL,0AH          输出换行和回车  MOV AH,2  INT 21H  MOV DL,0DH  MOV AH,2  INT 21H  MO

28、V N,0MOV DX,NUM1 MOV F,DX LOP61:MOV DX,0H   MOV AX,F   DIV B   PUSH DX   INC N CMP AX,0H   JE LOP71   MOV F,AX   JMP LOP

29、61  LOP71:MOV CL,N   MOV CH,0  LOP161:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOP161  MOV DX,NUM2 MOV F,DX MOV N,0 MOV

30、0;DX,OFFSET JIAN  MOV AH,09H  INT 21H LOOOP61:MOV DX,0H   MOV AX,F   DIV B   PUSH DX   INC N CMP AX,0H   JE LOOOP71   MOV F,A

31、X   JMP LOOOP61  LOOOP71:MOV CL,N   MOV CH,0  LOOOP161:POP DX   ADD DX,30H   MOV AH,2   INT 21H LOOP LOOOP161  MOV DX,OFFSET DENG  

32、;MOV AH,09H  INT 21H   MOV N,0MOV N,0  MOV AX,NUM1  SUB AX,NUM2   MOV F,AX  AND AX,10000000B   CMP AX,10000000B   JNE LOOP6   NEG 

33、F LOOP6:MOV DX,0   MOV AX,F   DIV B   PUSH DX   INC N CMP AX,0H   JE LOOP7   MOV F,AX   JMP LOOP6  LOOP7:MOV CL,N  

34、 MOV CH,0  LOOP16:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOOP16 MOV DL,0AH          输出换行和回车   MOV AH,2

35、0;  INT 21H   MOV DL,0DH   MOV AH,2   INT 21H MOV N,0  MOV DX,NUM1 MOV F,DX LOP62:MOV DX,0H   MOV AX,F   DIV B   PUSH DX

36、   INC N  CMP AX,0H   JE LOP72   MOV F,AX   JMP LOP62  LOP72:MOV CL,N   MOV CH,0LOP162:POP DX   ADD DX,30H   MOV AH,2 &#

37、160; INT 21H   LOOP LOP162  MOV DX,NUM2 MOV F,DX MOV N,0 MOV DX,OFFSET CHENG  MOV AH,09H  INT 21H  LOOOP62:MOV DX,0H   MOV AX,F   DIV B

38、   PUSH DX   INC N CMP AX,0H   JE LOOOP72   MOV F,AX   JMP LOOOP62  LOOOP72:MOV CL,N   MOV CH,0  LOOOP162:POP DX   ADD D

39、X,30H   MOV AH,2   INT 21H  LOOP LOOOP162  MOV DX,OFFSET DENG  MOV AH,09H  INT 21H   MOV N,0   MOV AX,NUM1   MUL NUM2   

40、DIV C   PUSH DX   MOV F,AX   MOV N,0  LOOP8:MOV DX,0   MOV AX,F   DIV B    PUSH DX   INC N  CMP AX,0H   J

41、E LOOP9 MOV F,AX   JMP LOOP8  LOOP9:MOV CL,N   MOV CH,0  LOOP17:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOOP17   

42、;MOV N,0   POP F  LOOP10:MOV DX,0H   MOV AX,F   DIV B   PUSH DX   INC N  CMP AX,0H   JE LOOP11   MOV F,AX   JM

43、P LOOP10  LOOP11:MOV AL,N   CMP AL,4H   JE LOOP20   MOV AL,4H   SUB AL,N   MOV CL,AL   MOV CH,0 LOOP19:MOV DX,'0'   MOV AH

44、,2   INT 21H   LOOP LOOP19  LOOP20:MOV CL,N   MOV CH,0  LOOP18:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOOP18  M

45、OV DL,0AH          输出换行和回车  MOV AH,2  INT 21H  MOV DL,0DH  MOV AH,2  INT 21HMOV N,0  MOV DX,NUM1 MOV F,DX LOP64:MOV DX,0H 

46、60; MOV AX,F   DIV B   PUSH DX   INC N  CMP AX,0H   JE LOP74   MOV F,AX   JMP LOP64  LOP74:MOV CL,N   MOV CH,0 

47、0;LOP164:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOP164  MOV DX,NUM2 MOV F,DX MOV N,0 MOV DX,OFFSET chu  MOV AH,09H  INT 21H

48、60;LOOOP64:MOV DX,0H   MOV AX,F   DIV B   PUSH DX   INC N  CMP AX,0H   JE LOOOP74   MOV F,AX   JMP LOOOP64  LOOOP74:MOV CL,N&

49、#160;  MOV CH,0  LOOOP164:POP DX   ADD DX,30H   MOV AH,2   INT 21H   LOOP LOOOP164   MOV DX,OFFSET DENG  MOV AH,09H  INT 21H MOV&#

50、160;N,0MOV AX,NUM1   MOV DX,0   DIV NUM2   PUSH DX   MOV F,AX   MOV N,0  LOOP15:MOV DX,0   MOV AX,F   DIV B   PUSH DX

51、60;  INC N  CMP AX,0H   JE LOOP12   MOV F,AX   JMP LOOP15  LOOP12:MOV CL,N   MOV CH,0  LOOP21:POP DX   ADD DX,30H   MOV 

52、AH,2   INT 21H   LOOP LOOP21   MOV DX,OFFSET YU  MOV AH,09H  INT 21H   POP F   MOV N,0  LOOP13:MOV DX,0   MOV AX,F  

53、0;DIV B   PUSH DX   INC N   CMP AX,0H   JE LOOP14   MOV F,AX   JMP LOOP13  LOOP14:MOV CL,N   MOV CH,0H  LOOP22:POP DX &#

54、160; ADD DX,30HMOV AH,2   INT 21H   LOOP LOOP22 MOV AH,4CH INT 21H CODES ENDS END START 实验五 输入输出程序设计 一、实验目的 1) 掌握输入输出程序的编写方法。 2) 熟悉系统功能调用的方法。 3) 熟悉动画程序的编写方法。 二、实验内容 1)在CRT上每隔一秒连续显示字符09。 编程提示 为了使输出的字符之

55、间有空格,在每一个循环中输出一个09的字符和一个空格。为了输出09,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。 2)用系统功能调用将HELLO由键盘输入,再从屏幕输出*HELLO*。 3)编制在屏幕上画线的子程序,调用该子程序画一矩形。4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。5)创建一磁盘文件,保存从键盘输入的字符串。6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。7)编写程序将屏幕分割成格状,每一格涂上

56、不同颜色,格数从键盘输入。8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。三、实验设备 PC机一台 四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。5、 源程序实验五 EXAM51 STACK SEGMENT STACK DB 1024 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV BL, 0 LP: MOV DL, 20H MOV AH, 2 INT 21H MOV AL, BL ADD AL, 0 DAA AND AL, 0FH MOV BL, AL PUSH BX OR AL, 30H MOV DL, AL MOV AH, 2 INT 21H MOV BX, 3E8H LP2: MOV CX, 176H ;延时1ms LP1: PUSHF POPF LOOP LP1 DEC BX JNZ LP2 POP BX INC BL JMP LPCODE ENDS END START执行程序EXAM51·EXE,屏幕上依次循环显示一个数字一个空格:0    1 2 3 4 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论