2022年2022年汇编子程序 .pdf

上传人:Che****ry 文档编号:33686160 上传时间:2022-08-12 格式:PDF 页数:5 大小:155.87KB
返回 下载 相关 举报
2022年2022年汇编子程序 .pdf_第1页
第1页 / 共5页
2022年2022年汇编子程序 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年2022年汇编子程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编子程序 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、例:寄存器传递参数(求数组元素之和并以十六进制显示)D_SEG SEGMENT ARRAY DB 10,20,30,5,60 COUNT EQU $-ARRAY D_SEG ENDS S_SEG SEGMENT PARA STACK DW 100 DUP(?) S_SEG ENDS C_SEG SEGMENT ASSUM CS:C_SEG, DS:D_SEG, SS:S_SEG START: LEA SI,ARRAY MOV CX ,COUNT CALL SUM1 CALL DISPLAY 子程序 SUM1 入口参数 SI=数组首地址 CX= 数组长度出口参数 AX= 数组和SUM1 PROC

2、 NEAR CMP CX,0 JZ EXIT XOR AX,AX AGAIN: ADD AL,SI ADC AH,0 INC SI LOOP AGAIN EXIT: RET SUM1 ENDP DISPLAY PROC NEAR MOV BX, AX MOV CH, 4 ROTATE: MOV CL, 4 ROL BX, CL MOV AL, BL AND AL, OFH OR AL, 30H CMP AL, 3AH JL PRINT ADD AL, 07H PRINT: MOV DL, AL MOV AH, 02H INT 21H DEC CH JNZ ROTATE 名师资料总结 - - -

3、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - RET DISPLAY ENDP 例:直接存储单元传送示例(求数组元素之和,结构送SUM 单元)D_SEG SEGMENT ARRAY DW 50DUP(?) COUNT DW 50 SUM DW ? D_SEG ENDS 主程序CALL PROADDMAIN ENDP PROADD PROC PUSH AX PUSH CX PUSH SI XOR AX,AX LEA SI,ARRAY ;直接使用存储单元

4、MOV CX,COUNT ADDT: ADD AX,SI ADD SI,2 LOOP ADDT MOV SUM, AX POP SI POP CX POP AX RET PROADD ENDPEND MAIN 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 地址表传递示例调用子程序前,把所有参数的地址送入地址表,然后把地址表的偏移量通过寄存器带进子程序,子程序从地址表中取得参数地址。问题:如果要求两个数组ARRAY 和数组 NU

5、M 各个数组的和。若利用直接存储单元传送的话,要修改子程序求数组之和D_SEG SEGMENT ARRAY DW 50 DUP(?) COUNT DW 50 SUM DW ? TABLE DW 3 DUP(?) D_SEG ENDS 代码段MAIN PROC FARMOV TABLE, OFFSET ARRAY TABLE MOV TABLE+2, OFFSET COUNT (字)MOV TABLE+4, OFFSET SUM LEA BX,TABLE CALL PROADDMAIN ENDP PROADD PROC ;入口参数BX 为地址表首地址PUSH AX ; 保护现场MOV SI ,B

6、X ;数组首地址送SI MOV BP, BX+2 ;数组长度单元地址送BP MOV CX ,DS: BP ;数组长度送CX MOV DI, BX+4 ;存储和单元地址送DI MOV AX ,0 ADDT : ADD AX ,SI ADD SI,2 LOOP ADDT MOV DI ,AX POP DI RET PROADD ENDP 利用堆栈传递参数求数组元素之和ARRAY 首地址COUNT 首地址SUM 地址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - -

7、 - - - - - - - 主程序中:LEA BX,ARRAY ;数组首地址(参数)进栈PUSH BX LEA BX,COUNT PUSH BX LEA BX,SUM PUSH BX CALL FARPTR PROADD ;不在同一段MAIN ENDP PROADD PROC FAR PUSH AX ;保护现场PUSH BX PUSH CX PUSH BP MOV BP, SP ;BP:地址的值PUSH DI MOV DI,BP+14 ;COUNT 的地址(取得地址参数)MOV CX ,DI ;数组长度MOV BX ,BP+12 ;MOV SI,BP+16 MOV AX ,0 ADDT :

8、ADD AX ,SI ADD SI,2 LOOP ADDT MOV BX ,AX ;保存和POP DI POP BP POP CX POP BX POP AX RET PROCADD ENDP 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁