| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 772 人关注过本帖
标题:[求助]以下有问题的汇编程序怎样改正?
只看楼主 加入收藏
asd8313
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-28
收藏
 问题点数:0 回复次数:2 
[求助]以下有问题的汇编程序怎样改正?
DATA SEGMENT
BUFFER DB
SUM DW
DATA ENDS
STACK SEGMENT
STAPN DB 50 DUP(?)
TOP EQU LENGTH STAPN
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ASSUME SS:STACK
START: MOV DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX
MOV AX,00H
MOV DI,OFFSET SUM
MOV BX,OFFSET BUFFER
MOV CX,100
LOOP1: ADD AX,[BX]
INC BX
DEC CX
JNZ LOOP1
MOV [DI],AX
MOV AH,00H
INT 21H
HLT
CODE ENDS
END START
计算1+2+3+``````````100=?

求0~9这间的某个数的平方值,结果存入变量result中
DATA SEGMENT
ORG 0210H
SQTAB DB 0,1,4,9,16,25,36,49,64,81
NUM DB 7
RESULT DB ?
DATA ENDS
CODE ENDS
ASSUME DS:DATA,CS:CODE
START:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA SI,SQTAB
ADD SI,NUM
MOV AL,[SI]
MOV RESULT,AL
CODE ENDS
END START

[此贴子已经被作者于2006-6-28 19:45:03编辑过]

搜索更多相关主题的帖子: 汇编程序 汇编程序 
2006-06-28 19:44
chy227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-7-7
收藏
得分:0 
DATA SEGMENT
input db 'please input(0-9): $'
SQTAB DB 0,1,4,9,16,25,36,49,64,81
RESULT DB ?
temp db 10,1
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:MOV AX,DATA
MOV DS,AX
LEA DX,input
mov ah,9
int 21h
mov ah,1
int 21h
call newline
LEA SI,SQTAB
XOR AH,AH
SUB AL,30H
ADD SI,AX
MOV AL,[SI]
cmp al,30h
call change
MOV RESULT,AL
MOV AH,4CH
INT 21H
newline proc
push dx
push ax
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
pop ax
pop dx
ret
newline endp
change proc;入口参数AX
lea di, temp
mov cx,2
next: mov bl,[di]
inc di
div bl
add al,30h
cmp al,30h
mov bh,ah
mov dl,al
mov ah,2
int 21h
mov al,bh
and ax,00ffh
loop next
ret
change endp
CODE ENDS
END START
这是第二个程序
2006-07-08 16:46
rodney
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-7-28
收藏
得分:0 
[QUOTE]

DATA SEGMENT
BUFFER DB ;怎么不给BUFFER赋值? 0
SUM DW ;要初始化 0
DATA ENDS
STACK SEGMENT
STAPN DB 50 DUP(?)
TOP EQU LENGTH STAPN ;堆栈不是这样用的 TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ASSUME SS:STACK
START: MOV DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX 这样写 LEA SP,TOP
MOV AX,00H
MOV DI,OFFSET SUM
MOV BX,OFFSET BUFFER
MOV CX,100
LOOP1: ADD AX,[BX]
INC BX
DEC CX
JNZ LOOP1
MOV [DI],AX
MOV AH,00H
INT 21H
HLT
CODE ENDS
END START

[/QUOTE]

2006-07-30 16:30
快速回复:[求助]以下有问题的汇编程序怎样改正?
数据加载中...
 
   



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

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