网站大量收购闲置独家精品文档,联系QQ:2885784924

第六章 子程序结构.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 子程序结构.ppt

字符串输入的功能调用 —缓冲区的定义 第1字节事先填入最多欲接收的字符个数(包括回车字符,可以是1~255) 第2字节将存放实际输入的字符个数(不包括回车符) 第3字节开始将存放输入的字符串 实际输入的字符数多于定义数时,多出的字符丢掉,且响铃 接收的字符串最后一个总是回车符 字符串输入的功能调用 —输入字符串(例) ;定义缓冲区 BUF DB 81 ;第1个字节填入可能输入的最大字符数 DB 0 ;存放实际输入的字符数 DB 81 DUP(0) ;存放输入的字符串 ... MOV DX,SEG BUF ;伪指令SEG取得BUFFER的段地址 MOV DS,DX ;设置数据段DS MOV DX,OFFSET BUF MOV AH,0AH INT 21H 增强功能的过程定义伪操作 格式: PROCNAME PROC [ATTRIBUTES FIELD] [USES REGISTER LIST] [,PARAMETER FIELD] …… PROCNAME ENDP ATTRIBUTES FIELD : DISTANCE LANGUAGE TYPE VISIBILITY PROLOGUE 增强功能的过程定义伪操作 例6.8 .MODEL SMALL .STACK 64 .DATA ASCVAL DB 12345 BINVAL DW ? .CODE MAIN PROC FAR MOV AX,@DATA MOV DS,AX LEA BX,ASCVAL PUSH BX LEA BX,BINVAL PUSH BX CALL CONVASCBIN MOV BX,BINVAL CALL BINIHEX MOV AX,4C00H INT 21H MAIN ENDP CONVASCBIN PROC PASCAL USES AX BX CX SI DI,PAR1:WORD,PAR2:WORD LOCAL ASCLEN:WORD,MULFACT:WORD MOV BX,10 MOV SI,PAR1 MOV DI,PAR2 SUB DI,SI MOV ASCLEN,DI MOV CX,DI ADD SI,CX DEC SI MOV MULFACT,1 MOV DI,PAR2 MOV WORD PTR [DI],0 NEXT: MOV AL,[SI] AND AX,000FH MUL MULFACT ADD [DI],AX MOV AX,MULFACT MUL BX MOV MULFACT,AX DEC SI LOOP NEXT RET CONVASCBIN ENDP BINIHEX PROC MOV CH,4 ROTATE: MOV CL,4 ROL BX,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL PRINTIT ADD AL,7 PRINTIT: MOV DL,AL MOV AH,2 INT 21H DEC CH JNZ ROTATE RET BINIHEX ENDP END MAIN ;SET ENTRY POINT 例:6.9 十六进制到十进制数的转换 把从键盘输入的0-FFFF的十六进制正数转换成十进制数并在屏幕上显示出来 Hexibin :键盘输入十六进制数其数值在BX中 crlf :回车换行 Binidec:十六进制到十进制转换并显示 例6.9 DISP EQU 2H KEY_IN EQU 1H DOSCALL EQU 21H SSEG SEGMENT PARA STACK STACK DW 100H DUP(0) SSEG ENDS CSEG SEGMENT PARA CODE ASSUME CS:CSEG, SS:SSEG MAIN PROC FAR MOV CL,4 CALL HEXIBIN ;调用十六进制数输入子程序 CALL CRLF CALL BINIDEC ;调用十六进制到十进制转换子程序 CALL CRLF JMP MAIN MOV AX,4C00H INT 21H MAIN ENDP 例6.9 ;十六进制输入并转换为十六进制数值子程序,十六进制数值在BX中 HEXIBIN PROC MOV BX,0 NEWCHAR: MOV AH,KEY_IN INT DOSCALL SUB AL,30H J

您可能关注的文档

文档评论(0)

you-you + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档