主题:两道编程题
youyong
[专家分:0] 发布于 2007-07-11 21:36:00
有两道汇编题目,请各位大虾赐教:
1、求1+3+5+......+99,结果放入AX,请写出主要程序段。
2、设内存中有三个互不相等的无符号字数据,分别是放在ARG开始的字单元,编辑程序将其中最小值存入MIN单元。
以前学过一点汇编,但没自己独立编过,谢谢。
回复列表 (共4个回复)
沙发
ty1921 [专家分:0] 发布于 2007-07-18 10:10:00
第2题看自己勒,注意培养自己的分析能力蛮,自己动手呵
SSEG SEGMENT
DB 100 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG
START:MOV AX,1
MOV BX,3
MOV CL,98;循环控制
L: ADD AX,BX
INC BX
INC BX
LOOP L
MOV AH,4CH
INT 21H
CSEG ENDS
END START
板凳
zqg1177 [专家分:180] 发布于 2007-07-18 15:35:00
不对吧,这道题是说从1-100之间所有奇数的和。而如果把循环次数设成98就不对了。我改一下,看看对不对。
SSEG SEGMENT
DB 100 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG
START:MOV AX,1
MOV BX,3
MOV CL,49;循环控制
L: ADD AX,BX
INC BX
INC BX
LOOP L
MOV AH,4CH
INT 21H
CSEG ENDS
END START
大家看下,不知道我改的是否正确?
第二题我做了下,也请大看看有没有错误?
data segment
arg dw x,y,z
data ends
STACK SEGMENT
DB 50 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START PROC FAR
BEGIN:PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA BX,ARG
MOV AX,[BX]
CMP AX,[BX+2]
JB NEXT1
XCHG AX,[BX+2]
NEXT1:CMP AX,[BX+4]
JB NEXT2
XCHG AX,[BX+6]
NEXT2:MOV [MIN],AX
RET
START ENDP
CODE ENDS
END BEGIN
3 楼
ty1921 [专家分:0] 发布于 2008-06-06 17:02:00
是我马虎了,你改的是对的呵。
4 楼
shangwu1 [专家分:20] 发布于 2008-06-09 08:44:00
[url=http://www.web300.cn]官方网站:点击进入[/url]
提供多种网站程序:企业站/商城网店/学校/医院/行政/门户/房产/...什么样的都有!
专业网站建设,永久的技术支持,让您无后顾之忧!
我来回复