汇编子程序使用

网友投稿 746 2022-10-07

汇编子程序使用

汇编子程序使用

1: 引子

基本定义格式:

1: far       不再相同代码段  调用: call far ptr max

2: near    在相同代码段     调用: call max

name proc far|naername endp

操作数因子:

1: 取数

通用操作:push bpmov bp,sp 1: 取第一个数 mov ax,[bp+4] '特殊 bp指向堆栈段bp2: 取第二个数 mov ax,[bp+6]

基本结构:

assume cs:code, ss:stackstack segment db 16 dup (0)stack endscode segmentmain proc ;这是我们的主程序start: mov ax,stack mov ss,ax mov sp,16 mov ax,1000 call far ptr s ;依然用s标识调用的入口 mov ax,4c00h int 21hmain endpsubp proc ;这个作为子程序 s: add ax,ax retsubp endpcode endsend start

2:熟悉基本程序

题目: 实现 MAX (int a,int b)函数 即为返回a b中的最大值

datas segment a dw '1'; b dw '2'; res dw 0;datas endsstacks segment stack dw 100 dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacksmain proc ; 主程序start: mov ax,datas; mov ds,ax; push a; push b; call max mov sp,4; mov res,ax mov ah,4ch; int 21hmain endpmax proc near ;子程序 push bp; mov bp,sp; mov ax,[bp+4] mov bx,[bp+6] cmp ax,bx jg let mov ax,bx; let: pop bp ret 0max endp codes endsend start

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:喜讯|宏时数据获得CMMI3级认证!欢迎了解自研统一运维监控平台!
下一篇:微信小程序中安全性问题如何处理(小程序的安全性)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~