當前位置:編程學習大全網 - 編程語言 - 匯編語言程序設計:從鍵盤輸入10個2位有符號十進數,求其中最大數和最小數,並顯示。

匯編語言程序設計:從鍵盤輸入10個2位有符號十進數,求其中最大數和最小數,並顯示。

TITLE MAX & MIN

DATA SEGMENT

X1 DB ?,'$'

X2 DB ?,'$'

X3 DB ?,'$'

X4 DB ?,'$'

X5 DB ?,'$'

X6 DB ?,'$'

X7 DB ?,'$'

X8 DB ?,'$'

X9 DB ?,'$'

X10 DB ?,'$'

RESULT DB 4 DUP('$')

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

BEGIN: MOV AX,DATA

MOV DS,AX

MOV ES,AX

CALL READNUM ;讀入十個數,B並轉成二進制數

;輸入數據以‘,’隔開且最後以','結束

LEA DI,RESULT

CALL MAX ;求最大值

CALL MIN ;求最小值

LEA DX,RESULT

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV AH,4CH

INT 21H

READNUM PROC

PUSH AX

PUSH CX

PUSH BX

PUSH DX

LEA BX,X1

CALL INPUT

LEA BX,X2

CALL INPUT

LEA BX,X3

CALL INPUT

LEA BX,X4

CALL INPUT

LEA BX,X5

CALL INPUT

LEA BX,X6

CALL INPUT

LEA BX,X7

CALL INPUT

LEA BX,X8

CALL INPUT

LEA BX,X9

CALL INPUT

LEA BX,X10

CALL INPUT

POP DX

POP BX

POP CX

POP AX

RET

READNUM ENDP

INPUT PROC

MOV AH,1

INT 21H

AND AL,0FH

MOV DL,AL

MOV AH,1

INT 21H

CMP AL,'/'

JNC PLO1

MOV [BX],DL

JMP HTT

PLO1: AND AL,0FH

MOV [BX],AL

MOV AL,DL

MOV CL,10

MUL CL

ADD AL,[BX]

MOV [BX],AL

MOV AH,1

INT 21H

HTT: RET

INPUT ENDP

MAX PROC

PUSH AX

PUSH CX

PUSH BX

PUSH DX

LEA BX,X1

MOV AL,[BX]

LEA BX,X2

CALL MAXNUM

LEA BX,X3

CALL MAXNUM

LEA BX,X4

CALL MAXNUM

LEA BX,X5

CALL MAXNUM

LEA BX,X6

CALL MAXNUM

LEA BX,X7

CALL MAXNUM

LEA BX,X8

CALL MAXNUM

LEA BX,X9

CALL MAXNUM

LEA BX,X10

CALL MAXNUM

CMP AL,10

JNC PLO3

ADD AL,30H

MOV [DI],AL

INC DI

JMP HTL

PLO3: CALL BTOBCD

HTL: POP DX

POP BX

POP CX

POP AX

RET

MAX ENDP

MAXNUM PROC

CMP AL,[BX]

JC PLO2

JMP HLL

PLO2: MOV AL,[BX]

HLL: RET

MAXNUM ENDP

BTOBCD PROC

PUSH DX

MOV DL,0

AGAIN: SUB AL,0AH

JS NEXT

INC DL

JMP AGAIN

NEXT: ADD AL,0AH

ADD DL,30H

MOV [DI],DL

INC DI

ADD AL,30H

MOV [DI],AL

INC DI

POP DX

RET

BTOBCD ENDP

MIN PROC

PUSH AX

PUSH CX

PUSH BX

PUSH DX

LEA BX,X1

MOV AL,[BX]

LEA BX,X2

CALL MINNUM

LEA BX,X3

CALL MINNUM

LEA BX,X4

CALL MINNUM

LEA BX,X5

CALL MINNUM

LEA BX,X6

CALL MINNUM

LEA BX,X7

CALL MINNUM

LEA BX,X8

CALL MINNUM

LEA BX,X9

CALL MINNUM

LEA BX,X10

CALL MINNUM

CMP AL,10

JNC PLO5

ADD AL,30H

MOV [DI],AL

INC DI

JMP HHL

PLO5: CALL BTOBCD

HHL: POP DX

POP BX

POP CX

POP AX

RET

MIN ENDP

MINNUM PROC

CMP AL,[BX]

JNC PLO4

JMP HHT

PLO4: MOV AL,[BX]

HHT: RET

MINNUM ENDP

CODE ENDS

END BEGIN

  • 上一篇:程序員用什麽系統?
  • 下一篇:微信跳壹跳小遊戲無法進入 跳壹跳遊戲怎麽退出問題解答
  • copyright 2024編程學習大全網