《汇编语言》_王爽 第10章 call和ret指令 实验10编写子程序_3.数值显示_作业

汇编实现数值到字符串转换

assume cs:code, ds:data, es:data1, ss:stack
data segment
    dw 123,12666,1,8,3,38
data ends

data1 segment
    db 32 dup(0)
data1 ends

stack segment
    dw 16 dup(0)
stack ends

code segment
_start:
    mov ax, data
    mov ds, ax
    mov ax, data1
    mov es, ax
    mov ax, stack
    mov ss, ax
    mov sp, 32

    ; 转换数字为字符串
    mov si, 0      ; data 索引
    mov di, 0      ; data1 索引
    mov cx, 6      ; 6个数字
s1:
    push cx
    mov ax, ds:[si]    ; 要转换的数字
    call word_to_dec   ; 调用转换子程序
    add si, 2
    mov byte ptr es:[di], ','  ; 添加逗号分隔符
    inc di
    pop cx
    loop s1

    ; 显示字符串
    mov si, 0
    mov dh, 8       ; 行号
    mov dl, 3       ; 列号  
    mov cl, 2       ; 颜色属性
    call show_str

    mov ax, 4c00h
    int 21h

; 子程序:将AX中的字转换为十进制字符串
; 输入:AX = 要转换的数字
; 输出:ES:DI 指向的字符串
word_to_dec proc
    push ax
    push bx
    push cx
    push dx
    push si
    
    mov bx, 10      ; 除数
    mov si, di      ; 保存起始位置
   &n

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeepLearningOk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值