教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

汇编语言程序设计(5)

来源:网络收集 时间:2026-05-26
导读: ;------------------------------------------- CSEG SEGMENT PARA’code’ ASSUME CS:CSEG,ES:ESEG MINMAX PROC FAR PUSH DS ;save DS for return SUB AX,AX PUSH AX MOV AX,ESEG ;init ES MOV ES,AX MOV C

;------------------------------------------- CSEG SEGMENT PARA’code’ ASSUME CS:CSEG,ES:ESEG MINMAX PROC FAR

PUSH DS ;save DS for return SUB AX,AX PUSH AX

MOV AX,ESEG ;init ES MOV ES,AX

MOV CX,COUNT ;get ready for DEC CX ; count-1 compares LEA DI,UNORDLST ;address of the list MOV AX,BX ;and max. CHEMIN:

ADD DI,2 ;point to next element CMP ES:[DI],BX ;compare element to min JAE CHKMAX ;new minimumfound? MOV BX,ES:[DI] ;yes,put it in BX JMP SHORT NEXTEL CHKMAX:

CMP ES:[DI],AX ;compare element to max

JBE NEXTEL ;new max found? MOV AX,ES:[DI] ;yes,put it in AX NEXTEL:

LOOP CHEMIN ;check entire list? RET ;exit MINMAX ENDP

;------------------------------------------------------------------------- CSEG ENDS

END MINMAX

11、请用子程序结构编写如下程序,从键盘输入一个二位十进制的月份(01~12),然后显示出相关的英文缩写名。

答案:分析:这是一个比较简单的问题,我们可以按题目要求的几项功能,分别编写成几个程序。

INPUT 从键盘接收一个二位数,并把它转化为二进制数。

LOCATE 把输入数与英文缩写对应起来,这可在一个字符表中查找。 DISPLAY 将找到的缩写字母显示在屏幕上。显示可用DOS提供的显示功能(INT 21H的09功能)。

;----------------------------------------------------------------------------------- TITLE MONTH (EXE)

DATASG SEGMENT PARA ‘DATA’ THREE DB 3

MONIN DB 3,4 DUP(?)

ALFMON DB ‘???’, “$”

MONTAB DB ’JAN’ ,’FEB’, ‘MAR’,’APR’,’MAY’,’JUN’ DB ‘JUL’, ‘AUG’, ‘SEP’, ‘OCT’,’NOV’,’DEC’ DATASG ENDS

CODESG SEGMENT PARA ‘CODE’

ASSUME CS:CODESG,DS:DATASG, ES:DATASG MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX

MOV AX,DATASG ;point to data seg. MOV DS ,AX MOV ES ,AX

CALL INPUT ;input and convert CALL LOCATE ;locate month CALL DISPLAY ;display alpha month RET

MAIN ENDP

;------------------------------------------------------------------------- ;Input and concert ASCII to vinary; INPUT PROC NEAR PUSH DX

MOV AH,0AH ;input from keybpard LEA DX,MONIN ;address of buffer INT 21H

MOV AH,MONIN+2 ;fetch numeric month MOV AL,MONIN+3

XOR AX,3030H ;clear ASCII 3`s CMP AH,00 ;month 01-09? JZ RETURN ;yes.bypass SUB AH,AH ;no,clear AH ADD AL,10 ;correct for binary RETURN: POP DX RET

INPUT ENDP

;----------------------------------------------------------------------------------- ;Locate month in table LOCATE PROC NEAR

PUSH SI ;save the registers PUSH DI PUSH DX

LEA SI,MONTAB DEC AL MOV BL, 3

MUL BL ;chars for each month ADD SI,AX

MOV CX,03 ;init`ze 3 chars move CLD

LEA DI,ALFMON

REP MOVSB ;mov 3 chars POP CX ;restore registers POP DI POP SI RET

LOCATE ENDP

;----------------------------------------------------------------------- ;Display alpha month DISPLAY PROC NEAR PUSH DX

LEA DX,ALFMON ;address of output MOV AH,09 ;display function INT 21H ;DOS call POP DX RET

DISPLAY ENDP

;---------------------------------------------------------------------------------

…… 此处隐藏:596字,全部文档内容请下载后查看。喜欢就下载吧 ……
汇编语言程序设计(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/442698.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)