双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

一个小小的汇编程序,烦请各位高手小看一下帮忙解决解决啊(急用)

sunlixin723 sunlixin723 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我们刚学汇编,所以一些指令啊,格式啊都还不太会用,问老师他还不怎么愿意告诉我,所以还烦请大家帮帮忙啊!
下面的程序就是在BUFFER中找到最小的那个数,然后输出,我汇编了一下,没错,可就是运行不了,那个黑框框一蹦出来就有回去了,这是怎么回事呢?呵呵
这是别人编的,我也找不出来有什么错误,只是看出点儿小问题
;****************************************************
DATA SEGMENT
BUFFER DB 2,4,6,1,8 ;这几个数是不是输不出来呀?
COUNT EQU $-BUFFER ;BUFFER 前不加OFFSET行不行呀,意思会变吗?
MAX DW ? ;这句是不是不需要啊?
DATA ENDS
:**************************************************
STACK SEGMENT PARA STACK 'STACK' ;这个段是不是不需要啊?
DB 64 DUP(?)
TOP EQU $-STACK
STACK ENDS
;***************************************************
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,SS:STACK,DS:DATA
START:PUSH DS
MOV AX,0 ;与SUB AX,AX 有什么区别吗?
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,TOP ;这两句有必要吗?
MOV SP,AX
MOV CX,COUNT
LEA BX,BUFFER ;这个对吗,是不是应该换成MOV BX,0
MOV Al,BUFFER[BX]
INC BX
DEC CX
AGAIN:
CMP Al,BUFFER[BX]
JNGE NEXT
MOV Al,BUFFER[BX]
NEXT:
INC BX
DEC CX
JNZ AGAIN

MOV AH,2
MOV DL,AL
INT 21H
mov ax, 4c00h ;有RET这两句是不是就不用了呀?
int 21h
RET
MAIN ENDP
CODE ENDS
;*************************************************
END START


...全文
评论 13
收藏 已收藏
分享
返回顶部
sunlixin723
汇编语言 21,500 成员 41,619 内容