| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:[求助]汇编语言课程设计
只看楼主 加入收藏
xxx127
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-27
收藏
 问题点数:0 回复次数:5 
[求助]汇编语言课程设计

RT

以知有20个无符号数,存放在以A为首地址的内存单元中,试编制一个程序,完成以下功能:
求出所有奇数的和,偶数的和,能被3整除的数的个数,并依次存放在DDSVM、EVENSM和
COUNT单元中。

谢谢MM和GG帮忙说下

搜索更多相关主题的帖子: 汇编语言 课程 设计 
2006-12-27 09:38
xxx127
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-27
收藏
得分:0 
江湖急救挖
2006-12-27 10:13
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

就是跳转指令


2006-12-27 17:52
xxx127
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-27
收藏
得分:0 

data segment
a dw 20 dup(?)
ddsvm dw ?
evensm dw ?
count db ?
data ends
stack segment
dw 40h dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
start:
mov ax,data
mov ds,ax
lea dx,a
mov ah,0ah
int 21h
lea si,a
mov cx,20
;push ax
;push dx
;push ds
again1:
mov bx,[si]
test bx,01h
;and bx,01h
jz l1
;mov dx,0
mov ddsvm,0
add ddsvm,bx
add si,2
loop again1
;mov ddsvm,dx
; mov ax,seg ddsvm
;mov ds,ax
;lea dx,ddsvm
mov ah,02h
int 21h
jmp bch
l1:
push dx
mov dx,0
add dx,bx
inc si
loop again1
mov evensm,dx
pop dx
mov ax,seg evensm
mov ds,ax
lea dx,evensm
mov ah ,09h
int 21h
jmp bch
call bg
mov ah,4ch
int 21h
bg proc near
push ax
push bx
push dx
push si
push cx
again2:
mov al,0
mov cx,20
mov ax,a
mov bl,3
div bl
cmp ah,0
je l2
jmp bch
l2:
inc al
loop again2
mov count,al

pop ax
pop bx
pop dx
pop si
pop cx
mov ah,9
mov bh,[count]
mov bl,7
mov cx,1
int 10h
bch:
mov ah,4ch
int 21h
ret
bg endp
code ends
end start

这个是我自己弄 的好象有好多错误 ,BB帮忙给改改

2006-12-27 21:58
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

思路应该没错,关键是细节,自己仔细看看


2006-12-29 20:22
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
收藏
得分:0 
你的题意有点儿让人担心,首先你说有20个无符数,但却没说明是字节还是节
就先当做字节来看,我来做个吧
DSEG SEGMENT
A DB 20 DUP(?)
DDSVM DW 0
EVENSM DW 0
COUT DB 20 ;习惯这样做,先假设全部是,最后逐个减吧
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
MAIN: MOV AX,DSEG
MOV DS,AX
MOV SI,0 ;这里用了基址变址,可以不用
MOV CL,3 ;除数
LEA BX,A
NEXT: MOV AL,[BX+SI]
TEST AL,1 ;奇偶数校验,估计没人不会啦
JNZ EVENT ;如果是负数,转移
ADD DDSVM,AX ;直接加到存储器中
JMP LOP
EVENT: ADD EVENSM,AX
LOP: MOV AH,0 ;高位清零,开始校验奇偶
DIV CL
CMP AH,0
JZ DONE ;余数为0则能被整除,不减个数
DEC COUT ;不为零减1
DONE: INC SI
CMP SI,20
JNZ NEXT
MOV AX,4C00H
INT 21H
CSEG ENDS
END MAIN

我是金子,我要闪光的
2006-12-30 19:28
快速回复:[求助]汇编语言课程设计
数据加载中...
 
   



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

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