[問題] 組合語言的小問題
最近剛學組合語言
所以有些地方還不太會
老師最近出了一個小作業
我已經將程式碼寫好了
但是我覺得我這樣好像在投機取巧
不知道行不行
題目是這樣的:
輸入十六進位的A~F這幾個字母
然後把它轉換成十進位
輸出的結果要類似下面:
ENTER A HEX DIGIT:C
IN DECIMAL IT IS:12
然後我的程式碼如下:
.MODEL SMALL
.STACK 100H
.DATA
CR EQU 0DH
LF EQU 0AH
MSG1 DB 'ENTER A HEX DIGIT:$'
MSG2 DB 'IN DECIMAL IT IS:1'
CHAR DB ?,'$'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
;DISPLAY PROMPT
LEA DX,MSG1
MOV AH,9
INT 21H
;ENTER A CHARACTER
MOV AH,1
INT 21H
;CONVERT TO NUMBER
SUB AL,11H
;DISPLAY MESSAGE AND RESULT
LEA DX,MSG2
MOV AH,9
INT 21H
;RETURN TO DOS
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
我這樣只是把A->0而以
然後自己偷補一個1
這樣好像有點偷雞摸狗= =
有辦法可以直接A->10的寫法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.138.118
ASM 近期熱門文章
PTT數位生活區 即時熱門文章