80x86組合語言:輸入數字,輸出對應月份的英文
;從鍵盤輸入1,2,3,4,5,6.....12,輸出相對應的月份的英文,
;eg,輸入5,則輸出may。
;不想輸入就輸入e或者E,結束程式。
;要求:輸入前有提示語。
;若輸入的是大於12或者小於0或者是字母,則顯示輸入錯誤。
;做而論道編寫的程式如下:
ASSUME CS:CODE, DS:DATA
;---------------------------------
DATA SEGMENT ;資料段
STRING01 DB 13, 10, 'January $'
CHANG EQU $ - STRING01
STRING02 DB 13, 10, 'February $'
STRING03 DB 13, 10, 'March $'
STRING04 DB 13, 10, 'April $'
STRING05 DB 13, 10, 'May $'
STRING06 DB 13, 10, 'June $'
STRING07 DB 13, 10, 'July $'
STRING08 DB 13, 10, 'August $'
STRING09 DB 13, 10, 'September $'
STRING10 DB 13, 10, 'October $'
STRING11 DB 13, 10, 'November $'
STRING12 DB 13, 10, 'December $'
MSG1 DB 13, 10, 'Input num (1~12, Others EXIT): $'
X DB ?
TEMP DB ?
DATA ENDS
;---------------------------------
CODE SEGMENT ;程式碼段
START:
MOV AX, DATA
MOV DS, AX
;--------------------------------
IN_LOOP:
LEA DX, MSG1
MOV AH, 9
INT 21H
MOV X, 0 ;資料清零.
MOV CX, 2 ;輸入2位
_INX:
MOV AH, 1 ;輸入單個字元.
INT 21H
;--------------------------------
CMP AL, 13
JE EXIT_IN
CMP AL, '0'
JB _IN_ERR ;小於'0',不是數字.
CMP AL, '9'
JA _IN_ERR
SUB AL, '0' ;還原為數字
MOV TEMP, AL ;暫存
MOV AL, x
MOV BL, 10 ;老資料乘以10
MUL BL
ADD AL, TEMP ;加上新資料.
MOV x, AL ;儲存.
LOOP _INX ;繼續輸入.
JMP EXIT_IN
;--------------------------------
_IN_ERR:
MOV DL, 8
MOV AH, 2
INT 21H
MOV DL, ' '
INT 21H
MOV DL, 8
INT 21H
JMP _INX
;--------------------------------
EXIT_IN:
MOV AL, x ;
CMP AL, 0
JE EXIT
CMP AL, 12
JA EXIT
DEC AL
LEA DX, STRING01
MOV BL, CHANG
MUL BL
ADD DX, AX
MOV AH, 9
INT 21H
JMP IN_LOOP ;迴圈
EXIT:
MOV AH, 4CH ;結束程式
INT 21H
CODE ENDS
END START
;---------------------------------
執行後,顯示如下:
C:\MASM>M1
Input num (1~12, Others EXIT): 4
April
Input num (1~12, Others EXIT): 3
March
Input num (1~12, Others EXIT): 12
December
Input num (1~12, Others EXIT):
C:\MASM>
題目連結:http://zhidao.baidu.com/question/552883660
提問者評價:謝謝幫忙。
相關文章
- 輸入一個3,輸出March,輸入一個數字月份,然後對應輸出相應的英文表示,用指標陣列完成指標陣列
- C語言輸入一個數輸出對應的值C語言
- 實現輸入月份號輸出該月份的英文名
- Python程式設計基礎題(7-輸入星期數字,輸出對應英文)Python程式設計
- 組合語言學習記錄--輸入輸出字串組合語言字串
- C語言輸入輸出C語言
- 編寫一程式,輸入月份號,輸出該月的英文月名。
- 限制HTML的input只能輸入數字、英文、漢字...HTML
- UITextField只允許輸入中,英文,數字UI
- Solidity語言學習筆記————24、輸入輸出引數Solid筆記
- 切換輸入法預設語言為英文
- 5,輸入與輸出(perl語言筆記)筆記
- C語言輸出多位小數C語言
- 輸入一個ASCII碼,輸出對應的字元ASCII字元
- input 輸入框只能輸入數字
- C語言之輸入輸出C語言
- 入門輸出Hello World!——C語言C語言
- Ubuntu下鍵盤輸入錯亂問題,輸入雙引號輸出的是@符號,輸入#號輸出的是未知語言的字元...Ubuntu符號字元
- Python 英文的月份轉數字及數字轉英文Python
- C語言資料型別、變數的輸入和輸出、進位制轉換C語言資料型別變數
- 英文月份和數字月份轉換
- C語言:計算輸入字元的個數C語言字元
- C語言計算輸入字元的個數C語言字元
- python ----輸入輸出 變數Python變數
- 1.變數and輸入輸出變數
- IO流的位元組輸入輸出流(InputStream,OutputStream)
- c語言:輸入任意10個正整數,按照升序排序輸出:(冒泡演算法)C語言排序演算法
- 輸入和輸出基礎語法
- 實驗1_C語言輸入輸出和簡單程式應用程式設計C語言程式設計
- Vue只能輸入數字Vue
- 第10章 對檔案的輸入輸出
- Go 語言控制檯輸入&生成隨機數Go隨機
- 實驗1 C語言輸入輸出和簡單程式編寫C語言
- C語言的本質(24)——C標準庫之輸入與輸出(下)C語言
- C++輸入十進位制數,輸出對應二進位制數、十六進位制數C++
- 輸入輸出
- c 語言輸出1000以內的逆序數
- 第一章:位運算-------輸入浮點數,輸出對應二進位制數