求助汇编语言高手请进...帮我编个程..

2025-02-23 16:39:22
推荐回答(3个)
回答1:

我先前回答过这个问题,是按.COM格式写的(相应的EXE程序需用EXE2BIN转换成COM格式后才能运行),现在给出.EXE格式程序:


DATAS SEGMENT


ADR DW 3257H,5891H,0B24H 


FLAG DB ?

DATAS ENDS


CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS

START:

    MOV AX,DATAS

    MOV DS,AX    

    

MOV CX,3


MOV AL,0


MOV BX,OFFSET ADR


NEXT:


MOV DX,[BX]


ROR DX,1


JC L1 ;奇数


INC AL ;偶数


L1:


ADD BX,2


LOOP NEXT


CMP AL,3


JE ALL_0


CMP AL,0


JE ALL_1


MOV AL,0FFh ;有偶有奇


JMP EXIT


ALL_0: ;全偶


MOV AL,1


JMP EXIT


ALL_1: ;全奇


MOV AL,0


EXIT:


MOV FLAG,AL

mov ah,4ch


int 21h


CODES ENDS

    END START

 

回答2:

.com文件格式

code segment

main proc far

assume cs:code,ds:code

org 100h

start:

MOV CX,3

MOV AL,0

MOV BX,OFFSET ADR

NEXT:

MOV DX,[BX]

ROR DX,1

JC L1 ;奇数

INC AL ;偶数

L1:

ADD BX,2

LOOP NEXT

CMP AL,3

JE ALL_0

CMP AL,0

JE ALL_1

MOV AL,0FFh ;有偶有奇

JMP EXIT

ALL_0: ;全偶

MOV AL,1

JMP EXIT

ALL_1: ;全奇

MOV AL,0

EXIT:

MOV FLAG,AL

int 20h

ADR DW 3257H,5891H,0B24H

FLAG DB ?

main endp

code ends

end start

回答3:

实现题目要求的功能,程序如下: