程序汇编实验举例及总结_第1页
程序汇编实验举例及总结_第2页
程序汇编实验举例及总结_第3页
程序汇编实验举例及总结_第4页
程序汇编实验举例及总结_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、一、实验内容1.在屏幕上显示一个字符的源程序:DATAS SEGMENTSTRING DB 'HELLO!','$' ORG 100HDATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA DX,STRING MOV AH,09H INT 21H MOV AH,4CH INT 21HCODES ENDS END START2. 编写一个程序,实现字符串的复制功能,并且将复制的字符串显示出来DATAS SEGMENT STRING_A DB 'ICH

2、 LIEBE DICH','$' COUNT EQU $-OFFSET STRING_ADATAS ENDSSTACKS SEGMENTSTRING_B DB COUNT DUP(?)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV ES,AX LEA SI,STRING_A LEA DI,STRING_B MOV CX,COUNT STD REP MOVSB LEA DX,STRING_B MOV AH,9

3、 INT 21H MOV AH,4CH INT 21H MOV AH,4CH INT 21HCODES ENDSEND START3、利用中断调用,在屏幕上显示19 之间随机数。中断号86HDATAS SEGMENT CLA DB 13,10,'WE ARE GOING TO PRODUCE A NUMBER AT RANDOM:$:' INFON DB 0DH,0AH,'THE PROGRAM RUNS GOOD$' DATAS ENDSSTACKS SEGMENT STACK DB 200 DUP(0) STACKS ENDSCODES SEGMENT AS

4、SUME DS:DATAS,SS:STACKS,CS:CODES START: MOV AX,DATAS MOV DS,AX LEA DX,CLA MOV AH,9 INT 21H MOV AX,0 MOV ES,AX; MOV BX,86H*4 CLI MOV WORD PTR ES:BX,OFFSET RAN MOV WORD PTR ES:BX+2,SEG RAN STI INT 86H MOV AH,02H INT 21H LEA DX,INFON MOV AH,9 INT 21H MOV AX,4C00H INT 21H RAN PROC PUSH CX PUSH DX MOV AH

5、,0 INT 1AH MOV AX,DX XOR DX,DX MOV BX,10 DIV BX ADD DL,30H MOV AH,02H INT 21H POP DX POP CX IRET RAN ENDPCODES ENDSEND START4. 复制字符串,并倒序输出DATAS SEGMENT STRING_A DB 'still here',13,10,'$' STRING_L DB '$'DATAS ENDSSTACKS SEGMENT STRING_B DB 100 DUP(?)STACKS ENDSCODES SEGME

6、NTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX MOV AX,STACKSMOV SS,AXLEA SI,STRING_LMOV AX,SILEA SI,STRING_A LEA DI,STRING_B SUB AX,SISUB AX,3MOV CX,AX MOV BX,AX STD REP MOVSB LEA DX,STRING_B MOV AH,9 INT 21H MOV DL,13MOV AH,2INT 21HMOV DL,10MOV AH,2INT 21HLEA SI,STRING_BMOV CX,BXAD

7、D SI,BXDEC SIS:MOV DL,SIMOV AH,2 INT 21HDEC SI LOOP S MOV AH,004CH INT 21HCODES ENDSEND START5、显示比较两个数的大小DATA SEGMENTA DB 33HB DB 87HDATA ENDSSTACK SEGMENT DW 128 DUP(?) STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AL,'A'CMP B,ALJA BGAMOV DL,'A&

8、#39;MOV BL,'B'JMP DISPBGA: MOV DL,'B'MOV BL,'A'DISP: MOV AH,2INT 21HMOV DL,'>'INT 21HMOV DL,BLINT 21H MOV AH,4CHINT 21H CODE ENDSEND START6、键盘输入10个学生的成绩,编写一个程序统计60-69分,70-79分,80-89分,90-99分及100分的人数,分别存放在Score6,Score7,Score8,Score9和Score10单元中。 输入10个学生的成绩如下:65 94 78 8

9、2 83 95 72 68 90 98DATAS SEGMENT INFON1 DB 13,10,'PLEASE INPUT THOSE SCORDS(YOU NEED NOT PRESS ENTER BETWEEN THEM):$' INFON3 DB 13,10,'$' INFON2 DB 13,10,'THE NUMBER OF SCORD6-SCORD10 IS:' SCORD6 DB 30H DB 32 SCORD7 DB 30H DB 32 SCORD8 DB 30H DB 32 SCORD9 DB 30H DB 32 SCORD10

10、 DB 30H DB '$'DATAS ENDSSTACKS SEGMENT DB 200 DUP(0)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AH,9 LEA DX,INFON1 INT 21H MOV AH,9 LEA DX,INFON3 INT 21H MOV CX,10 S: MOV AH,1 INT 21H CALL CAL INT 21H MOV AH,2 MOV DL,32 INT 21H LOOP S MOV AH,9

11、 LEA DX,INFON2 INT 21H MOV AX,4C00H INT 21H CAL PROC PUSH AX CMP AL,36H JZ G6 CMP AL,37H JZ G7 CMP AL,38H JZ G8 CMP AL,39H JZ G9 CMP AL,31H JZ G1G6: ADD SCORD6,1 JMP WANG7: ADD SCORD7,1 JMP WANG8: ADD SCORD8,1 JMP WANG9: ADD SCORD9,1 JMP WANG1: ADD SCORD10,1 MOV AH,1 INT 21HWAN:POP AXRETCAL ENDPCODE

12、S ENDSEND START二、心得体会指令助记符决定了指令的功能,对应一条二进制编码的机器指令。指令的操作数个数由该指令确定,可以没有操作数,也可以有一个或多个操作数,大多数指令要显示写出来,还有些操作数是隐含的。当指令包含操作数的时候,书写时必须遵守:1、指令助记符和操作数之间有分隔符,比如几个空格;2、如果含有多个操作数,操作数之间用逗号分隔。 现在简单总结汇编语言指令的分类:1、数据传送指令;2、标志位操作指令;3 、算术运算指令;4、逻辑运算指令;5、移位运算指令;6、位操作指令;7、比较运算指令;8、循环指令;9、转移指令;10、条件设置字节指令;11、串操作指令;12、BCD码运算调整指令;13、处理器指令。 在编写汇编程序时,应该注意特别容易出现的错误,例如在编写数据传送指令时,目的操作数和源操作数的类型一定要匹配,CS不能作为目的操作数,offset后只能跟简单地址符号,等等。 汇编语言的寻址方式有直接寻址,寄存器寻址,基址变址寻址,相对基址变址寻址等等,掌握这些都是编写汇编程序很重要的环节。 汇

温馨提示

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

评论

0/150

提交评论