注册 登录
编程论坛 汇编论坛

求助:编程作业题,求答案

jingxl 发布于 2010-05-05 21:32, 1105 次点击
编制计算N个(N<50)偶数之和(2+4+6+……)的子程序和接收键入N及将结果送显示的主程序。主程序和子程序在同一代码段


小弟坐等高人指点
6 回复
#2
自欺欺人2010-05-06 13:02
这么多数?要是少一些倒是容易……
#3
fgchg9112010-05-09 15:05
.data
n db ?
.code
start:
mov ah,2
int 21h
mov n,al
call sub1
mov ax,4c00h
int 21
end start

sub1 proc public byte:n
mov cl,n
mov ax,0
lp:
add ax,cl
loop lp
shl ax,1
sub1 endp
#4
qifeifei2010-05-12 13:28
DSEG SEGMENT
BUF DB 'please input a num$'
RESULT DB 0
DSEG ENDS
SSEG SEGMENT STACK
    STK DB 100 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEG
START:MOV AX,DSEG
      MOV DS,AX
      MOV AH,9;输出提示用户输入的个数
      MOV DX,OFFSET BUF
      INT 21H
        
      MOV AH,1
      INT 21H
      CALL SUM;调用子函数
      MOV BH,RESULT;转换成ASC码才能输出
      AND BH,0F0H
      MOV CL,4
      SHR BH,CL
      CMP BH,9
      JBE L2
      ADD BH,7H
L2:      ADD BH,30H
      MOV BL,RESULT
      AND BL,0FH
      CMP BL,9
      JBE L3
      ADD BL,7H
L3:   ADD BL,30H      
      
      MOV AH,2
      MOV DH,BH
      INT 21H
      MOV AH,2
      MOV DL,BL
      INT 21H
      
HLT
SUM PROC NEAR
    MOV CH,0
    MOV CL,AL
    MOV BL,2
    MOV SI,OFFSET RESULT
L1: ADD [SI],BL
    INC BL
    INC BL
    LOOP L1
RET
SUM ENDP
CSEG ENDS
END START
刚刚写的程序,希望对你有用。
#5
jingxl2010-05-13 21:00
回复 4楼 qifeifei
谢了
#6
jingxl2010-05-13 21:00
回复 3楼 fgchg911
谢谢
#7
你们都要疼我哦2010-05-14 05:46
小弟坐等楼主朋友学习进步
1