汇编语言程序设计(5)
;------------------------------------------- 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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




