- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编上机(实验二)
昆明理工大学信息工程与自动化学院学生实验报告
( 201 —201 学年 第 一 学期 )
课程名称:汇编与微机接口实验 开课实验室: 年 月 日
年级 学号 姓名 成绩 实验项目名称 实验 循环及分支程序设计 指导教师 教师评语
教师签名:
年 月 日 一、实验目的:
2、熟练地掌握循环与分支程序的设计过程;
3、掌握带符号数的比较转移指令:JL、JLE、JG、JGE;
4、伪指令 EQU 及操作符 $的使用。
5、熟悉并且掌握BIOS 和DOS中断的调用方法。
二、实验要求:
1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符,则结束程序,若为其它字符则不显示,继续等待新的字符输入。
2、提示编程:① 回车字符的ASCII码为0DH
② 显示字符用INT 21H的2号调用
B、设计要求
已知DATA单元开始存放三个带符号数
1、判断三个数是否同号,若同时为正,显示“+”,若同时为负,则显示“—”,否则显不“*”。
2、显示三个数中的最小值。
c、设计要求
编写7c号中断的处理程序,使得在除法溢出发生时,在屏幕上输出字符串”201110405313 Li Longzhi”,然后返回DOS。
d、设计要求
编写一个程序,接收从键盘输入的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虚拟平台。
四、实验内容DB 0
data ends
code segment
assume cs:code,ds:data
main proc far ;定义main函数
push ds ;对ds寄存器进栈保护
sub ax,ax ;对ax清零
push ax ;对ax寄存器进栈保护
mov ax,data
mov ds,ax ;将data段地址赋值给ds
next:
mov ah,07h ;调用int 21键盘输入(无回显)功能
int 21h
cmp al,0dh ;回车ascall码为0dh
jE end_d
cmp al,0 ;对数字处理
JGE DY0 ;=0
JMP NEXT ;0...30H
DY0: ;数字处理函数
CMP AL,9 ;因为int21 07号功能字符信息存于AL中。
JLE IS_09
CMP AL, A
JGE DY_A ;DAYU A
JMP NEXT ;A...41H
DY_A:
CMP AL,Z
JLE IS_AZ
CMP AL,a
JGE DY_xA ;DAYU xA
JMP NEXT ;a...61H
DY_xA:
CMP AL,z
JLE IS_AZ
JMP NEXT
IS_AZ:
MOV AH,02
MOV DL,c
INT 21H
JMP NEXT
IS_09:
MOV AH,2
MOV DL,AL
INT 21H
JMP NEXT
end_d:
ret ; 用于调用返回
main endp
code ends
end main
程序运行截图:
b.程序代码:
data_C segment
DATA DB 5,6,7 ;编程所用3个数,该处3数值可任意设定
A1 DB 0
A2 DB 0
A3 DB 0
DISP_MESS DB 0DH,0AH,MIN IS : ;输出字符串
D1 DB 0
D2 DB 0, H$
data_C ends
code segment
assume cs:code,ds:data_C
main proc far
push ds ;寄存器进栈保护
sub ax,ax ;ax寄存器清零
push ax ;寄存器进栈保护
mov ax,data_C
m
文档评论(0)