[彙編]碼制轉換/大小寫字母轉換

問題描述:

設將要處理的十個十進制數ASCII碼存放在偏移地址爲2000H開始的內存單元中,把它轉換爲BCD碼後,再分別放在偏移地址爲2500H開始的內存單元中:
分析:

1一字節的ASCII碼取其第四位變成BCD碼

2十個數據,可用循環,且循環次數已知,用LOOP語句

START :

MOV CX,000AH;循環10次

MOV SI,2000H  ;ASCII碼首地址

MOV DI,2500H ;BCD碼首地址

A1:

MOV AL,[SI] ;第一個數地址放到SI傳送給AL

CMP AL,3AH ;凡是大於等於3AH直接跳出,說明不是十進制數

JNB   A2         ;不低於3AH跳轉A2

SUB AL,30H ;減去高四位的值 ASCII   ->     BCD

A2:

MOV [DI],AL      ;結果存入目標地址

INC SI

INC DI

LOOP A1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章