77范文网 - 专业文章范例文档资料分享平台

汇编语言程序设计报告(2)

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

mov ah,31h ;结束并驻留(al=返回码,dx=驻留区大小) int 21h code ends

end start ;程序结束

3.典型程序模块和典型编程技巧分析:

这个程序中关键是驻留的实现,这里驻留是通过保存现场,开关中断,恢复现场,设置中断类型,设置驻留区大小几个步骤实现的,这里开中断后只检测了是不是1月18号,如果是则显示是李的生日,不是则不显示。

另外,程序中的case0部分的作用是在屏幕的右上角初始化了一个显示窗口,用于显示当天过生日的同学。这里有CH,CL表示左上角的坐标,DH,DL表示右上角的坐标。

而case部分则是一种逐个输出字符的显示字符串的方法,用?作为字符串结束的标志,利用循环,每次输出一个字符,di加1,直到or al,al语句检测到?输出结束,跳出循环。 4.程序框图:

第3题:

1.设计思想和实施方案:

这个程序要求在屏幕上开3个窗口,在键盘输入字符的时候下面的第3个窗口始终显示,上面2个窗口用户可以选择一个显示,对于3个窗口当列数显示满时都会自动向上卷行。三个窗口显示字符和卷行的操作实际上是完全相同

的,现在还需要做的就是上面1,2两个窗口的切换问题,在这里,本人用“1”,“2”来作为2个窗口切换的功能键,也即当在2中显示时按1就转到了1窗口,当在1中显示时按2就转到了2窗口。另外,用ST1,ST2,ST3分别给3个窗口的输入字符计数,以及时的进行卷行操作。 2.程序清单和程序注释: DATA SEGMENT

ST1 DB 0 ST2 DB 0 ST3 DB 0 DATA ENDS

PROGNAM SEGMENT MAIN PROC FAR

ASSUME CS:PROGNAM,DS:DATA START:

PUSH DS SUB AX,AX PUSH AX

MOV AX,DATA MOV DS,AX

CALL CLEAR_SCREEN ;调用设置显示方式的子程序 MOV DI,0 ;置初始状态的DI为0

INPUT:

MOV AH,0

INT 16H ;从键盘读字符,存在AL中 CMP AL,'2'

JE YI ;设定如果按数字2键则跳转到在2号窗口操作 CMP AL,'1'

JE ER ;设定如果按数字1键则跳转到在1号窗口操作 CMP AL,0DH ;设定如果输入回车则结束程序 JE QUIT

CALL SHANG CALL XIA JMP INPUT YI:

MOV DI,1 ;这里置DI为1 JMP INPUT ER:

MOV DI,0 ;这里置DI为0 JMP INPUT

QUIT:

RET

MAIN ENDP

SHANG PROC NEAR

CMP DI,0 ;DI为0在1号窗口输入字符 JNE OUT3 MOV CL,ST1 ADD CL,10

MOV MOV MOV MOV INT

MOV MOV MOV MOV INT

INC CMP JL PUSH MOV MOV MOV MOV MOV MOV MOV MOV INT

POP

OUT2:

JMP OUT3:

MOV ADD

MOV AH,2 DH,15 DL,CL BH,0

10H AH,0EH

BH,0 BL,70H CX,1

10H ST1 ST1, 20 OUT2

AX ST1,0 AH,6

AL,1 CH,5

CL,10 DH,15

DL,30 BH,7 10H AX EXIT CL,ST2 CL,50 AH,2

;置光标位置1号窗口中 ;BH表示页号 ;BL置前景色 ;显示AH中的字符在光标位置;ST1计在窗口1输入字符数目 20则继续输入 ;存储AX的初始植 ;表示屏幕上卷一行 ;CH,CL表示左上角坐标 ;DH,DL表示右上角坐标

;实现字符显示上卷一行 ;如果字符数小于

MOV DL,CL MOV BH,0

INT 10H ;置光标在2号窗口中

MOV AH,0EH

MOV BH,0 ;BH表示页号 MOV BL,70H ;BL置前景色 MOV CX,1

INT 10H

INC ST2 CMP ST2 , 20 JL OUT1 PUSH AX MOV ST2,0 MOV AH,6

MOV AL,1 MOV CH,5

MOV CL,50 MOV DH,15

MOV DL,70 MOV BH,7 INT 10H

POP AX OUT1: EXIT: RET

SHANG ENDP

XIA PROC NEAR MOV CL,ST3 ADD CL,15

MOV AH,2 MOV DH,22 MOV DL,CL MOV BH,0

INT 10H

MOV AH,0EH

MOV BH,0 MOV BL,70H ;显示AH中的字符在光标位置 ST2计在窗口2输入字符数目 ;如果字符数小于20则继续输入 ;表示屏幕上卷一行 ;CH,CL表示左上角坐标 ;DH,DL表示右上角坐标

;实现字符显示上卷一行 ;读出AX的原值 ;在1,2窗口显示字符子程序结束 ;置光标在3号窗口中 ;BH表示页号 ;BL置前景色

INT 10H

INC ST3 ;ST3计在窗口2输入字符数目 CMP ST3, 50 ;如果字符数小于50则继续输入 JL EXT MOV ST3,0 MOV AH,6

MOV AL,1 ;表示屏幕上卷一行 MOV CH,18

MOV CL,15 ;CH,CL表示左上角坐标 MOV DH,22

MOV DL,65 ;DH,DL表示右上角坐标 MOV BH,7

INT 10H ;实现字符显示上卷一行 EXT: RET

XIA ENDP

CLEAR_SCREEN PROC NEAR ;设置显示方式和光标初始位置的子程序 PUSH AX

PUSH BX ;保存寄存器的原始内容 PUSH CX PUSH DX

MOV AX,0003H

INT 10H ;设置显示方式为80X25 16色文本 MOV DX,0 MOV AH,2

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生汇编语言程序设计报告(2)在线全文阅读。

汇编语言程序设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/yiyao/1250495.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: