汇编 递归实现打印一个整数

本文探讨了如何使用汇编语言编写递归函数来打印一个整数。通过详细解析c语言代码,展示了从高级语言到汇编语言的转换过程,深入理解递归在底层工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c 语言代码如下

#include <stdio.h>
#include <stdbool.h>
void print(int x){
    if(x < 10){
        printf("%d",x);
        return ;
    }
    print(x / 10);
    printf ("%d",x % 10);
}
int main(){
    print(1234);
}

汇编代码

DATAs SEGMENT
     N DW 6;
     arry DB 35h,78h,25h,13h,8h,0D2H 
     DATA2 DB 20 DUP(0)
DATAs ends	
CODES  SEGMENT
     ASSUME    CS:CODES,DS:DATAS
START:
     mov ax,datas
     mov ds,ax
     
     mov ax,12344
     call print
     MOV  AH,4CH
     INT  21H 
     
     print proc near    
          cmp ax,10 
          jae next:
          mov dl,al 
          add dl,'0'
          mov ah,2
          int 21h
          ret
          next:  
          mov bx ,10  
          mov dx,0
          div bx  
          push dx
          call print  
          pop dx
          mov ah,2 
          add dl,'0'
          int 21h  
          ret   
     print endp
CODES  ENDS
    END   START



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值