汇编上机(实验二)_第1页
汇编上机(实验二)_第2页
汇编上机(实验二)_第3页
汇编上机(实验二)_第4页
汇编上机(实验二)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流汇编上机(实验二).精品文档.昆明理工大学信息工程与自动化学院学生实验报告( 201 201 学年 第 一 学期 )课程名称:汇编与微机接口实验 开课实验室: 年 月 日年级 学号 姓名 成绩实验项目名称实验二 循环及分支程序设计指导教师 教师评语 教师签名: 年 月 日一、实验目的:1、熟悉并且掌握汇编语言的基本指令;2、熟练地掌握循环与分支程序的设计过程;3、掌握带符号数的比较转移指令:JL、JLE、JG、JGE;4、伪指令 EQU 及操作符 '$'的使用。5、熟悉并且掌握BIOS 和DOS中断的调用方法。二、实验要求:A

2、、设计要求1、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符,则结束程序,若为其它字符则不显示,继续等待新的字符输入。2、提示编程: 回车字符的ASCII码为0DH 显示字符用INT 21H的2号调用B、设计要求已知DATA单元开始存放三个带符号数1、判断三个数是否同号,若同时为正,显示“+”,若同时为负,则显示“”,否则显不“*”。2、显示三个数中的最小值。c、设计要求编写7c号中断的处理程序,使得在除法溢出发生时,在屏幕上输出字符串”201110405313 Li Longzhi”,然后返回DOS。d、设计要求编写一个程序,

3、接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后存入内存缓冲区BUFFER。加密表为:输入数字:0、1、2、3、4、5、6、7、8、9密码数字:7,5,9,1,3,6,8,0,2,4提示:加密可通过XLAT指令完成。 要求:键盘输入通过BIOS和DOS中断分别实现。三、实验环境汇编程序:MASM 6.15,链接程序:LINK.EXE,调试环境:DEBUG.EXE,对操作系统和计算机五特殊要求,如果是WIN7以上操作系统,需要安装DOSBOX虚拟平台。四、实验内容(算法及运行结果的截图)先模拟c盘和设置好默认路径,后面程序则可以在该路径下直接编译、链接和运行。后面文件

4、分别为a.asm、b.asm 、c.asm和test.asm、d.asm。a. 程序代码:data segment ;定义数据段DB 0data endscode segment assume cs:code,ds:datamain proc far ;定义main函数 push ds ;对ds寄存器进栈保护 sub ax,ax ;对ax清零 push ax ;对ax寄存器进栈保护 mov ax,data mov ds,ax ;将data段地址赋值给dsnext:mov ah,07h ;调用int 21键盘输入(无回显)功能int 21hcmp al,0dh ;回车ascall码为0dhjE

5、end_dcmp al,'0' ;对数字处理JGE DY0 ;>=0JMP NEXT ;<'0'.30HDY0: ;数字处理函数CMP AL,'9' ;因为int21 07号功能字符信息存于AL中。JLE IS_09 CMP AL, 'A'JGE DY_A ;DAYU AJMP NEXT ;<'A'.41HDY_A:CMP AL,'Z'JLE IS_AZCMP AL,'a'JGE DY_xA ;DAYU xAJMP NEXT ;<'a'.61H

6、DY_xA:CMP AL,'z'JLE IS_AZJMP NEXTIS_AZ:MOV AH,02MOV DL,'c'INT 21HJMP NEXTIS_09:MOV AH,2MOV DL,ALINT 21HJMP NEXTend_d: ret ; 用于调用返回main endpcode ends end main程序运行截图:b.程序代码:data_C segmentDATA DB 5,6,7 ;编程所用3个数,该处3数值可任意设定A1 DB 0A2 DB 0A3 DB 0DISP_MESS DB 0DH,0AH,'MIN IS : ' ;输出字

7、符串D1 DB 0D2 DB 0, 'H$'data_C endscode segment assume cs:code,ds:data_Cmain proc far push ds ;寄存器进栈保护 sub ax,ax ;ax寄存器清零 push ax ;寄存器进栈保护 mov ax,data_Cmov ds,ax ;将数据段地址赋值给dsMOV BX, OFFSET DATA ;将数据段首地址赋值给bxMOV AL,BXINC BXMOV AH,BXCMP AL,AH ;将bx值取出并进行判断是否已取完JL ALAL1 ;AL<AHXCHG AH,ALALAL1:IN

8、C BXMOV DL,BXCMP AL ,DLJL ALALXCHG AL,DLALAL:CMP AH,DLJL AL_SMALLXCHG AH,DLAL_SMALL:MOV A1,DLMOV A2,AHMOV A3, ALXOR DL,AL ;最大和最小数异或AND DL,80HNOT DLTEST DL,80H ;高位为1 表示一正一负,否则为全负或全正JE YZYFAND AL,80HNOT ALTEST AL,80H ;高位为1 表示全负JE QFMOV AH,02MOV DL,'+'INT 21HJMP DISP_SMALLQF:MOV AH,02MOV DL,

9、9;-'INT 21HJMP DISP_SMALLYZYF:MOV AH,02MOV DL,'*'INT 21HDISP_SMALL:MOV AL,A3MOV AH,ALAND AX,0F00FHMOV CL,4SHR AH,CLCMP AH,0AHJGE IS_AZADD AH,30HMOV D1,AHJMP NN_1IS_AZ:ADD AH,40H -0AH+1MOV D1,AHNN_1:CMP AL,0AHJGE IS_AZ1ADD AL,30HMOV D2,ALJMP NN_2IS_AZ1:ADD AL,40H -0AH+1MOV D2,ALNN_2:MOV A

10、H,09MOV DX,OFFSET DISP_MESSINT 21H retmain endpcode ends end main程序运行截图:c.程序代码:c.asm:assume cs:codecode segmentstart:mov ax,csmov ds,ax ;将代码段地址交给dsmov si,offset do0 mov ax,0mov es,axmov di,200hmov cx,offset do0end - offset do0 ;计算输出字符串长度cldrep movsb ;设置中断向量表mov ax,0mov es,axmov word ptr es:7ch*4,200

11、hmov word ptr es:7ch*4+2,0mov ax,4c00hint 21h do0: jmp short do0startdb "201110405313 Li Longzhi",0 ;设置输出字符串do0start:push cxmov ax,csmov ds,axmov si,202hmov ax,0b800h ;指向显存mov es,axmov di,12*160+30*2 ;使其显示于屏幕中央 show: mov cl,simov ch,0jcxz returnmov es:di,clmov ch,2mov es:di+1,chinc siadd d

12、i,2jmp showreturn: pop cxmov ax,4c00hint 21hdo0end:nopcode endsend starttest.asm:assume cs:codecode segmentstart: int 7ch mov ax,4c00h int 21hcode endsend start程序运行截图:d.程序代码:data segment msg db 'please input ten number:',0dh,0ah,'$' bufer db 10 dup(?) mima db 7,5,9,1,3,6,8,0,2,4data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds, axmov si,offset bufermov bx,offset mimamov dx,offset msgmov ah,09int 21hmov cx,10input:mov ah,01int 21hmov ah,0and al,0fhmov di,axmov al,bxdimov si,alinc siloop

温馨提示

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

评论

0/150

提交评论