标题:[求助]一个愚蠢的问题
只看楼主
kill444
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-9-6
 问题点数:0 回复次数:1 
[求助]一个愚蠢的问题
定义10个2位十进制无符号数(0-99),求出最大数和最小数,利用系统功能调用将此最大数和最小数如以下格式:
MAX: **
MIN :**
输出。
(用汇编语言写出程序)

程序如下:
data segment
max db ?
min db ?
block db 11h,22h,33h,44h,55h,66h,77h,88h,99h,54h
count equ $-block
data ends
code segment
assume ds:data, cs:code
start:mov ax,data
mov ds,ax
mov dx,offset block
mov al,[bx]
mov ah,[bx]
inc bx
mov cx,count-1
again:cmp al,[bx]
jae next1
mov al,[bx]
jmp next
next1:cmp ah,[bx]
jbe next
mov ah,[bx]
next: inc bx
dec cx
jnz again
mov max,al
mov min,ah
mov ah,02h
int 21h
mov ah,4ch
int 21h
ret
code ends
end start


哪位帮我运行一下,我怎么运行结果是一个不认识的符号???
如果有错误帮我改改,谢谢!!!!
搜索更多相关主题的帖子: 十进制 count start 
2006-05-31 15:05
xxygdufs
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-5-11
得分:0 

data segment
max db ?
min db ?
block db 1,2,3,4,5,6,7,8,9
count equ $-block
buf1 db 'max:$'
buf2 db 'min:$'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax

mov si,offset block
mov cx,count-1
mov al,[si] ;取第一个数为最大的数,后面的各数依次和它比较,大,则MAX替换为该数,小则MIN替换为该数
mov max,al
mov min,al

again:mov al,[si+1] ;从第二个数开始取起
cmp al,max
jae next1
cmp al,min
jbe next2
jmp next3
next1:mov max,al
jmp next3
next2:mov min,al
next3:inc si
loop again

mov dx,offset buf1
mov ah,09h
int 21h
mov dl,max
add dl,30h
mov ah,02h
int 21h
mov dx,offset buf2
mov ah,09h
int 21h
mov dl,min
add dl,30h
mov ah,02h
int 21h

mov ah,4ch
int 21h
code ends
end start


2006-06-03 22:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-68804-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.928151 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved