回 帖 发 新 帖 刷新版面

主题:菜鸟求两个汇编程序!考试用,谢谢!

80X86汇编程序

1、在数据段的ARRAY缓冲区里,存放有一50个字节型的数据数组,其值都是两位的正整数,变成把他们之中最大的数找出来,并在显示器上显示

2、在存储器ARRAY缓冲区中存放着60个字节型数据数组,编程实现将他们分别加3,之后再放回原处,不考虑数据溢出

因为考试要用,故请大家帮忙。谢谢!

回复列表 (共1个回复)

沙发

;参考,这个程序是求最小偶数的,结果存到AX中
dataseg segment
    DATA dw 5 DUP(32,3,53,4,3,43,65,-6,64,2,3,54,3,434,5,54,6,7,876,1)
    flag    db    0
dataseg ends

prognam segment
main proc far
    assume    cs:prognam,ds:dataseg
start:
    push ds
    mov ax,0
    push ax
    mov ax,dataseg
    mov ds,ax
    lea si,DATA
    mov cx,100
    mov ax,0

Next:
    mov dx,[si]
    test dx,01h
    jz IsEven
    jmp LoopNext
IsEven:
    test flag,01h
    jz SetFlag
    cmp ax,dx
    jg MoveToAX
    jmp LoopNext
SetFlag:
    mov flag,1
    jmp MoveToAX
MoveToAX:
    mov ax,dx
    jmp LoopNext
loopNext:
    add si,2
    loop Next

exit:
    ret

main    endp
prognam    ends
end    start

我来回复

您尚未登录,请登录后再回复。点此登录或注册