當前位置:編程學習大全網 - 編程語言 - 求匯編語言編程

求匯編語言編程

;================================

ASSUME CS: C, DS: D

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

D SEGMENT

MSG1 DB 10, 13, 'Please input a num: $'

MSG2 DB 10, 13, 'Zheng Sum = $'

MSG3 DB 10, 13, ' FU Num = $'

FU DB 0

ZH DB 0

D ENDS

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

C SEGMENT ;代碼段

START:

MOV AX, D

MOV DS, AX

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

MOV CX, 10

IN_X:

LEA DX, MSG1

MOV AH, 9 ;顯示字符串

INT 21H

MOV AH, 7 ;輸入單個字符

INT 21H

CMP AL, '-'

JE IN_F ;負數

CMP AL, '0'

JB IN_X ;小於'0',不是數字

CMP AL, '9'

JA IN_X

MOV DL, AL

MOV AH, 2 ;顯示

INT 21H

MOV AL, DL

SUB AL, '0' ;還原為數字

ADD ZH, AL ;求和

JMP IN_E

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

IN_F:

MOV DL, AL

MOV AH, 2 ;顯示

INT 21H

MOV AH, 7 ;輸入單個字符.

INT 21H

CMP AL, '0'

JB IN_X ;小於'0',不是數字.

CMP AL, '9'

JA IN_X

MOV DL, AL

MOV AH, 2 ;顯示

INT 21H

INC BYTE PTR FU ;個數加壹

IN_E:

LOOP IN_X

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

LEA DX, MSG2

MOV AH, 9 ;顯示字符串

INT 21H

MOV AL, ZH

MOV AH, 0

CALL DISP

LEA DX, MSG3

MOV AH, 9 ;顯示字符串

INT 21H

MOV AL, FU

MOV AH, 0

CALL DISP

MOV AH, 4CH ;到此結束

INT 21H

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

DISP:

MOV BX, 10

MOV CX, 0

D_1:MOV DX, 0

DIV BX

ADD DL, '0'

PUSH DX

INC CX

CMP AX, 0

JNE D_1

MOV AH, 2

D_2:POP DX

INT 21H

LOOP D_2

RET

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

C ENDS

END START

;================================

程序執行後,顯示如下:

c:\masm510>M2

Please input a num: 2

Please input a num: 5

Please input a num: -5

Please input a num: -8

Please input a num: 6

Please input a num: 9

Please input a num: 4

Please input a num: 6

Please input a num: 0

Please input a num: 2

Zheng Sum = 34

FU Num = 2

;================================

  • 上一篇:壹個故事,前世今生
  • 下一篇:Labview是幹什麽的…能做些什麽用說具體點…謝了
  • copyright 2024編程學習大全網