| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1443 人关注过本帖
标题:汇编写1+2+3+```````````+1000
只看楼主 加入收藏
Love嵌入式
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2008-3-4
收藏
 问题点数:0 回复次数:4 
汇编写1+2+3+```````````+1000
请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!
搜索更多相关主题的帖子: 寄存器 汇编 提示 越界 
2008-06-29 20:33
Love嵌入式
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2008-3-4
收藏
得分:0 
data segment
  s dw 2 DUP(0)
  sum dw 3 DUP(?)
  jia dw 50 DUP(?)
  n dw 0
data ends

code segment
  assume cs:code,ds:data
 main proc far
  start: mov ax,data
         mov ds,ax
         mov ax,0
         mov bx,0
         mov di,offset jia
         mov dx,0
         mov cx,1000
         mov si,0
         mov [di],86a0h
         mov [di+2],0001h
         
  again: inc bx
         add ax,bx
         add si,bx
         jc aa
         loop again
         mov s,ax
         mov s+2,dx
         mov ah,4ch
         int 21h
         
     aa: inc dx
         loop again
         mov s,ax
         mov s+2,dx
         mov ah,4ch
       int 21h
 main endp         
code ends
      end start                  


以上代码在存储器里是以十六进制存的。请问如何输出他的十进制结果呢?

[[it] 本帖最后由 Love嵌入式 于 2008-7-4 11:51 编辑 [/it]]
2008-07-04 11:47
zgj_123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-7-4
收藏
得分:0 
使用代码调整指令啊?大概是aaa    BCD码调整指令
2008-07-04 18:49
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]Love嵌入式[/un] 在 2008-6-29 20:33 的发言:[/bo]

请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!

用32位的寄存器

要不放到内存里
2008-07-05 16:33
Waiting159
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-7
收藏
得分:0 
assume cs:code

code segment

start:    mov cx,1000
    mov ax,0
    mov bx,0
    mov dx,1

s:    add ax,dx
    adc bx,0
    inc dx
    loop s

    mov ax,4c00h
    int 21h

code ends

end start
2008-07-11 13:10
快速回复:汇编写1+2+3+```````````+1000
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017250 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved