當前位置:編程學習大全網 - 編程語言 - 用8086匯編語言編寫程序,接受從鍵盤上輸入的壹個兩位十進制數字,這個數經過BCD碼處理,以十六進制顯示出

用8086匯編語言編寫程序,接受從鍵盤上輸入的壹個兩位十進制數字,這個數經過BCD碼處理,以十六進制顯示出

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

DISP_STR MACRO X ;宏定義.

MOV DX, OFFSET X

MOV AH, 9

INT 21H

ENDM

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

DATA SEGMENT ;數據段.

MSG1 DB 13, 10, 'Please Input : $'

MSG3 DB 13, 10, 'The HEX is : $'

x DW ? ;存放新輸入數據.

DATA ENDS

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

CODE SEGMENT ;代碼段.

ASSUME CS: CODE, DS: DATA

START:

MOV AX, DATA

MOV DS, AX

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

IN_LOOP:

DISP_STR MSG1 ;宏調用,提示 Please Input :

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

MOV x, 0 ;數據清零.

_INX:

MOV AH, 1 ;輸入字符.

INT 21H

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

CMP AL, 13 ;回車?

JE _IN_END ;是則結束輸入.

CMP AL, '0'

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

CMP AL, '9'

JA IN_LOOP ;大於'9',不是數字.

SUB AL, '0'

MOV CL, AL

MOV CH, 0

MOV AX, x

MOV BX, 10 ;老數據乘以10

MUL BX

ADD AX, CX ;加上新數據.

MOV x, AX ;保存.

CMP AX, 99

JA IN_LOOP

JMP _INX

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

_IN_END:

DISP_STR MSG3 ;宏調用,提示 The HEX is :

MOV AX, x

MOV BX, 16

MOV CX, 0

D_1:MOV DX, 0

DIV BX

ADD DL, '0'

CMP DL, 3AH

JB ZZZ

ADD DL, 7

ZZZ:

PUSH DX

INC CX

CMP AX, 0

JNE D_1

MOV AH, 2

D_2:POP DX

INT 21H

LOOP D_2

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

MOV AH, 4CH

INT 21H

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

CODE ENDS

END START

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

  • 上一篇:什麽是內聯函數
  • 下一篇:北大青鳥設計培訓:軟件開發專業需要學習哪些知識?
  • copyright 2024編程學習大全網