汇编很简单的问题
求无符号字节序列的最大值和最小值设字节序列的首地址为00003000H序列共8个字节长要求用子程序(名为MYSUB1)实现其入口参数为DSSI=字节序列的首地址CX=长度...
求无符号字节 序列的最大值和最小值 设字节序列的首地址为0000 3000H
序列共8个字节长 要求用子程序(名为MYSUB1)实现 其入口参数为 DS SI=字节序列的首地址 CX=长度
出口参数 DF最大值 DL=最小值
设计思路 先保存入口参数 初始DH和DL等于序列中的一个值 然后用FOR循环结构依次将序列中的每个值分别与DH和DL比较 最后恢复入口参数
程序框架如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,0000H
MOV DS,AX
MOV SI,3000H
MOV CX,0008H
CALL MYSUB1
INT 20H
MYSUB1 PROC
.
.
.
.
.
.
.
MYSUB1 ENDP
CODE ENDS
END START
请问:那中间的子程序该如何编写
不好意思按错了 应该是出口参数 DH=最大值 DL=最小值 展开
序列共8个字节长 要求用子程序(名为MYSUB1)实现 其入口参数为 DS SI=字节序列的首地址 CX=长度
出口参数 DF最大值 DL=最小值
设计思路 先保存入口参数 初始DH和DL等于序列中的一个值 然后用FOR循环结构依次将序列中的每个值分别与DH和DL比较 最后恢复入口参数
程序框架如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,0000H
MOV DS,AX
MOV SI,3000H
MOV CX,0008H
CALL MYSUB1
INT 20H
MYSUB1 PROC
.
.
.
.
.
.
.
MYSUB1 ENDP
CODE ENDS
END START
请问:那中间的子程序该如何编写
不好意思按错了 应该是出口参数 DH=最大值 DL=最小值 展开
展开全部
我靠..
咋这么像我们学校的实验呢 ?
呵呵
中间的代码...
MYSUB1 PROC NEAR
(PUSH DS) 这个和后面的POP可以不要,不要是一样的正确。
MOV DH,[SI]
MOV DL,[SI]
DEC CX
INC SI
A1: CMP DH,[SI]
JB A2
CMP DL,[SI]
JNB A3
(INC SI
LOOP A1
JMP A4) 这个括号的也可以不要,但是严谨点就写起嘛!
A2: MOV DH,[SI]
INC SI
LOOP A1
JMP A4
A3: MOV DL,[SI]
INC SI
LOOP A1
JMP A4
A4: (POP DS)
RET
OK 完了。这个应该对的了。我在实验室运行了的. 呵呵
兄弟..记得给我分哦!! 呵呵
咋这么像我们学校的实验呢 ?
呵呵
中间的代码...
MYSUB1 PROC NEAR
(PUSH DS) 这个和后面的POP可以不要,不要是一样的正确。
MOV DH,[SI]
MOV DL,[SI]
DEC CX
INC SI
A1: CMP DH,[SI]
JB A2
CMP DL,[SI]
JNB A3
(INC SI
LOOP A1
JMP A4) 这个括号的也可以不要,但是严谨点就写起嘛!
A2: MOV DH,[SI]
INC SI
LOOP A1
JMP A4
A3: MOV DL,[SI]
INC SI
LOOP A1
JMP A4
A4: (POP DS)
RET
OK 完了。这个应该对的了。我在实验室运行了的. 呵呵
兄弟..记得给我分哦!! 呵呵
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询