请哪位高手帮忙用汇编语言编写一段程序,求三个带符号字节数据中的最大值,并将该最大值存入MAX字单元中.
我怎么把最大值输出,最大值为个数时可以输出,但最大值大于10时怎么输出?
DATA\x05SEGMENT
N1\x05DB \x051,4,50
MAX\x05DB \x050
DATA \x05ENDS
STACK\x05SEGMENT STACK
\x05DB \x05200 \x05 DUP(0)
STACK\x05ENDS
CODE\x05SEGMENT
\x05ASSUME CS:CODE,DS:DATA,SS:STACK
START:\x05MOV\x05AX,DATA
\x05MOV\x05DS,AX
\x05MOV \x05BX,OFFSET N1
\x05MOV \x05AL,[BX]
\x05CMP \x05AL,[BX+1]
\x05JG \x05S1
\x05MOV \x05AL,[BX+1]
S1:\x05CMP \x05AL,[BX+2]
\x05JG \x05S2
\x05MOV \x05AL,[BX+2]
S2:\x05MOV\x05MAX,AL
\x05MOV\x05DL,MAX
\x05ADD\x05DL,30H
\x05MOV\x05AH,2
\x05INT\x0521H
\x05MOV\x05AH,4CH
\x05INT\x0521H
CODE\x05ENDS
\x05END\x05START
请你把这个程序修改一下
人气:147 ℃ 时间:2019-09-22 07:28:12
解答
n1 db 1,99,-2
max db 0
.
.
mov bx,offset n1
mov al,[bx]
cmp al,[bx+1]
jg s1
mov al,[bx+1]
s1:
cmp al,[bx+2]
jg s2
mov al,[bx+2]
s2:
mov max,al谢谢,怎么把最大值在命令窗口输出。要实现输出比较麻烦:1、因为是带符号数,所以必须先判断正负,即高位是否为1,为1是负数(需求补码),否则为正。2、将该数除以100确定百位数字,余数再除以10确定十位数字,除以10后的余数为个位数字。3、将百位、十位及个位数字转换成ASCII码(即分别加上30H)4、分别将转换成ASCII码后的百位、十位及个位数字放入DX寄存器,用DOS的2号功能调用实现显示。说的很详细了,你应该可以自己看懂以下代码了。。。DATA SEGMENTN1 DB-1,-4,-50MAX DB0DATAENDSSTACK SEGMENT STACK DB 200 DUP(0)STACK ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOVBX,OFFSET N1 MOVAL,[BX] CMPAL,[BX+1] JGS1 MOVAL,[BX+1]S1: CMPAL,[BX+2] JGS2 MOVAL,[BX+2]S2: MOV MAX,ALtest al,80hjz zzzneg almov dl,'-'push axmov ah,2int 21hpop axzzz:mov ah,0mov dl,100div dlpush axmov ah,2mov dl,aladd dl,30hint 21hpop axmov al,ahmov ah,0mov dl,10div dladd ax,3030hpush axmov ah,2mov dl,alint 21hpop axmov dl,ahmov ah,2int 21h MOV AH,4CH INT 21HCODE ENDS END START
推荐
- 用汇编语言设计一个程序,求10个无符号数中的最大值.并将最大值存入变量MAX中
- 若符号max{x1,x2}表示x1与x2的最大值,则函数F(x)=max{x^2+2x-1,x+1}的最小值是_;递增区间是_.
- 设计一个程序,求10个无符号数中最大值,并将最大值存入变量MAX中
- 最大值的符号是max 最小值是神马
- 1.设计一个程序,求10个无符号书中的最大值.并将最大值存入变量MAX中.
- 1.有一只玻璃瓶,它的质量为0.1kg,当瓶内装满水时,瓶和水的总质量为0.4kg,用此瓶装金属颗粒若干,瓶和金属颗粒的总质量为0.8kg,若在装金属颗粒的瓶中再装满水时,瓶.金属颗粒和水的总质量为0.9kg,求金属颗粒的质量和密度.
- 一道深刻而困难的应用题
- 意思是什么也没想 什么也没考虑的成语
猜你喜欢
- 已知关于x的方程(x-m)/2=x+m/3与(2x+1)/3=3x-2的解互为倒数,求m的值
- 太阳为什么可以发出强烈的光
- make sure of sth.怎么翻译
- “有什么作用”和写作方法有什么区别
- 如果a大于0,b小于0,那么ab( )0 b分之a( )0 若a小于0,b小于0,则ab( )0?b分之a( )0
- 效应T细胞分泌的抗体是怎样进入发炎部位的
- 已知△ADE∽△DEF,诺△ABC的三边长分别为5cm,6cm,7cm,而△DEF中的一边长为4cm,你能求出△DEF的另外两边的
- 订书机是不省力也不费力的杠杆吗