飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2677|回复: 2

[ASM] 一个简单的汇编题帮我看看那点错了?

[复制链接]
  • TA的每日心情
    奋斗
    2023-12-21 17:30
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    发表于 2009-8-1 18:06:51 | 显示全部楼层 |阅读模式
    在DEBUG里也没找到错误,请不要给小弟写其他的思路,小弟就想知道我的哪一点错误了
    我想让显示12666 可是调试的时候正常就是 不能正常运行
    我也知道另外一个方法可以实现这个效果 可是我就是想知道 我的这个程序哪一点错误了

    assume cs:code,ds:data



    data segment

            db 10 dup (0)

    data ends



    code segment

    start:

            mov ax,12666 ;想让显示的数值

            mov bx,data

            mov ds,bx

            mov si,0

            call dtoc  ;调用数值显示的子程序



            mov dh,8    ;显示的行位置

            mov dl,3     ;显示的列位置

            mov cl,0cah  ;cl中存放颜色属性(0cah为红底高亮闪烁绿色属性)

            call show_str  ;调用显示字符串的子程序



            mov ax,4c00h

            int 21h

    dtoc:      ;数值显示的子程序定义
    push ax
    push si
    push bx
    push dx
    push cx

    mov bx,10
    mov di,0
    hao:mov cx,ax
    jcxz hao2
    div bx
    add dx,30h
    push dx
    inc di
    mov dx,0
    jmp short hao
    hao2:mov cx,di
    hao1:pop dx
    mov ds:[si],dl
    inc si
    loop hao1
    pop cx
    pop dx
    pop bx
    pop si
    pop ax
    ret


    show_str:     ;显示字符串的子程序

            push bx

            push cx

            push si

            mov al,0A0h

            dec dh

            mul dh

            mov bx,ax

            mov al,2

            mul dl

            sub ax,2

            add bx,ax

            mov ax,0B800h

            mov es,ax

            mov di,0

            mov al,cl

            mov ch,0

    s:      mov cl,ds:[si]

            jcxz ok

            mov es:[bx+di],cl

            mov es:[bx+di+1],al

            inc si

            add di,2

            jmp short s

    ok:     pop si

            pop cx

            pop bx

            ret
    code ends

    end start

    [ 本帖最后由 xxdhj 于 2009-8-4 09:03 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2023-12-21 17:30
  • 签到天数: 19 天

    [LV.4]偶尔看看III

     楼主| 发表于 2009-8-4 10:06:34 | 显示全部楼层
    汗 原来清空dx的位置放的稍微靠后了些 我晕死怪不得调试也不显示错误呢 因为都是实现的一个功能
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-9-11 15:13:39 | 显示全部楼层
    16位汇编不懂,帮不上忙,Win32 Asm倒是懂一些
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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