汇编语言中,若自BLOCK 开始的内存缓冲区中有100个带符号的数,希望找到其中的最大值,并放在MAX 单元中
汇编语言MOVBX,OFFSETBLOCK(OFFSET代表什么意思啊?)MOVAX,[BX](为什么不用BX而用[BX]啊?)INCBX(为什么用两个INC指令啊?)I...
汇编语言
MOV BX, OFFSET BLOCK (OFFSET代表什么意思啊?)
MOV AX,[BX](为什么不用BX而用[BX]啊?)
INC BX (为什么用两个INC指令啊?)
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX(为什么用两个INC指令啊?)
INC BX
DEC CX
JNE AGAIN
MOV MAX,AX
HLT(HLT什么意思啊?) 展开
MOV BX, OFFSET BLOCK (OFFSET代表什么意思啊?)
MOV AX,[BX](为什么不用BX而用[BX]啊?)
INC BX (为什么用两个INC指令啊?)
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX(为什么用两个INC指令啊?)
INC BX
DEC CX
JNE AGAIN
MOV MAX,AX
HLT(HLT什么意思啊?) 展开
展开全部
MOV BX, OFFSET BLOCK (OFFSET代表BLOCK所在的偏移地址)
MOV AX,[BX](BX是地址,而[BX]是地址中的值)
INC BX (为什么用两个INC指令啊?BLOCK定义的是字,1个字是两个字节)
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX(同上)
INC BX
DEC CX
JNE AGAIN
MOV MAX,AX
HLT(HLT什么意思啊?处理器暂停)
MOV AX,[BX](BX是地址,而[BX]是地址中的值)
INC BX (为什么用两个INC指令啊?BLOCK定义的是字,1个字是两个字节)
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX(同上)
INC BX
DEC CX
JNE AGAIN
MOV MAX,AX
HLT(HLT什么意思啊?处理器暂停)
展开全部
您真的才接触汇编。OFFSET代表求取偏移地址,[]表示间接寻址,INC BX 两次表示是字比较而不是字节比较,每字为两字节,占连续两个地址单元。HLT 档机
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MOV BX, OFFSET BLOCK
;OFFSET是个操作符,用于返回标量/标号的偏移地址
MOV AX,[BX]
;寄存器间接寻址
INC BX
;作者喜欢
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX
INC BX
;因为变量时字变量,占2个字节
DEC CX
JNE AGAIN
MOV MAX,AX
HLT
;处理器暂停
;///////////////////////////////////////////
;修改后
MOV SI, OFFSET BLOCK
LODSW
MOV CX, 99
AGAIN: CMP AX,[SI]
JGE NEXT
LODSW
NEXT: ADD SI,2
LOOP AGAIN
MOV MAX,AX
;OFFSET是个操作符,用于返回标量/标号的偏移地址
MOV AX,[BX]
;寄存器间接寻址
INC BX
;作者喜欢
INC BX
MOV CX, 99
AGAIN: CMP AX,[BX]
JG NEXT
MOV AX, [BX]
NEXT: INC BX
INC BX
;因为变量时字变量,占2个字节
DEC CX
JNE AGAIN
MOV MAX,AX
HLT
;处理器暂停
;///////////////////////////////////////////
;修改后
MOV SI, OFFSET BLOCK
LODSW
MOV CX, 99
AGAIN: CMP AX,[SI]
JGE NEXT
LODSW
NEXT: ADD SI,2
LOOP AGAIN
MOV MAX,AX
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询