鱼C论坛

 找回密码
 立即注册
查看: 721|回复: 1

[已解决]运行结果乱码问题

[复制链接]
发表于 2023-12-3 16:06:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:
请编程实现百分比的计算。例如有如下数据:
x  dw  4
y  dw  5
result dw ?
实现计算:result = x/(x+y)= 44%,故result的值为44。(提示:result = 100*x/(x+y)的商)

下面是我的代码:
data segment
    x dw 4
    y dw 5
    result dw ?
data ends

code segment
        assume cs:code, ds:data
start:
    mov ax, data
    mov ds, ax
    
    mov ax, x
    mov bx, y
    add bx, ax
                imul ax, 100
    idiv bx
    mov result, ax
        
        ; 输出结果
    mov ah, 2
    lea dx, result
    int 21h
        
        mov ah, 2
        mov dl, '%'
        int 21h
    
    mov ah, 4ch
    int 21h
        
code ends
        end start


最佳答案
2023-12-3 16:06:32
你的代码基本上是正确的,但是在输出结果时可能会出现乱码问题。这是因为在打印结果之前,你没有将结果转换为ASCII码。下面是修改后的代码:
data segment    x dw 4    y dw 5    result dw ?data endscode segment    assume cs:code, ds:datastart:    mov ax, data    mov ds, ax        mov ax, x    mov bx, y    add bx, ax    imul ax, 100    idiv bx    mov result, ax        ; 将结果转换为ASCII码    add al, '0' ; 加上ASCII码的偏移值    mov ah, 0 ; 清零高字节,保证AL是一个字符    mov dl, al    mov ah, 2    int 21h        ; 输出百分号    mov dl, '%'    int 21h        mov ah, 4ch    int 21hcode endsend start
在这个代码中,我添加了几行代码来将结果转换为ASCII码,并用`int 21h`中断来显示结果和百分号。这样就可以避免乱码问题。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

运行结果

运行结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-3 16:06:32 | 显示全部楼层    本楼为最佳答案   
你的代码基本上是正确的,但是在输出结果时可能会出现乱码问题。这是因为在打印结果之前,你没有将结果转换为ASCII码。下面是修改后的代码:
data segment    x dw 4    y dw 5    result dw ?data endscode segment    assume cs:code, ds:datastart:    mov ax, data    mov ds, ax        mov ax, x    mov bx, y    add bx, ax    imul ax, 100    idiv bx    mov result, ax        ; 将结果转换为ASCII码    add al, '0' ; 加上ASCII码的偏移值    mov ah, 0 ; 清零高字节,保证AL是一个字符    mov dl, al    mov ah, 2    int 21h        ; 输出百分号    mov dl, '%'    int 21h        mov ah, 4ch    int 21hcode endsend start
在这个代码中,我添加了几行代码来将结果转换为ASCII码,并用`int 21h`中断来显示结果和百分号。这样就可以避免乱码问题。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表