| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1096 人关注过本帖
标题:[求助]怎样实现两个五字节的十六进制的数的和?
只看楼主 加入收藏
damofei
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-5-10
收藏
 问题点数:0 回复次数:9 
[求助]怎样实现两个五字节的十六进制的数的和?

大家帮我看看这个程序对吗?我怎么连接不正确啊?
data segment
data1 db 0f8h,60h,0ach,74h,3bh
data2 db 0c1h,36h,9eh,0d5h,20h
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov cx,5
mov si,0
clc
looper: mov al,data2[si]
adc data1[si],al
inc si
dec cx
jnz looper
hlt
code ends
end start

搜索更多相关主题的帖子: 十六进制 字节 mov looper data 
2006-11-04 10:15
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 

你程序是对的,只要把hlt改为mov ax,4c00h;int 21h就行了

2006-11-04 11:15
damofei
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-5-10
收藏
得分:0 
如果要显示计算结果,是要加下面的指令吗?
mov dx,offset data1
mov ah,09h
int 21h
我怎么运行不了啊!

思想有多远,就能走多远!
2006-11-04 15:15
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 
你要在后面补上,'$'才行
2006-11-04 20:59
damofei
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-5-10
收藏
得分:0 

还是没有结果,谁运行一下,看什么问题?


思想有多远,就能走多远!
2006-11-11 16:33
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

LZ给出的程序加上大家的帮助,直接编译链接此程序确实没有输出结果.
首先,不管程序的正确与否,关于输不出结果的问题,这可能是系统的一个BUG(这点只是我猜想的).
如果先对生成的.EXE文件DEBUG一下,再运行文件就可以看到结果了.
但我用DEBUG的时候,分析下,觉得这程序有错,但我对具体的这些数字标号不太清楚,所以不敢确定错在哪了,大家可以共同分析下.


2006-11-11 17:09
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 

我不知道你是不是想显示存储单元中的内容,你看看吧!
data1 db 0f8h,60h,0ach,74h,3bh,0
data2 db 0c1h,36h,9eh,0d5h,20h
data ends
stack1 segment
db 20h dup(0)
stack1 ends

code segment
assume cs:code,ds:data
start: mov ax,stack1
mov ss,ax
mov sp,32
mov ax,data
mov ds,ax
mov cx,5
mov si,0
clc
looper: mov al,data2[si]
adc data1[si],al
inc si
dec cx
jnz looper
mov si,0
call show_num
mov ax,4c00h
int 21h

show_num proc ;显示十六进制数
push si
push dx
push cx
push bx
show_num1: mov bl,data1[si]
cmp bl,0
jz ok ;到0值退出
mov cx,2
rotate: push cx
mov cl,4
rol bl,cl
mov dl,bl
and dl,0fh
cmp dl,9
ja s
add dl,30h
jmp short show
s: add dl,37h
show: mov ah,02h
int 21h
pop cx
loop rotate
inc si
mov dl,20h ;空格
mov ah,02h
int 21h
jmp short show_num1


ok: pop bx
pop cx
pop dx
pop si
ret
show_num endp
code ends
end start

2006-11-11 17:26
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
LS的怎么编译不通过啊

2006-11-11 19:21
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 
不可能吧!我编译过了呀!
2006-11-11 20:31
wchx215
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-9-4
收藏
得分:0 
少了第一行data segment
漏复制了,不好意思!
2006-11-11 20:36
快速回复:[求助]怎样实现两个五字节的十六进制的数的和?
数据加载中...
 
   



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

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