1. 程式人生 > >80x86彙編:怎麼反向輸出一個整數(如2347,輸出7432)

80x86彙編:怎麼反向輸出一個整數(如2347,輸出7432)

彙編 怎麼反向輸出一個整數(如2347,輸出7432)

1 小時前 提問者採納

先輸入的,後輸出即可。

;---------------------------

ASSUME  CS:CC, DS:QW

;---------------------------

QW  SEGMENT

    M1  DB  13, 10, 'Please  input  n : $'

    M4  DB  13, 10, 'Press any key to continue ... $'

    CR_LF   DB  13, 10, 36

QW  ENDS

;---------------------------

CC  SEGMENT

START:

    MOV   AX, QW

    MOV   DS, AX

;

    LEA   DX, M1    ;顯示 input

    MOV   AH, 9

    INT   21H

    MOV   BX, 0

    MOV   CX, 10

IN_LOP:

    MOV   AH, 1

    INT   21H

    CMP   AL, 0DH   ;是回車嗎

    JZ    IN_END

    PUSH  AX        ;壓棧

    INC   BX        ;個數加一

    LOOP  IN_LOP

IN_END:

    LEA   DX, CR_LF ;回車、換行

    MOV   AH, 9

    INT   21H

    MOV   AH, 2

    MOV   CX, BX    ;壓棧個數

OUT_LOP:

    POP   DX        ;彈出

    INT   21H       ;顯示

    LOOP  OUT_LOP

EXIT:

    LEA   DX, M4    ;顯示 Press any key

    MOV   AH, 9

    INT   21H

    MOV   AH, 7

    INT   21H

    MOV   AH, 4CH

    INT   21H       ;返回DOS

;---------------------------

CC  ENDS

    END  START

;---------------------------

提問者評價:太謝謝了